-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProject.json.autosave
1 lines (1 loc) · 725 KB
/
Project.json.autosave
1
{"firstLayout":"Main Menu","gdVersion":{"build":99,"major":4,"minor":0,"revision":0},"properties":{"adaptGameResolutionAtRuntime":true,"antialiasingMode":"MSAA","antialisingEnabledOnMobile":false,"folderProject":false,"orientation":"landscape","packageName":"com.example.gamename","pixelsRounding":false,"projectUuid":"bd0b723c-64e7-4b0c-ba0b-efa8abf4850f","scaleMode":"linear","sizeOnStartupMode":"","templateSlug":"","useExternalSourceFiles":false,"version":"1.0.0","name":"Sketchy Crown Hunt","description":"","author":"ChamHC","windowWidth":1920,"windowHeight":1080,"latestCompilationDirectory":"C:\\Users\\User\\Desktop\\Games\\Sketchy Crown Hunt","maxFPS":60,"minFPS":20,"verticalSync":false,"platformSpecificAssets":{"android-icon-144":"android-icon-144.png","android-icon-192":"android-icon-192.png","android-icon-36":"android-icon-36.png","android-icon-48":"android-icon-48.png","android-icon-72":"android-icon-72.png","android-icon-96":"android-icon-96.png","android-windowSplashScreenAnimatedIcon":"android-windowSplashScreenAnimatedIcon.png","desktop-icon-512":"desktop-icon-512.png","ios-icon-100":"ios-icon-100.png","ios-icon-1024":"ios-icon-1024.png","ios-icon-114":"ios-icon-114.png","ios-icon-120":"ios-icon-120.png","ios-icon-144":"ios-icon-144.png","ios-icon-152":"ios-icon-152.png","ios-icon-167":"ios-icon-167.png","ios-icon-180":"ios-icon-180.png","ios-icon-20":"ios-icon-20.png","ios-icon-29":"ios-icon-29.png","ios-icon-40":"ios-icon-40.png","ios-icon-50":"ios-icon-50.png","ios-icon-57":"ios-icon-57.png","ios-icon-58":"ios-icon-58.png","ios-icon-60":"ios-icon-60.png","ios-icon-72":"ios-icon-72.png","ios-icon-76":"ios-icon-76.png","ios-icon-80":"ios-icon-80.png","ios-icon-87":"ios-icon-87.png","liluo-thumbnail":"Screenshot 2023-07-2341520.png"},"loadingScreen":{"backgroundColor":0,"backgroundFadeInDuration":0.2,"backgroundImageResourceName":"","gdevelopLogoStyle":"light","logoAndProgressFadeInDuration":0.2,"logoAndProgressLogoFadeInDelay":0.2,"minDuration":1.5,"progressBarColor":16777215,"progressBarHeight":20.0,"progressBarMaxWidth":200.0,"progressBarMinWidth":40.0,"progressBarWidthPercent":30.0,"showGDevelopSplash":true,"showProgressBar":true},"watermark":{"placement":"bottom-left","showWatermark":true},"authorIds":["x8pp3Y7aLefdG6Dzj2Fag85ExKp1"],"authorUsernames":["ChamHC"],"categories":[],"playableDevices":[],"extensionProperties":[],"platforms":[{"name":"GDevelop JS platform"}],"currentPlatform":"GDevelop JS platform"},"resources":{"resources":[{"alwaysLoaded":false,"file":"Assets/Floor/floor_path.png","kind":"image","metadata":"","name":"Assets\\Floor\\floor_path.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Player/green_character.png","kind":"image","metadata":"","name":"Assets\\Player\\green_character.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Floor/floor_path_curve.png","kind":"image","metadata":"","name":"Assets\\Floor\\floor_path_curve.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"Assets/Floor/floor_path_crossing.png","kind":"image","metadata":"","name":"Assets\\Floor\\floor_path_crossing.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Floor/grass.png","kind":"image","metadata":"","name":"Assets\\Floor\\grass.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"Assets/Floor/floor_wall.png","kind":"image","metadata":"","name":"Assets\\Floor\\floor_wall.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Floor/floor_wall_corner.png","kind":"image","metadata":"","name":"Assets\\Floor\\floor_wall_corner.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Floor/floor_door_closed.png","kind":"image","metadata":"","name":"Assets\\Floor\\floor_door_closed.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Floor/floor_door_open.png","kind":"image","metadata":"","name":"Assets\\Floor\\floor_door_open.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Floor/tiles.png","kind":"image","metadata":"","name":"Assets\\Floor\\tiles.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"Assets/Floor/floor_crate_small.png","kind":"image","metadata":"","name":"Assets\\Floor\\floor_crate_small.png","smoothed":true,"userAdded":false},{"disablePreload":false,"file":"Assets/TiledMap/Level1.json","kind":"tilemap","metadata":"","name":"Assets\\TiledMap\\Level1.json","userAdded":true},{"alwaysLoaded":false,"file":"Assets/TiledMap/tilesheet.png","kind":"image","metadata":"","name":"Assets\\TiledMap\\tilesheet.png","smoothed":true,"userAdded":true},{"disablePreload":false,"file":"Assets/TiledMap/Level1.tmj","kind":"tilemap","metadata":"","name":"Assets\\TiledMap\\Level1.tmj","userAdded":true},{"alwaysLoaded":false,"file":"assets/New image.png","kind":"image","metadata":"{\"extension\":\".png\",\"pskl\":{}}","name":"New image","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Indicator.png","kind":"image","metadata":"","name":"Assets\\Indicator.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Player/green_hand.png","kind":"image","metadata":"","name":"Assets\\Player\\green_hand.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Player/purple_character.png","kind":"image","metadata":"","name":"Assets\\Player\\purple_character.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Player/red_character.png","kind":"image","metadata":"","name":"Assets\\Player\\red_character.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Player/yellow_character.png","kind":"image","metadata":"","name":"Assets\\Player\\yellow_character.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Player/purple_hand.png","kind":"image","metadata":"","name":"Assets\\Player\\purple_hand.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Player/red_hand.png","kind":"image","metadata":"","name":"Assets\\Player\\red_hand.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Player/yellow_hand.png","kind":"image","metadata":"","name":"Assets\\Player\\yellow_hand.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/grey_panel.png","kind":"image","metadata":"","name":"Assets\\UI\\grey_panel.png","smoothed":true,"userAdded":true},{"file":"Assets/Fonts/Kenney Blocks.ttf","kind":"font","metadata":"","name":"Assets\\Fonts\\Kenney Blocks.ttf","userAdded":true},{"alwaysLoaded":false,"file":"Assets/Misc/crown_a.png","kind":"image","metadata":"","name":"Assets\\Misc\\crown_a.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Misc/dice_question.png","kind":"image","metadata":"","name":"Assets\\Misc\\dice_question.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Misc/timer_CW_75.png","kind":"image","metadata":"","name":"Assets\\Misc\\timer_CW_75.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Misc/flask_half.png","kind":"image","metadata":"","name":"Assets\\Misc\\flask_half.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Player/blue_character.png","kind":"image","metadata":"","name":"Assets\\Player\\blue_character.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Player/blue_hand.png","kind":"image","metadata":"","name":"Assets\\Player\\blue_hand.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/d6_outline.png","kind":"image","metadata":"","name":"Assets\\UI\\d6_outline.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/d3_outline.png","kind":"image","metadata":"","name":"Assets\\UI\\d3_outline.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/tile_0087.png","kind":"image","metadata":"","name":"Assets\\UI\\tile_0087.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/TiledMap/tilesheettest.png","kind":"image","metadata":"","name":"Assets\\TiledMap\\tilesheettest.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/TiledMap/Level1.png","kind":"image","metadata":"","name":"Assets\\TiledMap\\Level1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/timer_0.png","kind":"image","metadata":"","name":"Assets\\UI\\timer_0.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/timer_100.png","kind":"image","metadata":"","name":"Assets\\UI\\timer_100.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/timer_CW_25.png","kind":"image","metadata":"","name":"Assets\\UI\\timer_CW_25.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/timer_CW_50.png","kind":"image","metadata":"","name":"Assets\\UI\\timer_CW_50.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/timer_CW_75.png","kind":"image","metadata":"","name":"Assets\\UI\\timer_CW_75.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/grey_button00.png","kind":"image","metadata":"","name":"Assets\\UI\\grey_button00.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/tile_0082.png","kind":"image","metadata":"","name":"Assets\\UI\\tile_0082.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/TiledMap/Level2.png","kind":"image","metadata":"","name":"Assets\\TiledMap\\Level2.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/TiledMap/Level3.png","kind":"image","metadata":"","name":"Assets\\TiledMap\\Level3.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"Assets/UI/blue_button00.png","kind":"image","metadata":"","name":"Assets\\UI\\blue_button00.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/blue_button01.png","kind":"image","metadata":"","name":"Assets\\UI\\blue_button01.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/grey_button01.png","kind":"image","metadata":"","name":"Assets\\UI\\grey_button01.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/blue_button13.png","kind":"image","metadata":"","name":"Assets\\UI\\blue_button13.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/grey_sliderDown.png","kind":"image","metadata":"","name":"Assets\\UI\\grey_sliderDown.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/grey_sliderHorizontal.png","kind":"image","metadata":"","name":"Assets\\UI\\grey_sliderHorizontal.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/Guide/1.png","kind":"image","metadata":"","name":"Assets\\Guide\\1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/grey_circle.png","kind":"image","metadata":"","name":"Assets\\UI\\grey_circle.png","smoothed":true,"userAdded":true},{"file":"Assets/Audio/switch2.ogg","kind":"audio","metadata":"","name":"Assets\\Audio\\switch2.ogg","preloadAsMusic":false,"preloadAsSound":false,"preloadInCache":false,"userAdded":true},{"file":"Assets/Audio/rollover2.ogg","kind":"audio","metadata":"","name":"Assets\\Audio\\rollover2.ogg","preloadAsMusic":false,"preloadAsSound":false,"preloadInCache":false,"userAdded":true},{"file":"Assets/Audio/footstep_carpet_000.ogg","kind":"audio","metadata":"","name":"Assets\\Audio\\footstep_carpet_000.ogg","preloadAsMusic":false,"preloadAsSound":false,"preloadInCache":false,"userAdded":true},{"file":"Assets/Audio/impactMining_004.ogg","kind":"audio","metadata":"","name":"Assets\\Audio\\impactMining_004.ogg","preloadAsMusic":false,"preloadAsSound":false,"preloadInCache":false,"userAdded":true},{"file":"Assets/Audio/you_win.ogg","kind":"audio","metadata":"","name":"Assets\\Audio\\you_win.ogg","preloadAsMusic":false,"preloadAsSound":false,"preloadInCache":false,"userAdded":true},{"file":"Assets/Audio/game_over.ogg","kind":"audio","metadata":"","name":"Assets\\Audio\\game_over.ogg","preloadAsMusic":false,"preloadAsSound":false,"preloadInCache":false,"userAdded":true},{"file":"Assets/Audio/Light Music.ogg","kind":"audio","metadata":"","name":"Assets\\Audio\\Light Music.ogg","preloadAsMusic":false,"preloadAsSound":false,"preloadInCache":false,"userAdded":true},{"file":"Assets/Audio/rollover1.ogg","kind":"audio","metadata":"","name":"Assets\\Audio\\rollover1.ogg","preloadAsMusic":false,"preloadAsSound":false,"preloadInCache":false,"userAdded":true},{"alwaysLoaded":false,"file":"desktop-icon-512.png","kind":"image","metadata":"","name":"desktop-icon-512.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"android-icon-192.png","kind":"image","metadata":"","name":"android-icon-192.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"android-icon-144.png","kind":"image","metadata":"","name":"android-icon-144.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"android-icon-96.png","kind":"image","metadata":"","name":"android-icon-96.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"android-icon-72.png","kind":"image","metadata":"","name":"android-icon-72.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"android-icon-48.png","kind":"image","metadata":"","name":"android-icon-48.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"android-icon-36.png","kind":"image","metadata":"","name":"android-icon-36.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"android-windowSplashScreenAnimatedIcon.png","kind":"image","metadata":"","name":"android-windowSplashScreenAnimatedIcon.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-1024.png","kind":"image","metadata":"","name":"ios-icon-1024.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-180.png","kind":"image","metadata":"","name":"ios-icon-180.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-167.png","kind":"image","metadata":"","name":"ios-icon-167.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-152.png","kind":"image","metadata":"","name":"ios-icon-152.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-144.png","kind":"image","metadata":"","name":"ios-icon-144.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-120.png","kind":"image","metadata":"","name":"ios-icon-120.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-114.png","kind":"image","metadata":"","name":"ios-icon-114.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-100.png","kind":"image","metadata":"","name":"ios-icon-100.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-87.png","kind":"image","metadata":"","name":"ios-icon-87.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-80.png","kind":"image","metadata":"","name":"ios-icon-80.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-76.png","kind":"image","metadata":"","name":"ios-icon-76.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-72.png","kind":"image","metadata":"","name":"ios-icon-72.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-60.png","kind":"image","metadata":"","name":"ios-icon-60.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-58.png","kind":"image","metadata":"","name":"ios-icon-58.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-57.png","kind":"image","metadata":"","name":"ios-icon-57.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-50.png","kind":"image","metadata":"","name":"ios-icon-50.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-40.png","kind":"image","metadata":"","name":"ios-icon-40.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-29.png","kind":"image","metadata":"","name":"ios-icon-29.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"ios-icon-20.png","kind":"image","metadata":"","name":"ios-icon-20.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"../Screenshot 2023-07-23 041324.png","kind":"image","metadata":"","name":"..\\Screenshot 2023-07-23 041324.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Screenshot 2023-07-2341520.png","kind":"image","metadata":"","name":"Screenshot 2023-07-2341520.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Assets/UI/T2Rr1D.png","kind":"image","metadata":"","name":"Assets\\UI\\T2Rr1D.png","smoothed":true,"userAdded":false}],"resourceFolders":[]},"objects":[{"assetStoreId":"","bold":false,"italic":false,"name":"Text","smoothed":true,"tags":"","type":"TextObject::Text","underlined":false,"variables":[{"folded":true,"name":"Text","type":"string","value":"Test"},{"folded":true,"name":"Alignment","type":"string","value":"left"},{"folded":true,"name":"Index","type":"number","value":0.0},{"folded":true,"name":"Size","type":"number","value":50.0}],"effects":[],"behaviors":[{"name":"Tween","type":"Tween::TweenBehavior"}],"string":"Text","font":"Assets\\Fonts\\Kenney Blocks.ttf","textAlignment":"left","characterSize":50.0,"color":{"b":200,"g":200,"r":200}}],"objectsGroups":[],"variables":[{"name":"Settings","type":"structure","children":[{"folded":true,"name":"MusicVolume","type":"number","value":50.0},{"folded":true,"name":"SoundVolume","type":"number","value":50.0}]},{"folded":true,"name":"CurrentLevel","type":"string","value":"GameScene"}],"layouts":[{"b":255,"disableInputWhenNotFocused":true,"mangledName":"Game_32Scene3","name":"Game Scene3","r":255,"standardSortMethod":true,"stopSoundsOnStartup":false,"title":"","v":255,"uiSettings":{"grid":true,"gridType":"rectangular","gridWidth":128.0,"gridHeight":128.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":9868950.0,"gridAlpha":0.8,"snap":true,"zoomFactor":0.11805730185029774,"windowMask":false},"objectsGroups":[{"name":"Entities","objects":[{"name":"Player"},{"name":"PlayerAttack"}]},{"name":"Misc","objects":[{"name":"Crown"},{"name":"Energy"}]},{"name":"Enemies","objects":[{"name":"Enemy"},{"name":"EnemiesIndicator"}]}],"variables":[{"folded":true,"name":"IsPlayerTurn","type":"boolean","value":true},{"folded":true,"name":"Energy","type":"number","value":3.0},{"folded":true,"name":"Kills","type":"number","value":0.0},{"name":"Unlocked","type":"array","children":[{"type":"number","value":0.0}]},{"folded":true,"name":"UnlockedIndex","type":"number","value":0.0},{"folded":true,"name":"PickTest","type":"number","value":0.0}],"instances":[{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Player","persistentUuid":"b2ef109f-0fac-4669-b288-c28cee54b898","width":0.0,"x":1856.0,"y":2112.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"MouseIndicator","persistentUuid":"9d076612-47d7-49ed-b339-b454a6312042","width":0.0,"x":3904.0,"y":3904.0,"zOrder":1000,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"UI","name":"Text","persistentUuid":"d2c394a8-0880-47aa-8292-cfa8d0b3958b","width":501.0,"x":11.0,"y":0.0,"zOrder":1001,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Energy: 999"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"UI","name":"Text","persistentUuid":"e3668bf7-b536-46c2-8dda-60bdf85291b6","width":501.0,"x":1408.0,"y":0.0,"zOrder":1001,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Index","type":"number","value":1.0},{"folded":true,"name":"Alignment","type":"string","value":"right"},{"folded":true,"name":"Text","type":"string","value":"Kills: 0"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"Frame","persistentUuid":"ba4d3858-5959-409e-a603-485e06783a8e","width":0.0,"x":1527.0,"y":896.0,"zOrder":1003,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"PlayerIcon","persistentUuid":"8057b1ad-18df-4060-96a8-e15ffbd18df3","width":0.0,"x":1591.0,"y":960.0,"zOrder":1004,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"Lighting","name":"DynamicLight","persistentUuid":"5a88ad83-32ba-4ee7-9cd4-e9f270aa3305","width":0.0,"x":2676.0,"y":2548.0,"zOrder":1006,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":82.0,"layer":"UI","name":"Panel","persistentUuid":"598b50b9-cb64-4adb-a620-3124a666ef38","width":0.0,"x":1543.0,"y":963.0,"zOrder":1000,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"UI","name":"Text","persistentUuid":"bea199b1-c58a-488e-a419-7a56dc06856a","width":693.0,"x":845.0,"y":929.0,"zOrder":1009,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"New Piece Unlocked"},{"folded":true,"name":"Index","type":"number","value":2.0},{"folded":true,"name":"Alignment","type":"string","value":"center"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":48.0,"layer":"UI","name":"ScrollWheel","persistentUuid":"90041489-38be-47fc-8c93-5715d8822496","width":48.0,"x":1666.0,"y":941.0,"zOrder":1010,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"Text","persistentUuid":"78df13e3-b2f3-4fc3-8d8c-3637633625a6","width":0.0,"x":1722.0,"y":951.0,"zOrder":1011,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Scroll Wheel"},{"folded":true,"name":"Index","type":"number","value":3.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"Transition","persistentUuid":"3e179b6c-2cc9-4782-8868-ff257ecbec22","width":0.0,"x":2528.0,"y":2656.0,"zOrder":1018,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Level","persistentUuid":"5316a78e-af31-4d89-a821-3fa11c417807","width":0.0,"x":-2.0,"y":-2.0,"zOrder":0,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Crown","persistentUuid":"ea013f73-3b48-418d-a2b6-b27209745a90","width":0.0,"x":3520.0,"y":960.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"a5d86d21-2e61-4dcf-9d3f-e4afce30b901","width":3840.0,"x":0.0,"y":3820.0,"zOrder":1020,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"04b226f8-82f5-4adb-8b89-3bea125cb4f5","width":3840.0,"x":0.0,"y":0.0,"zOrder":1020,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"91cfe26a-a000-40e3-9767-6c6ec559843a","width":3840.0,"x":-1910.0,"y":1910.0,"zOrder":1020,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"f9a9143c-3ad6-45a7-971c-54045d27dfcf","width":3840.0,"x":1910.0,"y":1910.0,"zOrder":1020,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"d9776413-d965-443f-b95d-ffb5c05fe1eb","width":1281.0,"x":448.0,"y":384.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"9bf105a6-97ff-4935-b1c4-46509d48b10b","width":1282.0,"x":447.0,"y":1132.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"81f27eb8-0dcd-4970-ae7a-4fa105ca17ba","width":640.0,"x":74.0,"y":758.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"592bdb61-ef01-4cff-817a-cecbebd345ac","width":272.0,"x":1647.0,"y":942.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"371c0d44-a254-427b-aa9c-2f9bda076b56","width":146.0,"x":1709.0,"y":515.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":46.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"a14d9ed4-d9ee-4d5d-8850-442c01bbb856","width":90.0,"x":1707.0,"y":414.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":315.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"adf93051-e8c7-40b6-aa10-3bc88d0ea66b","width":90.0,"x":1707.0,"y":1103.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":46.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"1b270395-233c-454b-90d7-59ca22e44153","width":90.0,"x":378.0,"y":1101.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":135.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"400d0df9-4772-4452-8f53-ce7df63e935f","width":90.0,"x":378.0,"y":413.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"d554c7b9-bf05-4148-bd4c-27cd04ef8ee9","width":148.0,"x":1598.0,"y":1536.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"9a388196-b81d-479a-bcc3-a2babae11b77","width":147.0,"x":2095.0,"y":1536.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"663f65e2-7416-4c21-aca6-552f92e2bfc6","width":642.0,"x":1600.0,"y":2284.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"f6eef5cf-8b69-4757-b021-2f4401167f48","width":640.0,"x":1227.0,"y":1911.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"206888d0-c643-47a3-a5dd-9045ec1fded7","width":638.0,"x":1975.0,"y":1909.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":315.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"61f80819-7b69-4690-a9a8-28137d1bef2a","width":90.0,"x":2219.0,"y":2254.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":315.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"d9936dea-eb2d-405e-886d-25a9dfb9f306","width":90.0,"x":1532.0,"y":1566.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"ce71887d-6b06-49ce-bc70-b4ffb6c38164","width":90.0,"x":1530.0,"y":2254.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"55bcc180-b93b-46c0-ae55-53e2076a05cc","width":90.0,"x":2221.0,"y":1564.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"693b2b98-bd11-4c6e-8499-5b89b29973cd","width":90.0,"x":1068.0,"y":1821.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"433fae45-5a88-40cf-b593-40e27a6fa6e3","width":90.0,"x":250.0,"y":3535.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":315.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"7681e64e-669c-4fd4-be35-2a298379d155","width":90.0,"x":250.0,"y":1821.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"93a5f735-0679-4f63-adf7-ec6b8485666c","width":100.0,"x":1125.0,"y":3150.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":300.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"4d6f7a16-a69e-4f73-88c2-6b38ec382a5d","width":130.0,"x":1084.0,"y":3511.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":60.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"30fde432-3dc4-4bdd-ba09-8292a2921475","width":130.0,"x":1352.0,"y":3512.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"27b5cd8e-db09-48b9-8054-b6bfb719b547","width":90.0,"x":2348.0,"y":3101.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":315.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"f2442da8-f334-4d48-8d4d-c9f4d4f33471","width":90.0,"x":2348.0,"y":3535.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"1547f4f7-e685-47f7-8733-915a01130013","width":764.0,"x":320.0,"y":1792.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"d980a6fe-c665-4554-aa6b-12dc622255e6","width":801.0,"x":322.0,"y":3564.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"11bdfa5c-2c47-4f4f-b2bc-3f7614f2687a","width":439.0,"x":1437.0,"y":3072.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"1eebd525-19ba-4e08-9064-10895e73333c","width":274.0,"x":2095.0,"y":3072.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"7c6138bc-fb4f-4d7d-a830-13efbafba36b","width":928.0,"x":1442.0,"y":3564.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"c8530876-a641-4233-b047-04dd1d6788c4","width":1667.0,"x":-567.0,"y":2676.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"bc0df05f-e00c-4fca-82b5-ae78333973c7","width":910.0,"x":687.0,"y":2667.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"6240aff1-90ec-44ee-9e70-ef6d25e469c7","width":142.0,"x":1072.0,"y":1916.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"f8924077-5246-4e6c-a2a0-dd666fe8323b","width":388.0,"x":2229.0,"y":3317.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"3e20a6cf-cbd0-49ae-9b26-2181ff5d59b9","width":184.0,"x":1200.0,"y":3180.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"6a736622-f0a5-4cfd-b8aa-1a5a6b5fd377","width":222.0,"x":1173.0,"y":3456.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":300.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"345c36d1-c015-496d-856b-56a4fb5bfb78","width":130.0,"x":1084.0,"y":3511.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":300.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"6947b37a-599b-452f-9390-ffa3ba72e73d","width":130.0,"x":1346.0,"y":3123.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":60.0,"layer":"","name":"CollisionMask","persistentUuid":"07267c38-1ccb-4004-9c4f-b3d14aaaf474","width":60.0,"x":160.0,"y":1184.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":60.0,"layer":"","name":"CollisionMask","persistentUuid":"9ced7468-e6c0-48eb-9749-a1bc9d0ff6d8","width":60.0,"x":543.0,"y":1311.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":60.0,"layer":"","name":"CollisionMask","persistentUuid":"bca3bb1b-c680-418c-963e-e11fd53425e3","width":60.0,"x":671.0,"y":1439.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":60.0,"layer":"","name":"CollisionMask","persistentUuid":"aa42596d-40ff-4fbc-a54c-7ab250fd9d7f","width":60.0,"x":927.0,"y":1312.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":60.0,"layer":"","name":"CollisionMask","persistentUuid":"5848c2d6-6fa9-4ed0-94fc-6e6a62f61db5","width":60.0,"x":929.0,"y":1569.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":60.0,"layer":"","name":"CollisionMask","persistentUuid":"ff6a892e-386a-427a-920c-1478c622797c","width":60.0,"x":288.0,"y":1567.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"0001a320-f5a5-457e-ba69-3e33861debfa","width":80.0,"x":2071.0,"y":534.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"b5e11427-97b7-4b9f-a7c2-8529fba369a4","width":80.0,"x":2198.0,"y":662.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"e0ab8572-ce15-41fe-8e2c-36826b8b3159","width":80.0,"x":2326.0,"y":280.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"846e3937-cf33-493c-b619-2d11c396fce1","width":80.0,"x":2582.0,"y":150.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"bba5dd24-b25d-459c-8082-6aea89f452ca","width":80.0,"x":2837.0,"y":279.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"94bcd8b6-578f-43c0-aaa9-f4c468d45aaa","width":80.0,"x":2582.0,"y":535.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"698e5cba-ae5d-4be2-86a2-33f73d21e12f","width":80.0,"x":3221.0,"y":407.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"174be5a3-bae3-434a-96d1-fc34a52d0150","width":80.0,"x":3478.0,"y":535.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"c44fdd45-88a3-44a5-b970-3310caee06a8","width":80.0,"x":2838.0,"y":791.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"277c52a2-2594-4480-8452-3375976f62e3","width":80.0,"x":2581.0,"y":919.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"8a9be839-cd7e-4784-8a6a-51c7a66a17c7","width":80.0,"x":3094.0,"y":791.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"2e2e361d-70fb-4f04-a304-e1b716cc3ad8","width":80.0,"x":3222.0,"y":1047.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"75dcc0f4-7abe-433a-91f6-9df92edd8604","width":80.0,"x":3349.0,"y":919.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"15e0c633-1495-43b5-9ae3-d37035c3f2f0","width":80.0,"x":3478.0,"y":1047.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"e73a1dc9-b8b0-4b40-86c9-302d4baa4771","width":80.0,"x":2199.0,"y":919.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"ef2550ce-5226-4504-9332-a80525f035f2","width":80.0,"x":2326.0,"y":1174.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"c296887c-ea8b-4128-9878-c17ddd3da968","width":80.0,"x":2582.0,"y":1174.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"cba152d8-5d40-4e9b-b205-8bb97a443502","width":80.0,"x":3477.0,"y":1303.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"c108f39c-3f04-41ea-a831-0650755aaf91","width":80.0,"x":3222.0,"y":1430.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"9b914459-c416-4fa3-ba55-9acaaf29cf31","width":80.0,"x":2838.0,"y":1430.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"05ffd1d2-3c3f-45d2-b33c-7447d67df7e3","width":80.0,"x":3221.0,"y":1558.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"92e3419e-1ec0-4ae8-bf9b-ed9bde828516","width":80.0,"x":2710.0,"y":1686.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"1e39c1ea-7a4c-47ce-bdbe-4ec76d8ea75b","width":80.0,"x":2837.0,"y":1815.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"d02b185f-5aea-446a-8538-52f1af74f1a6","width":80.0,"x":2965.0,"y":1813.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"5df835c3-d662-46d2-8eaa-6637a9d35ed0","width":80.0,"x":3479.0,"y":1814.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"CollisionMask","persistentUuid":"336f4533-c255-44ed-86ac-476789dcec72","width":70.0,"x":2715.0,"y":2187.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"CollisionMask","persistentUuid":"540acaaf-f2ef-4e1c-bb37-b907fc519018","width":70.0,"x":3483.0,"y":2572.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"CollisionMask","persistentUuid":"4c3c7dda-57fc-419f-9738-690ed78da743","width":70.0,"x":3483.0,"y":2700.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"CollisionMask","persistentUuid":"d6028e0f-310e-4cd7-ae77-2faa411d0919","width":70.0,"x":2715.0,"y":2956.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"CollisionMask","persistentUuid":"a928b807-f086-4da1-8f9d-be03c5cda62c","width":70.0,"x":1947.0,"y":2572.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"CollisionMask","persistentUuid":"334bb70a-2b85-4018-9707-b582aee2049e","width":70.0,"x":1819.0,"y":2572.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"CollisionMask","persistentUuid":"0e4a7de8-fcdf-4bcb-8708-c0b3f67dabf8","width":70.0,"x":1436.0,"y":2828.0,"zOrder":1022,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"ff6cda87-85a3-4237-b3c6-140919cd3f89","width":3840.0,"x":0.0,"y":3795.0,"zOrder":1023,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"64428ccc-ee95-450d-b1f9-254a4634833d","width":3840.0,"x":0.0,"y":0.0,"zOrder":1023,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"8bd06ce4-9505-41e8-9b70-9f70c99465dc","width":3840.0,"x":1898.0,"y":1898.0,"zOrder":1023,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"86dbe2b4-1e0b-4146-a393-0e83fc13aa9b","width":3840.0,"x":-1897.0,"y":1898.0,"zOrder":1023,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"857c7d6c-e791-474c-b396-68b726510efe","width":1408.0,"x":384.0,"y":384.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"b64de336-fcf1-4a04-8b69-6a2a1641d8fa","width":1408.0,"x":384.0,"y":1107.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"11676091-2ee9-4855-ac93-adb41a77a7f6","width":768.0,"x":23.0,"y":746.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"f53bc3fc-efa6-4980-ab59-51e0369e60ed","width":256.0,"x":1642.0,"y":490.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"4a35dd4f-0136-4f0f-8abe-0958f895437c","width":385.0,"x":1578.0,"y":938.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"9df2bf35-7bad-4848-bdea-2d3797d01219","width":768.0,"x":1898.0,"y":1898.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"8aa27350-eccb-470d-be51-a37e03a30f3a","width":768.0,"x":1175.0,"y":1898.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"33494798-3f8d-4d58-9ba2-259d8b50134b","width":768.0,"x":1536.0,"y":2259.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"21c33efe-da49-485f-9f20-c98d42feba90","width":316.0,"x":1536.0,"y":1536.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"0881ef03-b7ef-4da7-a3d8-39d153cafac2","width":324.0,"x":1980.0,"y":1536.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"7e1119f1-b602-44a5-94fd-99c2a5298325","width":896.0,"x":256.0,"y":1792.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"86d0ad85-e26b-476a-8776-f5a3ee09951f","width":896.0,"x":256.0,"y":3539.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"8e590673-4c61-41e3-a5c7-5c453c40a584","width":1024.0,"x":1408.0,"y":3539.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"d0f25642-f756-4ee5-9d16-d62c901a17dd","width":512.0,"x":1408.0,"y":3072.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"1747a9aa-51d4-479f-a6fb-ff8d25a6c717","width":384.0,"x":2048.0,"y":3072.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"f19eac37-3050-4433-b5f5-dd486799ae48","width":512.0,"x":2154.0,"y":3306.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"60e856d4-993c-4143-9e05-572b0634d67c","width":128.0,"x":1367.0,"y":3114.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"22d9628f-df20-45a0-a532-b4c3b3087026","width":128.0,"x":1367.0,"y":3498.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"350ef706-fb2a-4a8e-bcf8-ee2c0126f361","width":128.0,"x":1066.0,"y":3498.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"51ce432e-59e2-447f-aa1e-ee7ecc42eee4","width":1025.0,"x":618.0,"y":2666.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"7d84a69b-130c-41f5-8794-609ec77f7edf","width":256.0,"x":1002.0,"y":1898.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"18b714b1-2c2d-405f-8ad8-3f572cf14ef1","width":1792.0,"x":-617.0,"y":2666.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"72ac6ee2-53ff-4636-b692-c2d9cec7f2a6","width":256.0,"x":1152.0,"y":3155.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"20e14c87-cf64-4e76-ba74-48ca2ea41e7a","width":256.0,"x":1152.0,"y":3456.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"d2ddde78-bbe6-4047-aacb-9d4d061c63d2","width":64.0,"x":158.0,"y":1183.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"74afa405-dd98-44e4-8c74-33b14b5edd39","width":64.0,"x":541.0,"y":1309.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"5f44f262-8af7-42ae-85a4-a031b820b7b8","width":64.0,"x":669.0,"y":1437.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"3e326e93-defb-41ea-8f37-41231c9411ea","width":64.0,"x":926.0,"y":1311.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"2adb97a8-7a5c-4ef0-bc93-96e46558e547","width":64.0,"x":927.0,"y":1566.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"b026e995-dbcc-42fb-8e0a-f936c31a05b4","width":64.0,"x":287.0,"y":1566.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"LightObstacle","persistentUuid":"0e7ca343-384b-4b37-8233-caab68d9309c","width":70.0,"x":1435.0,"y":2828.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"LightObstacle","persistentUuid":"938b5314-032c-493c-a568-b9754899579f","width":70.0,"x":1819.0,"y":2573.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"LightObstacle","persistentUuid":"82af59d1-a972-4684-bf2e-239224907adf","width":70.0,"x":1948.0,"y":2572.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"LightObstacle","persistentUuid":"b9755cec-03a3-47fa-b844-84ca134e4586","width":70.0,"x":2715.0,"y":2956.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"LightObstacle","persistentUuid":"0478139d-69f7-40a5-bfae-139c18087b63","width":70.0,"x":3482.0,"y":2700.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"LightObstacle","persistentUuid":"3b4afc8c-887f-4d65-8e2e-54dc4e27ce17","width":70.0,"x":3482.0,"y":2571.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":100.0,"layer":"","name":"LightObstacle","persistentUuid":"895214b4-0c04-4b3f-b4b9-abce3ae10199","width":70.0,"x":2715.0,"y":2188.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"68dbb34a-8525-4860-ac0b-2959d7080275","width":80.0,"x":2837.0,"y":1814.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"d7ad7cb6-223b-4ee6-95f3-2a3eedd329cc","width":80.0,"x":2966.0,"y":1814.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"c0931ad8-f483-448c-aca5-d4f4a1cd203d","width":80.0,"x":3479.0,"y":1813.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"1201732c-2bd8-44af-b9d6-55029b8d8d91","width":80.0,"x":2710.0,"y":1686.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"90dc4b6c-e22a-4d75-b383-710fa26a3ae9","width":80.0,"x":3222.0,"y":1558.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"cc2f1294-a0ef-4855-8dda-c2fa6e4879f2","width":80.0,"x":3222.0,"y":1429.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"8e35b8cc-dab5-49c8-8072-239a9cac9d3e","width":80.0,"x":2838.0,"y":1426.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"e33b6425-50ba-45af-a57a-454a8fdfd2c8","width":80.0,"x":3477.0,"y":1301.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"a002ee8c-dd35-481a-8aaa-bbe7ef94b539","width":80.0,"x":2582.0,"y":1173.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"e0366a76-f6d4-4a4d-bed4-af467e6d439b","width":80.0,"x":2326.0,"y":1174.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"8ae5fb79-80ec-4c4e-a4cd-7eddb8e7ee6a","width":80.0,"x":2199.0,"y":917.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"7df2a64a-9f1d-4996-86a8-1e354d064b19","width":80.0,"x":2581.0,"y":918.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"0872574d-3ea7-4324-853d-8776bc2c860e","width":80.0,"x":3222.0,"y":1045.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"af66df6c-5dd0-4a03-bf30-ed1db231ddb8","width":80.0,"x":3351.0,"y":917.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"743ddf63-f68f-4255-9ac4-7c73648af84a","width":80.0,"x":3478.0,"y":1046.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"92b485aa-accd-4e95-84d5-f9b770b32985","width":80.0,"x":3093.0,"y":789.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"768f5e74-0e5d-4e02-9da5-f7a0eacdc41f","width":80.0,"x":2838.0,"y":790.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"4836db03-50bb-4ada-b383-d84e158c9aa4","width":80.0,"x":2198.0,"y":662.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"b63f62da-d6a0-48e6-916d-e3e211d4b232","width":80.0,"x":2069.0,"y":534.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"a7956f42-293f-4a44-b0e9-a255f74f2fbb","width":80.0,"x":2582.0,"y":533.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"b5db5637-f9ce-4b95-b4c4-1c685c0e828f","width":80.0,"x":3479.0,"y":534.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"f23a9a85-0754-483e-9c82-f278c7ee84d9","width":80.0,"x":3222.0,"y":406.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"2a3e3725-d3b5-4a97-9954-9f71dda6c9c1","width":80.0,"x":2326.0,"y":278.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"4bd89d36-8374-4974-8a04-314d012c04d4","width":80.0,"x":2838.0,"y":278.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"813ea841-fea2-43e7-8474-383bcbf5774f","width":80.0,"x":2582.0,"y":149.0,"zOrder":1025,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"d1cd4547-1c9c-4a00-84bf-c54f88345a9f","width":0.0,"x":193.0,"y":190.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"9c45b022-94df-471b-95f2-58e5bf7877c8","width":0.0,"x":574.0,"y":191.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"ccf38c2d-3db3-4d5f-bdc3-318f48769def","width":0.0,"x":191.0,"y":574.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"81d4e7d4-0fdb-44d2-98c8-2cc97feb1be4","width":0.0,"x":321.0,"y":3651.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"bb71cc91-a95a-47a8-a2ba-ee9a03f74f20","width":0.0,"x":1205.0,"y":3525.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"37b3e847-b5c6-4410-a80d-6f1dde274b39","width":0.0,"x":3651.0,"y":3647.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"cb3741c3-6f0e-4eec-8630-bfe7fc4ef621","width":0.0,"x":2878.0,"y":3013.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"91bae881-dc20-48af-89a1-4efbd3690c8f","width":0.0,"x":1721.0,"y":2745.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"0f6b8816-78e4-482a-b93f-0ed459e57a60","width":0.0,"x":451.0,"y":3388.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"e896d5e8-7ad1-4356-97f8-91f72ee302f4","width":0.0,"x":446.0,"y":3257.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"968eef18-a2a3-4ecb-a519-6f4bec036c2e","width":0.0,"x":580.0,"y":3395.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"4ad1e3d2-baac-45ab-8810-ac33ffda504f","width":0.0,"x":444.0,"y":1978.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"8d260380-e865-4214-85f1-d50243bca2bf","width":0.0,"x":709.0,"y":1337.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"e9a69686-be5d-4800-b830-75afeb047173","width":0.0,"x":580.0,"y":705.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"c63544fd-3f0f-423e-80df-1fa24ffef854","width":0.0,"x":578.0,"y":834.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"2a314df8-70eb-48f4-8fc4-495f3083c2df","width":0.0,"x":2877.0,"y":702.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"a47b3b3f-7ab7-4faa-b116-c36e8f5e00e8","width":0.0,"x":3524.0,"y":315.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"765f89eb-03be-470b-86e7-0d418a8c2b84","width":0.0,"x":3139.0,"y":2494.0,"zOrder":1051,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"c10c98c1-2d30-4065-b8c6-865764199426","width":0.0,"x":2112.0,"y":1728.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"74b10d8b-9d74-4657-90e5-a217b7ffbd65","width":0.0,"x":192.0,"y":192.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"901754ad-9bc5-4eb9-943f-709bba38adf3","width":0.0,"x":192.0,"y":3648.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"baf6c7f4-9826-4178-867f-458b7ada94c9","width":0.0,"x":2368.0,"y":3648.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"466c0d80-c99d-4b2a-a9c9-853a7d08dc6d","width":0.0,"x":192.0,"y":2240.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"60da7e2c-cdbf-4154-ace2-e482de3ef2c5","width":0.0,"x":1344.0,"y":1728.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"3ec629b9-9a64-48eb-958c-ee940b6e8c75","width":0.0,"x":2496.0,"y":2496.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"bbc9e9ed-288b-40af-a9aa-f32e2ee938f9","width":0.0,"x":1344.0,"y":2496.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"f32c5328-234e-4912-a727-42048da8ee14","width":0.0,"x":2496.0,"y":1472.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"e767e522-2504-46ff-9ec2-d7f4944a4d36","width":0.0,"x":320.0,"y":320.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"1ff0b774-3730-49ad-94ef-1d96600a6ab9","width":0.0,"x":192.0,"y":2368.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"d7abe3b9-5123-4b8b-9ce9-32069eaa2e15","width":0.0,"x":320.0,"y":3648.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"9d78f23b-a61a-4050-8d1e-1f1845a346fb","width":0.0,"x":2240.0,"y":3648.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"06f2de2c-12e8-4930-8fe5-b8015e8f1aaf","width":0.0,"x":704.0,"y":704.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"459d42a3-784c-4f78-bb3a-dd1baf8db81e","width":0.0,"x":448.0,"y":1984.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"57f7e820-85b7-427d-bd3a-dd59d6e6161a","width":0.0,"x":832.0,"y":2880.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"6d51a79b-8b8a-44e5-addf-0077e746f15a","width":0.0,"x":1600.0,"y":3264.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"b4ff531e-3d17-44dc-bae2-9b06c2199817","width":0.0,"x":2240.0,"y":3392.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"06913b0f-b7dd-4db9-95d2-df78b4d0cd42","width":0.0,"x":576.0,"y":1600.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"ffb033fe-0784-464c-b9c1-450a23764765","width":0.0,"x":3136.0,"y":3264.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"f000d8f2-916c-4916-bce6-d5e0d742df96","width":0.0,"x":2624.0,"y":448.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"093c6928-d859-433f-9d07-9fbdf8c88018","width":0.0,"x":3264.0,"y":832.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"7dc55c76-80ba-4ae9-96d1-46d86c0498a0","width":0.0,"x":3008.0,"y":1216.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"c1e7a9fb-329e-4192-a46c-eabcf27ef91e","width":0.0,"x":3520.0,"y":3392.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"4f3ad2e7-173b-4b9d-89e5-aa406853dc7a","width":0.0,"x":2880.0,"y":2880.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"18d27dc6-4217-4dbc-9e6f-b64c20a06667","width":0.0,"x":576.0,"y":3264.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"8aac34fa-7179-465e-ba05-faa22fc41ffc","width":0.0,"x":704.0,"y":2368.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"f125be10-d177-4400-a026-615e63df79b4","width":0.0,"x":960.0,"y":960.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"337c65ce-c83b-48b8-ae28-10141ea5f8dd","width":0.0,"x":1344.0,"y":576.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"2d6168f3-c8b5-443e-a66c-8df3a8104ffb","width":0.0,"x":1344.0,"y":192.0,"zOrder":1052,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]}],"objects":[{"assetStoreId":"","name":"Floor","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"Path Straight","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_path.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Path Curve","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_path_curve.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Path Cross","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_path_crossing.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Grass","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\grass.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Wall","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_wall.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Wall Corner","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_wall_corner.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Door Close","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_door_closed.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Door Open","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_door_open.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Tiles","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\tiles.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Crate","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_crate_small.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Player","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"CurrentAnimation","type":"number","value":0.0}],"effects":[{"effectType":"CRT","name":"Effect","doubleParameters":{"animationFrequency":10.0,"animationSpeed":0.5,"curvature":1.0,"lineContrast":0.25,"lineWidth":1.0,"noise":0.3,"noiseSize":1.0,"padding":0.0,"vignetting":0.3,"vignettingAlpha":1.0,"vignettingBlur":0.3},"stringParameters":{},"booleanParameters":{"verticalLine":false}}],"behaviors":[{"name":"Pathfinding","type":"PathfindingBehavior::PathfindingBehavior","acceleration":10000.0,"maxSpeed":600.0,"allowDiagonals":true,"angleOffset":0.0,"angularMaxSpeed":180.0,"cellHeight":128.0,"cellWidth":128.0,"extraBorder":0.0,"gridOffsetX":64.0,"gridOffsetY":64.0,"rotateObject":true,"smoothingMaxCellGap":1.0},{"name":"SmoothCamera","type":"SmoothCamera::SmoothCamera","LeftwardSpeed":0.9,"RightwardSpeed":0.9,"UpwardSpeed":0.9,"DownwardSpeed":0.9,"FollowOnX":true,"FollowOnY":true,"FollowFreeAreaLeft":0.0,"FollowFreeAreaRight":0.0,"FollowFreeAreaTop":0.0,"FollowFreeAreaBottom":0.0,"CameraOffsetX":0.0,"CameraOffsetY":0.0,"CameraDelay":0.0,"ForecastTime":0.0,"ForecastHistoryDuration":0.0,"LogLeftwardSpeed":0.0,"LogRightwardSpeed":0.0,"LogDownwardSpeed":0.0,"LogUpwardSpeed":0.0,"DelayedCenterX":0.0,"DelayedCenterY":0.0,"ForecastHistoryMeanX":0.0,"ForecastHistoryMeanY":0.0,"ForecastHistoryVarianceX":0.0,"ForecastHistoryCovariance":0.0,"ForecastHistoryLinearA":0.0,"ForecastHistoryLinearB":0.0,"ForecastedX":0.0,"ForecastedY":0.0,"ProjectedNewestX":0.0,"ProjectedNewestY":0.0,"ProjectedOldestX":0.0,"ProjectedOldestY":0.0,"ForecastHistoryVarianceY":0.0,"Index":0.0,"CameraDelayCatchUpSpeed":0.0,"CameraExtraDelay":0.0,"WaitingSpeedXMax":0.0,"WaitingSpeedYMax":0.0,"WaitingEnd":0.0,"CameraDelayCatchUpDuration":0.0,"LeftwardSpeedMax":9000.0,"RightwardSpeedMax":9000.0,"UpwardSpeedMax":9000.0,"DownwardSpeedMax":9000.0,"OldX":9000.0,"OldY":9000.0,"IsCalledManually":false}],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"PlayerIcon","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"CRT","name":"Effect","doubleParameters":{"animationFrequency":10.0,"animationSpeed":0.5,"curvature":1.0,"lineContrast":0.25,"lineWidth":1.0,"noise":0.3,"noiseSize":1.0,"padding":0.0,"vignetting":0.3,"vignettingAlpha":1.0,"vignettingBlur":0.3},"stringParameters":{},"booleanParameters":{"verticalLine":false}}],"behaviors":[],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"Enemy","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"Index","type":"number","value":0.0}],"effects":[],"behaviors":[{"name":"Pathfinding","type":"PathfindingBehavior::PathfindingBehavior","acceleration":10000.0,"maxSpeed":1000.0,"allowDiagonals":true,"angleOffset":0.0,"angularMaxSpeed":180.0,"cellHeight":128.0,"cellWidth":128.0,"extraBorder":0.0,"gridOffsetX":64.0,"gridOffsetY":64.0,"rotateObject":true,"smoothingMaxCellGap":1.0}],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"PlayerAttack","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]}]},{"assetStoreId":"","height":128.0,"name":"CollisionMask","tags":"","texture":"Assets\\Indicator.png","type":"TiledSpriteObject::TiledSprite","width":128.0,"variables":[{"folded":true,"name":"IsTemp","type":"boolean","value":false}],"effects":[],"behaviors":[{"name":"PathfindingObstacle","type":"PathfindingBehavior::PathfindingObstacleBehavior","cost":2.0,"impassable":false}]},{"assetStoreId":"","height":128.0,"name":"LightObstacle","tags":"","texture":"Assets\\Indicator.png","type":"TiledSpriteObject::TiledSprite","width":128.0,"variables":[],"effects":[],"behaviors":[{"name":"LightObstacleBehavior","type":"Lighting::LightObstacleBehavior"}]},{"assetStoreId":"","name":"MouseIndicator","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[{"name":"LastPosition","type":"structure","children":[{"folded":true,"name":"x","type":"number","value":0.0},{"name":"y","type":"number","value":0.0}]}],"effects":[{"effectType":"ColorReplace","name":"Red","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"255;0;0","originalColor":"0;0;0"},"booleanParameters":{}},{"effectType":"ColorReplace","name":"Green","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"0;255;0","originalColor":"0;0;0"},"booleanParameters":{}}],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Indicator.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"EnemiesIndicator","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Red","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"255;0;0","originalColor":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Indicator.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"AttackIndicator","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Red","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"0;255;0","originalColor":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Indicator.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","bold":false,"italic":false,"name":"Text","smoothed":true,"tags":"","type":"TextObject::Text","underlined":false,"variables":[{"folded":true,"name":"Text","type":"string","value":"Test"},{"folded":true,"name":"Alignment","type":"string","value":"left"},{"folded":true,"name":"Index","type":"number","value":0.0}],"effects":[],"behaviors":[{"name":"Tween","type":"Tween::TweenBehavior"}],"string":"Text","font":"Assets\\Fonts\\Kenney Blocks.ttf","textAlignment":"left","characterSize":50.0,"color":{"b":200,"g":200,"r":200}},{"assetStoreId":"","name":"Crown","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"248;231;28","originalColor":"255;255;255"},"booleanParameters":{}},{"effectType":"Outline","name":"Effect2","doubleParameters":{"padding":0.0,"thickness":4.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Misc\\crown_a.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Energy","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"Outline","name":"Effect2","doubleParameters":{"padding":0.0,"thickness":2.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Misc\\flask_half.png","points":[],"originPoint":{"name":"origine","x":32.0,"y":32.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Frame","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"200;200;200","originalColor":"255;255;255"},"booleanParameters":{}}],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\d3_outline.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"DynamicLight","tags":"","type":"Lighting::LightObject","variables":[],"effects":[],"behaviors":[],"content":{"radius":500.0,"color":"255;255;255","debugMode":false,"texture":""}},{"assetStoreId":"","name":"Level","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\TiledMap\\Level3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Panel","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\grey_button00.png","points":[],"originPoint":{"name":"origine","x":190.0,"y":22.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"ScrollWheel","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\tile_0082.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Transition","tags":"","type":"PrimitiveDrawing::Drawer","variables":[],"effects":[],"behaviors":[{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter","Timer":1.0,"Color":"255;255;255","Type":"","Direction":"","MaxOpacity":255.0}],"fillOpacity":255.0,"outlineSize":1,"outlineOpacity":255.0,"fillColor":{"b":0,"g":0,"r":0},"outlineColor":{"b":0,"g":0,"r":0},"absoluteCoordinates":false,"clearBetweenFrames":true,"antialiasing":"none"}],"events":[{"type":"BuiltinCommonInstructions::Link","include":{"includeConfig":0},"target":"Player Behaviours"},{"type":"BuiltinCommonInstructions::Link","include":{"includeConfig":0},"target":"Enemies Behaviours"},{"type":"BuiltinCommonInstructions::Link","include":{"includeConfig":0},"target":"Setup"},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Level Start","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"DepartScene"},"parameters":[""]}],"actions":[{"type":{"value":"ModVarGlobalTxt"},"parameters":["CurrentLevel","=","\"Game Scene3\""]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Level End","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SceneInstancesCount"},"parameters":["","Crown","=","0"]}],"actions":[{"type":{"value":"Scene"},"parameters":["","\"Main Menu\"",""]}]}],"parameters":[]}],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[]},{"ambientLightColorB":20,"ambientLightColorG":20,"ambientLightColorR":20,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":true,"isLightingLayer":true,"isLocked":false,"name":"Lighting","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"UI","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"Top","renderingType":"","visibility":true,"cameras":[],"effects":[]}],"behaviorsSharedData":[{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"LightObstacleBehavior","type":"Lighting::LightObstacleBehavior"},{"name":"Pathfinding","type":"PathfindingBehavior::PathfindingBehavior"},{"name":"PathfindingObstacle","type":"PathfindingBehavior::PathfindingObstacleBehavior"},{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"SmoothCamera","type":"SmoothCamera::SmoothCamera"},{"name":"Tween","type":"Tween::TweenBehavior"}]},{"b":255,"disableInputWhenNotFocused":true,"mangledName":"Game_32Scene2","name":"Game Scene2","r":255,"standardSortMethod":true,"stopSoundsOnStartup":false,"title":"","v":255,"uiSettings":{"grid":true,"gridType":"rectangular","gridWidth":128.0,"gridHeight":128.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":9868950.0,"gridAlpha":0.8,"snap":true,"zoomFactor":0.17003036489029289,"windowMask":false},"objectsGroups":[{"name":"Entities","objects":[{"name":"Player"},{"name":"PlayerAttack"}]},{"name":"Misc","objects":[{"name":"Crown"},{"name":"Energy"}]},{"name":"Enemies","objects":[{"name":"Enemy"},{"name":"EnemiesIndicator"}]}],"variables":[{"folded":true,"name":"IsPlayerTurn","type":"boolean","value":true},{"folded":true,"name":"Energy","type":"number","value":6.0},{"folded":true,"name":"Kills","type":"number","value":0.0},{"name":"Unlocked","type":"array","children":[{"type":"number","value":0.0}]},{"folded":true,"name":"UnlockedIndex","type":"number","value":0.0},{"folded":true,"name":"PickTest","type":"number","value":0.0}],"instances":[{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Player","persistentUuid":"b2ef109f-0fac-4669-b288-c28cee54b898","width":0.0,"x":192.0,"y":2368.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"MouseIndicator","persistentUuid":"9d076612-47d7-49ed-b339-b454a6312042","width":0.0,"x":2624.0,"y":2624.0,"zOrder":1000,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"UI","name":"Text","persistentUuid":"d2c394a8-0880-47aa-8292-cfa8d0b3958b","width":501.0,"x":11.0,"y":0.0,"zOrder":1001,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Energy: 999"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"UI","name":"Text","persistentUuid":"e3668bf7-b536-46c2-8dda-60bdf85291b6","width":501.0,"x":1408.0,"y":0.0,"zOrder":1001,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Index","type":"number","value":1.0},{"folded":true,"name":"Alignment","type":"string","value":"right"},{"folded":true,"name":"Text","type":"string","value":"Kills: 0"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"Frame","persistentUuid":"ba4d3858-5959-409e-a603-485e06783a8e","width":0.0,"x":1527.0,"y":896.0,"zOrder":1003,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"PlayerIcon","persistentUuid":"8057b1ad-18df-4060-96a8-e15ffbd18df3","width":0.0,"x":1591.0,"y":960.0,"zOrder":1004,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"Lighting","name":"DynamicLight","persistentUuid":"5a88ad83-32ba-4ee7-9cd4-e9f270aa3305","width":0.0,"x":2676.0,"y":2548.0,"zOrder":1006,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":82.0,"layer":"UI","name":"Panel","persistentUuid":"598b50b9-cb64-4adb-a620-3124a666ef38","width":0.0,"x":1543.0,"y":963.0,"zOrder":1000,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"UI","name":"Text","persistentUuid":"bea199b1-c58a-488e-a419-7a56dc06856a","width":693.0,"x":845.0,"y":929.0,"zOrder":1009,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"New Piece Unlocked"},{"folded":true,"name":"Index","type":"number","value":2.0},{"folded":true,"name":"Alignment","type":"string","value":"center"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":48.0,"layer":"UI","name":"ScrollWheel","persistentUuid":"90041489-38be-47fc-8c93-5715d8822496","width":48.0,"x":1666.0,"y":941.0,"zOrder":1010,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"Text","persistentUuid":"78df13e3-b2f3-4fc3-8d8c-3637633625a6","width":0.0,"x":1722.0,"y":951.0,"zOrder":1011,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Scroll Wheel"},{"folded":true,"name":"Index","type":"number","value":3.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"Transition","persistentUuid":"3e179b6c-2cc9-4782-8868-ff257ecbec22","width":0.0,"x":2528.0,"y":2656.0,"zOrder":1018,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Level","persistentUuid":"1ec0be49-6f0f-4be7-8116-dcd8ed47f5f7","width":0.0,"x":0.0,"y":0.0,"zOrder":0,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"CollisionMask","persistentUuid":"e82c2e58-4fa8-45e2-a202-11cfac30b481","width":64.0,"x":288.0,"y":2207.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"CollisionMask","persistentUuid":"d871768f-3fb2-4ff3-8f21-c6d9534f5231","width":64.0,"x":417.0,"y":2335.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"CollisionMask","persistentUuid":"2cdc6700-1f1c-4c2f-bb5b-b175fa8612b3","width":64.0,"x":289.0,"y":543.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"CollisionMask","persistentUuid":"1c67b889-bc96-4ad9-94cf-8ea73e480df5","width":64.0,"x":418.0,"y":799.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"CollisionMask","persistentUuid":"ab3e504f-73b1-408e-b80c-ff8dea4f7c86","width":64.0,"x":544.0,"y":160.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"CollisionMask","persistentUuid":"7dee8527-f837-4093-a89b-9efbea6122cb","width":64.0,"x":1441.0,"y":417.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"CollisionMask","persistentUuid":"d74763b3-d392-4f76-806f-d7ccd0d4eaaf","width":64.0,"x":1056.0,"y":798.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"cff7c386-a766-4035-9bae-27d5867fe5d3","width":80.0,"x":1817.0,"y":791.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"CollisionMask","persistentUuid":"b352c91e-65e0-4c80-848b-2ae988984535","width":80.0,"x":1944.0,"y":920.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"CollisionMask","persistentUuid":"49055baf-8ecf-4ba8-9bdc-5d57056c3cc0","width":64.0,"x":672.0,"y":1567.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"CollisionMask","persistentUuid":"67ed4cd5-ef55-4f3b-b2c1-94851d888f83","width":64.0,"x":930.0,"y":1695.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"CollisionMask","persistentUuid":"98dc0433-6359-4bc4-a411-4ac301d091e6","width":64.0,"x":1571.0,"y":1694.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"CollisionMask","persistentUuid":"c9b8ccb2-9e1c-46d4-9765-405501cbe53c","width":64.0,"x":1825.0,"y":2078.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":76.0,"layer":"","name":"CollisionMask","persistentUuid":"16e2bbcf-b378-4535-b629-c5988927d6fd","width":101.0,"x":1934.0,"y":1178.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":76.0,"layer":"","name":"CollisionMask","persistentUuid":"ada9a100-4c2e-4c2a-8bcd-59069d96da29","width":101.0,"x":2062.0,"y":1178.0,"zOrder":1019,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"9795986e-9958-4fc0-ba54-99fc7f2e657d","width":2560.0,"x":0.0,"y":0.0,"zOrder":1020,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"741ac505-eec5-4e2a-b14a-e298bcc647d5","width":2560.0,"x":0.0,"y":2520.0,"zOrder":1020,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"054b8205-c88b-4d0f-9254-029a90653bdd","width":2560.0,"x":-1260.0,"y":1260.0,"zOrder":1020,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"687d13cd-7cd9-4e6b-be36-5131a6502076","width":2560.0,"x":1260.0,"y":1260.0,"zOrder":1020,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"2569bc91-5f17-4e53-8585-6e894bd3b9aa","width":792.0,"x":452.0,"y":2028.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"29872306-477a-4d77-801a-61e53342684b","width":137.0,"x":449.0,"y":1280.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"cc246059-31c5-4ee1-be07-583e54fec41f","width":157.0,"x":819.0,"y":1280.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"1a0a86b5-f571-4773-b5db-9765d55089db","width":76.0,"x":1305.0,"y":1515.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"3ab01c56-8995-4a46-b84a-d61f49f4a334","width":55.0,"x":1315.0,"y":1920.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"dbd836b5-1ae3-4723-92de-6a2314fba63c","width":576.0,"x":1536.0,"y":1408.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"36dd00f8-4895-4c9a-976e-8697b43872b3","width":638.0,"x":1476.0,"y":2284.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"418f4367-13cf-402d-a286-0b3db4d33999","width":150.0,"x":828.0,"y":512.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"c65960bf-e434-4bef-b352-49846ee4f077","width":125.0,"x":1218.0,"y":1132.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"497c8075-8cdb-4a92-a86b-2f68d1ab76e2","width":126.0,"x":834.0,"y":1132.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"0ebd4ac9-6ae6-4c1d-b08d-4cf7c9649266","width":640.0,"x":75.0,"y":1651.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"4d797d52-ca33-4dc1-bcc3-43b63445369e","width":518.0,"x":520.0,"y":820.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"185d5822-4fed-4294-8b03-0d8180cb739c","width":513.0,"x":1142.0,"y":821.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"70f35d42-222a-4efa-8c7b-4697c71b9565","width":253.0,"x":1292.0,"y":2101.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"e5b70fba-e1cf-4925-be37-5686fb14f1e1","width":269.0,"x":2032.0,"y":2099.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"6cef31c7-a4b8-4f78-887b-1b37d55405c0","width":272.0,"x":2030.0,"y":1598.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"9a9b3ce5-c8ea-40f1-bcdb-31a070fdb143","width":57.0,"x":1134.0,"y":1215.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"a7a67675-c410-40cd-8fc0-68f2398bdc2a","width":45.0,"x":992.0,"y":1208.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"781c9e09-b8e3-42b2-beca-f50f0f252db8","width":88.0,"x":1448.0,"y":1408.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":307.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"1869b056-87dd-4509-8d20-6f0fb06a6fd5","width":140.0,"x":1344.0,"y":1461.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":39.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"71bf9eba-a52b-49fe-93af-2402aed19749","width":65.0,"x":1255.0,"y":1496.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"24b98206-bed4-481e-bf7a-64ec526bc882","width":151.0,"x":1191.0,"y":1409.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"49d37539-8db8-4157-8ebc-7b6e8b3f397d","width":150.0,"x":1141.0,"y":1289.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":135.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"cd07dc3e-1e57-4c8a-8423-25e63f8144d5","width":90.0,"x":1149.0,"y":1162.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":135.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"4f3eb1c2-cfb1-4cbb-a496-b6ac6470a5ca","width":90.0,"x":1324.0,"y":1102.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"e1afdb17-2749-4c91-bda6-9a1b147a71fa","width":90.0,"x":1324.0,"y":541.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":135.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"5baeba0e-7e4d-48ed-9fc7-3f67379319d3","width":90.0,"x":760.0,"y":541.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"970a9fd7-89b9-4dd4-b4c4-f1dafc3d5939","width":142.0,"x":1201.0,"y":512.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"fe91a2d9-7d1f-4708-89f3-7b1b57c76e2a","width":90.0,"x":762.0,"y":1102.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"1e29de80-c055-4420-b737-d6191b4b1d52","width":90.0,"x":940.0,"y":1162.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":130.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"522919fe-d9c9-44a4-8e86-f2e56a61eef8","width":75.0,"x":955.0,"y":1254.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":135.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"8b9d7427-6194-48c5-b6c4-c92e916b521f","width":90.0,"x":380.0,"y":1308.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"28c21c0d-ebe1-4e50-9dfb-b40f43f38a98","width":90.0,"x":383.0,"y":1998.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":307.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"82b54abe-bdde-4b4e-9fd0-f2e53f252bc0","width":140.0,"x":1208.0,"y":1974.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"ccd8c3a9-135d-4815-acd9-41649166fb1f","width":90.0,"x":1345.0,"y":1948.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"1822ccf7-bff0-40b5-b019-7645560ff34c","width":90.0,"x":1405.0,"y":2252.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":135.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"dad2a11b-4bc4-4367-b1ec-39eac5aa6fe0","width":90.0,"x":2093.0,"y":2257.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":45.0,"customSize":true,"depth":0.0,"height":20.0,"layer":"","name":"CollisionMask","persistentUuid":"4c0cf784-b523-4603-a4c0-2fb4f381f7d9","width":90.0,"x":2091.0,"y":1437.0,"zOrder":1021,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"ac3d43f7-e729-47c5-a167-40bcacd11348","width":0.0,"x":832.0,"y":1600.0,"zOrder":1022,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"3669e6b2-0aa4-4f66-958a-fb9c778970c7","width":0.0,"x":448.0,"y":1216.0,"zOrder":1023,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Index","type":"number","value":0.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"6bdd0e0f-c6a1-4537-b554-89440a229578","width":0.0,"x":1088.0,"y":2240.0,"zOrder":1024,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"0ed46446-88c5-4baf-bbdb-5c7f530d48ee","width":0.0,"x":1856.0,"y":1728.0,"zOrder":1025,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"0a4c345e-aa14-4020-8334-b8a94d480351","width":0.0,"x":1216.0,"y":832.0,"zOrder":1026,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"672aa455-8af4-43f6-b0fb-7df7cc3de191","width":0.0,"x":960.0,"y":960.0,"zOrder":1027,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"1979d95e-566f-4c5e-ae4a-d19123b52845","width":0.0,"x":1984.0,"y":704.0,"zOrder":1028,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"0e9703b3-5b82-4d6c-9a38-ce304bfce28e","width":0.0,"x":1346.0,"y":2112.0,"zOrder":1029,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"6e51fdfc-0909-4406-b141-886f6e528239","width":0.0,"x":2364.0,"y":2365.0,"zOrder":1030,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"d7a023a7-0218-41a5-a0f9-5b4109817d52","width":0.0,"x":834.0,"y":1215.0,"zOrder":1031,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"491b23da-c6f5-4db9-8885-b7fcd4a85091","width":0.0,"x":1348.0,"y":1731.0,"zOrder":1032,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Crown","persistentUuid":"f95480df-9385-41f4-b731-f1284957af2a","width":0.0,"x":1986.0,"y":1093.0,"zOrder":1033,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"7cae04f2-013a-40c2-87fd-f8ff922d5d59","width":0.0,"x":2367.0,"y":1601.0,"zOrder":1034,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"05bc1c22-4abc-4b77-a301-ecd3336a3bef","width":0.0,"x":1348.0,"y":1347.0,"zOrder":1035,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"c314bdcb-be49-4b54-b8db-e65d6aa7d766","width":0.0,"x":2238.0,"y":194.0,"zOrder":1036,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"56712d68-f3e3-4c23-9b0f-7e0d858ea571","width":0.0,"x":575.0,"y":325.0,"zOrder":1037,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"8794858b-dd69-499c-8dbd-de9c71258635","width":896.0,"x":384.0,"y":2003.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"4a884f6d-add5-45d7-8cf5-0a8c44c4f7d9","width":128.0,"x":1280.0,"y":1491.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"820fd58f-649f-4b99-83cf-d69e0ef00d9a","width":128.0,"x":1280.0,"y":1920.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"5b5b990f-4fbf-4fd8-9558-7bc7559bf411","width":768.0,"x":1408.0,"y":1408.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"4bd12ed0-1af4-4825-a211-40be849998fc","width":768.0,"x":1408.0,"y":2259.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"e68c8ef4-b369-41dd-807a-bb56ba3f94b0","width":256.0,"x":768.0,"y":1107.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"58b5d860-51f1-4e44-bbf2-8f5cbb19dfd4","width":256.0,"x":1152.0,"y":1107.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"cfbf9bf4-6fe2-4f53-bbef-d43158a58fd1","width":128.0,"x":1152.0,"y":1280.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"1aae1555-4a5c-40a1-b1d1-de5b3e684fa6","width":2560.0,"x":0.0,"y":2515.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"8aeedfd5-e791-4e03-8240-6bd8c03270a7","width":2560.0,"x":0.0,"y":0.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"f0e7f675-9451-4428-abf1-5acf7c419a15","width":2560.0,"x":-1257.0,"y":1258.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"f8a2636b-6e1b-4198-85fa-b71699a0304a","width":2560.0,"x":1258.0,"y":1258.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"f8cab153-30bc-4fac-8235-3600c6197e11","width":641.0,"x":1066.0,"y":810.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"5fbdb388-4511-48e0-8fa2-befbd7b283fa","width":641.0,"x":470.0,"y":810.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"1aef1af4-bceb-43af-98c6-38284b95a985","width":768.0,"x":23.0,"y":1642.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"5c4ef1f3-850a-4b1d-9755-3a2125b9cede","width":128.0,"x":938.0,"y":1194.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"34e46036-431f-4af8-a40c-455f03df815d","width":128.0,"x":1111.0,"y":1194.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"dec9e152-99ef-40e2-b442-ede0df0ee176","width":128.0,"x":1367.0,"y":1450.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"dc631707-433f-44b2-b16c-06b477049bf1","width":257.0,"x":1130.0,"y":1386.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"440709cc-d2f3-4cf9-80c4-218f17ad7db1","width":128.0,"x":1194.0,"y":1962.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"7ef62f97-968a-4caa-8f77-c69649ea62ce","width":384.0,"x":1239.0,"y":2090.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"e4788c93-9bca-46e1-a88d-db94a155dcdb","width":384.0,"x":1962.0,"y":2090.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"da7d4fda-23a2-43d4-a599-56b4644a7efb","width":384.0,"x":1962.0,"y":1578.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"3abcb522-b5e9-425c-8c31-f31a543f8fa3","width":256.0,"x":768.0,"y":512.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"51c72d33-1ee1-4618-a5a5-8c3a4cf40945","width":256.0,"x":1152.0,"y":512.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"3d37c443-2ef0-4e8b-acfa-3ed9d763357e","width":256.0,"x":384.0,"y":1280.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"ef7dd884-b0d9-43f0-8c22-2aae0641e20d","width":256.0,"x":768.0,"y":1280.0,"zOrder":1038,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"16e8fbda-1585-4c68-be2a-a123b04cdd23","width":64.0,"x":288.0,"y":2207.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"5c6730e6-20d5-4e2d-a92b-b8b9481385ce","width":64.0,"x":417.0,"y":2335.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"28ef68e8-3097-4d9a-88c6-f8c4fa4b035c","width":64.0,"x":1825.0,"y":2078.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"b3bc2a61-6698-4dc3-9546-1180efaf54c8","width":64.0,"x":1571.0,"y":1694.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"b1b4e3bb-57ba-46f1-90b4-9c03c3931989","width":64.0,"x":930.0,"y":1695.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"47ed0d81-e099-46de-98df-825b8dc0cff5","width":64.0,"x":672.0,"y":1567.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"655a0447-a955-462e-bd7c-08aff19df726","width":64.0,"x":1056.0,"y":798.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"4c3bade3-beb1-4b04-807e-ffdc1d819f6d","width":64.0,"x":418.0,"y":799.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"cba5d4c6-81c3-435d-a653-42e3388f8f3e","width":64.0,"x":289.0,"y":543.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"3ed71a5a-317f-46d8-a30a-17b4b24c7e02","width":64.0,"x":544.0,"y":160.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"LightObstacle","persistentUuid":"08c00d1e-b3eb-45a7-8d17-77a36f2c2146","width":64.0,"x":1441.0,"y":417.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"2d08d306-d2eb-4de6-a0bc-1d08a17edc5d","width":80.0,"x":1817.0,"y":791.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":80.0,"layer":"","name":"LightObstacle","persistentUuid":"54aafaa3-e8ad-4b25-b7f5-f0efa561210f","width":80.0,"x":1944.0,"y":920.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":76.0,"layer":"","name":"LightObstacle","persistentUuid":"05fef69f-44c3-46c7-8df3-f56f7c23eb19","width":101.0,"x":1934.0,"y":1178.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":76.0,"layer":"","name":"LightObstacle","persistentUuid":"86718e43-6e7e-4796-a3e4-04464460dadb","width":101.0,"x":2062.0,"y":1178.0,"zOrder":1039,"numberProperties":[],"stringProperties":[],"initialVariables":[]}],"objects":[{"assetStoreId":"","name":"Floor","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"Path Straight","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_path.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Path Curve","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_path_curve.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Path Cross","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_path_crossing.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Grass","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\grass.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Wall","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_wall.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Wall Corner","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_wall_corner.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Door Close","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_door_closed.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Door Open","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_door_open.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Tiles","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\tiles.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Crate","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_crate_small.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Player","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"CurrentAnimation","type":"number","value":0.0}],"effects":[{"effectType":"CRT","name":"Effect","doubleParameters":{"animationFrequency":10.0,"animationSpeed":0.5,"curvature":1.0,"lineContrast":0.25,"lineWidth":1.0,"noise":0.3,"noiseSize":1.0,"padding":0.0,"vignetting":0.3,"vignettingAlpha":1.0,"vignettingBlur":0.3},"stringParameters":{},"booleanParameters":{"verticalLine":false}}],"behaviors":[{"name":"Pathfinding","type":"PathfindingBehavior::PathfindingBehavior","acceleration":10000.0,"maxSpeed":600.0,"allowDiagonals":true,"angleOffset":0.0,"angularMaxSpeed":180.0,"cellHeight":128.0,"cellWidth":128.0,"extraBorder":0.0,"gridOffsetX":64.0,"gridOffsetY":64.0,"rotateObject":true,"smoothingMaxCellGap":1.0},{"name":"SmoothCamera","type":"SmoothCamera::SmoothCamera","LeftwardSpeed":0.9,"RightwardSpeed":0.9,"UpwardSpeed":0.9,"DownwardSpeed":0.9,"FollowOnX":true,"FollowOnY":true,"FollowFreeAreaLeft":0.0,"FollowFreeAreaRight":0.0,"FollowFreeAreaTop":0.0,"FollowFreeAreaBottom":0.0,"CameraOffsetX":0.0,"CameraOffsetY":0.0,"CameraDelay":0.0,"ForecastTime":0.0,"ForecastHistoryDuration":0.0,"LogLeftwardSpeed":0.0,"LogRightwardSpeed":0.0,"LogDownwardSpeed":0.0,"LogUpwardSpeed":0.0,"DelayedCenterX":0.0,"DelayedCenterY":0.0,"ForecastHistoryMeanX":0.0,"ForecastHistoryMeanY":0.0,"ForecastHistoryVarianceX":0.0,"ForecastHistoryCovariance":0.0,"ForecastHistoryLinearA":0.0,"ForecastHistoryLinearB":0.0,"ForecastedX":0.0,"ForecastedY":0.0,"ProjectedNewestX":0.0,"ProjectedNewestY":0.0,"ProjectedOldestX":0.0,"ProjectedOldestY":0.0,"ForecastHistoryVarianceY":0.0,"Index":0.0,"CameraDelayCatchUpSpeed":0.0,"CameraExtraDelay":0.0,"WaitingSpeedXMax":0.0,"WaitingSpeedYMax":0.0,"WaitingEnd":0.0,"CameraDelayCatchUpDuration":0.0,"LeftwardSpeedMax":9000.0,"RightwardSpeedMax":9000.0,"UpwardSpeedMax":9000.0,"DownwardSpeedMax":9000.0,"OldX":9000.0,"OldY":9000.0,"IsCalledManually":false}],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"PlayerIcon","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"CRT","name":"Effect","doubleParameters":{"animationFrequency":10.0,"animationSpeed":0.5,"curvature":1.0,"lineContrast":0.25,"lineWidth":1.0,"noise":0.3,"noiseSize":1.0,"padding":0.0,"vignetting":0.3,"vignettingAlpha":1.0,"vignettingBlur":0.3},"stringParameters":{},"booleanParameters":{"verticalLine":false}}],"behaviors":[],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"Enemy","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"Index","type":"number","value":0.0}],"effects":[],"behaviors":[{"name":"Pathfinding","type":"PathfindingBehavior::PathfindingBehavior","acceleration":10000.0,"maxSpeed":1000.0,"allowDiagonals":true,"angleOffset":0.0,"angularMaxSpeed":180.0,"cellHeight":128.0,"cellWidth":128.0,"extraBorder":0.0,"gridOffsetX":64.0,"gridOffsetY":64.0,"rotateObject":true,"smoothingMaxCellGap":1.0}],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"PlayerAttack","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]}]},{"assetStoreId":"","height":128.0,"name":"CollisionMask","tags":"","texture":"Assets\\Indicator.png","type":"TiledSpriteObject::TiledSprite","width":128.0,"variables":[{"folded":true,"name":"IsTemp","type":"boolean","value":false}],"effects":[],"behaviors":[{"name":"PathfindingObstacle","type":"PathfindingBehavior::PathfindingObstacleBehavior","cost":2.0,"impassable":false}]},{"assetStoreId":"","height":128.0,"name":"LightObstacle","tags":"","texture":"Assets\\Indicator.png","type":"TiledSpriteObject::TiledSprite","width":128.0,"variables":[],"effects":[],"behaviors":[{"name":"LightObstacleBehavior","type":"Lighting::LightObstacleBehavior"}]},{"assetStoreId":"","name":"MouseIndicator","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[{"name":"LastPosition","type":"structure","children":[{"folded":true,"name":"x","type":"number","value":0.0},{"name":"y","type":"number","value":0.0}]}],"effects":[{"effectType":"ColorReplace","name":"Red","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"255;0;0","originalColor":"0;0;0"},"booleanParameters":{}},{"effectType":"ColorReplace","name":"Green","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"0;255;0","originalColor":"0;0;0"},"booleanParameters":{}}],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Indicator.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"EnemiesIndicator","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Red","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"255;0;0","originalColor":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Indicator.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"AttackIndicator","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Red","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"0;255;0","originalColor":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Indicator.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","bold":false,"italic":false,"name":"Text","smoothed":true,"tags":"","type":"TextObject::Text","underlined":false,"variables":[{"folded":true,"name":"Text","type":"string","value":"Test"},{"folded":true,"name":"Alignment","type":"string","value":"left"},{"folded":true,"name":"Index","type":"number","value":0.0}],"effects":[],"behaviors":[{"name":"Tween","type":"Tween::TweenBehavior"}],"string":"Text","font":"Assets\\Fonts\\Kenney Blocks.ttf","textAlignment":"left","characterSize":50.0,"color":{"b":200,"g":200,"r":200}},{"assetStoreId":"","name":"Crown","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"248;231;28","originalColor":"255;255;255"},"booleanParameters":{}},{"effectType":"Outline","name":"Effect2","doubleParameters":{"padding":0.0,"thickness":4.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Misc\\crown_a.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Energy","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"Outline","name":"Effect2","doubleParameters":{"padding":0.0,"thickness":2.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Misc\\flask_half.png","points":[],"originPoint":{"name":"origine","x":32.0,"y":32.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Frame","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"200;200;200","originalColor":"255;255;255"},"booleanParameters":{}}],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\d3_outline.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"DynamicLight","tags":"","type":"Lighting::LightObject","variables":[],"effects":[],"behaviors":[],"content":{"radius":500.0,"color":"255;255;255","debugMode":false,"texture":""}},{"assetStoreId":"","name":"Level","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\TiledMap\\Level2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Panel","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\grey_button00.png","points":[],"originPoint":{"name":"origine","x":190.0,"y":22.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"ScrollWheel","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\tile_0082.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Transition","tags":"","type":"PrimitiveDrawing::Drawer","variables":[],"effects":[],"behaviors":[{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter","Timer":1.0,"Color":"255;255;255","Type":"","Direction":"","MaxOpacity":255.0}],"fillOpacity":255.0,"outlineSize":1,"outlineOpacity":255.0,"fillColor":{"b":0,"g":0,"r":0},"outlineColor":{"b":0,"g":0,"r":0},"absoluteCoordinates":false,"clearBetweenFrames":true,"antialiasing":"none"}],"events":[{"type":"BuiltinCommonInstructions::Link","include":{"includeConfig":0},"target":"Setup"},{"type":"BuiltinCommonInstructions::Link","include":{"includeConfig":0},"target":"Player Behaviours"},{"type":"BuiltinCommonInstructions::Link","include":{"includeConfig":0},"target":"Enemies Behaviours"},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Level Start","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"DepartScene"},"parameters":[""]}],"actions":[{"type":{"value":"ModVarGlobalTxt"},"parameters":["CurrentLevel","=","\"Game Scene2\""]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Level End","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SceneInstancesCount"},"parameters":["","Crown","=","0"]}],"actions":[{"type":{"value":"Scene"},"parameters":["","\"Game Scene3\"",""]}]}],"parameters":[]}],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[]},{"ambientLightColorB":20,"ambientLightColorG":20,"ambientLightColorR":20,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":true,"isLightingLayer":true,"isLocked":false,"name":"Lighting","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"UI","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"Top","renderingType":"","visibility":true,"cameras":[],"effects":[]}],"behaviorsSharedData":[{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"LightObstacleBehavior","type":"Lighting::LightObstacleBehavior"},{"name":"Pathfinding","type":"PathfindingBehavior::PathfindingBehavior"},{"name":"PathfindingObstacle","type":"PathfindingBehavior::PathfindingObstacleBehavior"},{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"SmoothCamera","type":"SmoothCamera::SmoothCamera"},{"name":"Tween","type":"Tween::TweenBehavior"}]},{"b":255,"disableInputWhenNotFocused":true,"mangledName":"Game_32Scene","name":"Game Scene","r":255,"standardSortMethod":true,"stopSoundsOnStartup":false,"title":"","v":255,"uiSettings":{"grid":true,"gridType":"rectangular","gridWidth":128.0,"gridHeight":128.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":9868950.0,"gridAlpha":0.8,"snap":true,"zoomFactor":0.18781732880530647,"windowMask":false},"objectsGroups":[{"name":"Entities","objects":[{"name":"Player"},{"name":"PlayerAttack"}]},{"name":"Misc","objects":[{"name":"Crown"},{"name":"Energy"}]},{"name":"Enemies","objects":[{"name":"Enemy"},{"name":"EnemiesIndicator"}]}],"variables":[{"folded":true,"name":"IsPlayerTurn","type":"boolean","value":true},{"folded":true,"name":"Energy","type":"number","value":0.0},{"folded":true,"name":"Kills","type":"number","value":0.0},{"name":"Unlocked","type":"array","children":[{"type":"number","value":0.0}]},{"folded":true,"name":"UnlockedIndex","type":"number","value":0.0},{"folded":true,"name":"PickTest","type":"number","value":0.0},{"name":"Tutorial","type":"structure","children":[{"folded":true,"name":"Enemy","type":"boolean","value":false},{"folded":true,"name":"RedZone","type":"boolean","value":false}]}],"instances":[{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Player","persistentUuid":"b2ef109f-0fac-4669-b288-c28cee54b898","width":0.0,"x":960.0,"y":1728.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"5b613d67-f863-45c1-971b-30f7da145a4a","width":1920.0,"x":0.0,"y":0.0,"zOrder":4,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"f20bfa26-a304-4045-99ed-3cae96598567","width":1920.0,"x":0.0,"y":1880.0,"zOrder":4,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"e7154a2c-12af-4c97-977b-d745415dafa3","width":1920.0,"x":-940.0,"y":940.0,"zOrder":4,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"6767c103-76a2-4f09-9d17-559c1f64fac9","width":1920.0,"x":940.0,"y":940.0,"zOrder":4,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"7e487637-a5ff-44df-8315-3c45a7e4a39f","width":418.0,"x":414.0,"y":1368.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"9056e402-c006-4287-8788-f2d44e5ffb54","width":422.0,"x":1088.0,"y":1368.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"fc9a43b9-617d-4f58-a311-ecafc1ef2a4d","width":418.0,"x":414.0,"y":512.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"2b0269f1-e31b-4f23-8bba-51d40f7f30ed","width":424.0,"x":1088.0,"y":512.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"f2d1da83-b10f-45e6-b7c7-46d68bdf9735","width":836.0,"x":1098.0,"y":938.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":40.0,"layer":"","name":"CollisionMask","persistentUuid":"5d7d63df-520e-44f1-bc48-5d6c65bbc94d","width":846.0,"x":-19.0,"y":939.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"MouseIndicator","persistentUuid":"9d076612-47d7-49ed-b339-b454a6312042","width":0.0,"x":1984.0,"y":1984.0,"zOrder":1000,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"UI","name":"Text","persistentUuid":"d2c394a8-0880-47aa-8292-cfa8d0b3958b","width":501.0,"x":11.0,"y":0.0,"zOrder":1001,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Energy: 999"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"UI","name":"Text","persistentUuid":"e3668bf7-b536-46c2-8dda-60bdf85291b6","width":501.0,"x":1408.0,"y":0.0,"zOrder":1001,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Index","type":"number","value":1.0},{"folded":true,"name":"Alignment","type":"string","value":"right"},{"folded":true,"name":"Text","type":"string","value":"Kills: 0"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"61b12ddc-59ac-45fa-a23c-a1028f2cec82","width":0.0,"x":960.0,"y":960.0,"zOrder":1002,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"Frame","persistentUuid":"ba4d3858-5959-409e-a603-485e06783a8e","width":0.0,"x":1527.0,"y":896.0,"zOrder":1003,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"PlayerIcon","persistentUuid":"8057b1ad-18df-4060-96a8-e15ffbd18df3","width":0.0,"x":1591.0,"y":960.0,"zOrder":1004,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"Lighting","name":"DynamicLight","persistentUuid":"5a88ad83-32ba-4ee7-9cd4-e9f270aa3305","width":0.0,"x":1932.0,"y":1908.0,"zOrder":1006,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"bf514fb7-f6f3-4e7e-a0be-f751d5a68913","width":512.0,"x":384.0,"y":512.0,"zOrder":1007,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"b8b8ea99-73bb-4e6d-aea8-93464cc681ae","width":512.0,"x":1024.0,"y":512.0,"zOrder":1007,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"c9fcba43-a7e4-40f2-b153-09707544e8ee","width":512.0,"x":1024.0,"y":1363.0,"zOrder":1007,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"fef0e900-1b68-4989-a9d0-f9feb2fcceb1","width":512.0,"x":384.0,"y":1363.0,"zOrder":1007,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"a54416f2-292b-42bc-97e6-ed333e87971c","width":896.0,"x":-40.0,"y":938.0,"zOrder":1007,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"10e70843-b56c-425b-9eac-61bf7350d35d","width":897.0,"x":1066.0,"y":938.0,"zOrder":1007,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"d4939e80-e1f3-492a-a184-5edeee6d8b98","width":1920.0,"x":0.0,"y":0.0,"zOrder":1007,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"5f6156e6-2cb9-4503-8ff7-6129ae2921d8","width":1920.0,"x":0.0,"y":1875.0,"zOrder":1007,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"c4250131-1c5e-4105-b26a-24571f3e75b0","width":1920.0,"x":-937.0,"y":938.0,"zOrder":1007,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":0.0,"height":45.0,"layer":"","name":"LightObstacle","persistentUuid":"cb531bab-5967-42dc-a31d-a91921a9e7f5","width":1920.0,"x":940.0,"y":940.0,"zOrder":1007,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Level","persistentUuid":"8dc18d6b-5efd-4b9f-8942-0141d77f2d97","width":0.0,"x":0.0,"y":0.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":82.0,"layer":"UI","name":"Panel","persistentUuid":"598b50b9-cb64-4adb-a620-3124a666ef38","width":0.0,"x":1543.0,"y":963.0,"zOrder":1000,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"UI","name":"Text","persistentUuid":"bea199b1-c58a-488e-a419-7a56dc06856a","width":693.0,"x":845.0,"y":929.0,"zOrder":1009,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"New Piece Unlocked"},{"folded":true,"name":"Index","type":"number","value":2.0},{"folded":true,"name":"Alignment","type":"string","value":"center"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":48.0,"layer":"UI","name":"ScrollWheel","persistentUuid":"90041489-38be-47fc-8c93-5715d8822496","width":48.0,"x":1666.0,"y":941.0,"zOrder":1010,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"Text","persistentUuid":"78df13e3-b2f3-4fc3-8d8c-3637633625a6","width":0.0,"x":1722.0,"y":951.0,"zOrder":1011,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Scroll Wheel"},{"folded":true,"name":"Index","type":"number","value":3.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"11d5d29a-0d4c-4b3f-b9bc-154cdb9315a9","width":0.0,"x":959.0,"y":191.0,"zOrder":1013,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Enemy","persistentUuid":"5efb1be6-01d1-4505-885c-352864370a0b","width":0.0,"x":1728.0,"y":320.0,"zOrder":1014,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Index","type":"number","value":1.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Crown","persistentUuid":"e917fe83-5a8f-44dd-9590-082b243f6119","width":128.0,"x":320.0,"y":320.0,"zOrder":4,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"e52a685c-bc8c-4641-95f6-5a35af83ed8f","width":0.0,"x":1601.0,"y":1602.0,"zOrder":1016,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Energy","persistentUuid":"598eb918-9e67-4a5d-a4b6-f0ca41ee1cda","width":0.0,"x":322.0,"y":1599.0,"zOrder":1017,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"Transition","persistentUuid":"3e179b6c-2cc9-4782-8868-ff257ecbec22","width":0.0,"x":1888.0,"y":1920.0,"zOrder":1018,"numberProperties":[],"stringProperties":[],"initialVariables":[]}],"objects":[{"assetStoreId":"","name":"Floor","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"Path Straight","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_path.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Path Curve","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_path_curve.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Path Cross","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_path_crossing.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Grass","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\grass.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Wall","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_wall.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Wall Corner","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_wall_corner.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Door Close","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_door_closed.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Door Open","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_door_open.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Tiles","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\tiles.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"Crate","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Floor\\floor_crate_small.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Player","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"CurrentAnimation","type":"number","value":0.0}],"effects":[{"effectType":"CRT","name":"Effect","doubleParameters":{"animationFrequency":10.0,"animationSpeed":0.5,"curvature":1.0,"lineContrast":0.25,"lineWidth":1.0,"noise":0.3,"noiseSize":1.0,"padding":0.0,"vignetting":0.3,"vignettingAlpha":1.0,"vignettingBlur":0.3},"stringParameters":{},"booleanParameters":{"verticalLine":false}}],"behaviors":[{"name":"Pathfinding","type":"PathfindingBehavior::PathfindingBehavior","acceleration":10000.0,"maxSpeed":600.0,"allowDiagonals":true,"angleOffset":0.0,"angularMaxSpeed":180.0,"cellHeight":128.0,"cellWidth":128.0,"extraBorder":0.0,"gridOffsetX":64.0,"gridOffsetY":64.0,"rotateObject":true,"smoothingMaxCellGap":1.0},{"name":"SmoothCamera","type":"SmoothCamera::SmoothCamera","LeftwardSpeed":0.9,"RightwardSpeed":0.9,"UpwardSpeed":0.9,"DownwardSpeed":0.9,"FollowOnX":true,"FollowOnY":true,"FollowFreeAreaLeft":0.0,"FollowFreeAreaRight":0.0,"FollowFreeAreaTop":0.0,"FollowFreeAreaBottom":0.0,"CameraOffsetX":0.0,"CameraOffsetY":0.0,"CameraDelay":0.0,"ForecastTime":0.0,"ForecastHistoryDuration":0.0,"LogLeftwardSpeed":0.0,"LogRightwardSpeed":0.0,"LogDownwardSpeed":0.0,"LogUpwardSpeed":0.0,"DelayedCenterX":0.0,"DelayedCenterY":0.0,"ForecastHistoryMeanX":0.0,"ForecastHistoryMeanY":0.0,"ForecastHistoryVarianceX":0.0,"ForecastHistoryCovariance":0.0,"ForecastHistoryLinearA":0.0,"ForecastHistoryLinearB":0.0,"ForecastedX":0.0,"ForecastedY":0.0,"ProjectedNewestX":0.0,"ProjectedNewestY":0.0,"ProjectedOldestX":0.0,"ProjectedOldestY":0.0,"ForecastHistoryVarianceY":0.0,"Index":0.0,"CameraDelayCatchUpSpeed":0.0,"CameraExtraDelay":0.0,"WaitingSpeedXMax":0.0,"WaitingSpeedYMax":0.0,"WaitingEnd":0.0,"CameraDelayCatchUpDuration":0.0,"LeftwardSpeedMax":9000.0,"RightwardSpeedMax":9000.0,"UpwardSpeedMax":9000.0,"DownwardSpeedMax":9000.0,"OldX":9000.0,"OldY":9000.0,"IsCalledManually":false}],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"PlayerIcon","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"CRT","name":"Effect","doubleParameters":{"animationFrequency":10.0,"animationSpeed":0.5,"curvature":1.0,"lineContrast":0.25,"lineWidth":1.0,"noise":0.3,"noiseSize":1.0,"padding":0.0,"vignetting":0.3,"vignettingAlpha":1.0,"vignettingBlur":0.3},"stringParameters":{},"booleanParameters":{"verticalLine":false}}],"behaviors":[],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"Enemy","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"Index","type":"number","value":0.0}],"effects":[],"behaviors":[{"name":"Pathfinding","type":"PathfindingBehavior::PathfindingBehavior","acceleration":10000.0,"maxSpeed":1000.0,"allowDiagonals":true,"angleOffset":0.0,"angularMaxSpeed":180.0,"cellHeight":128.0,"cellWidth":128.0,"extraBorder":0.0,"gridOffsetX":64.0,"gridOffsetY":64.0,"rotateObject":true,"smoothingMaxCellGap":1.0}],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"PlayerAttack","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_hand.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":60.0,"y":72.0},{"x":72.0,"y":72.0},{"x":72.0,"y":60.0}]]}]}]}]},{"assetStoreId":"","height":128.0,"name":"CollisionMask","tags":"","texture":"Assets\\Indicator.png","type":"TiledSpriteObject::TiledSprite","width":128.0,"variables":[{"folded":true,"name":"IsTemp","type":"boolean","value":false}],"effects":[],"behaviors":[{"name":"PathfindingObstacle","type":"PathfindingBehavior::PathfindingObstacleBehavior","cost":2.0,"impassable":false}]},{"assetStoreId":"","height":128.0,"name":"LightObstacle","tags":"","texture":"Assets\\Indicator.png","type":"TiledSpriteObject::TiledSprite","width":128.0,"variables":[],"effects":[],"behaviors":[{"name":"LightObstacleBehavior","type":"Lighting::LightObstacleBehavior"}]},{"assetStoreId":"","name":"MouseIndicator","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[{"name":"LastPosition","type":"structure","children":[{"folded":true,"name":"x","type":"number","value":0.0},{"name":"y","type":"number","value":0.0}]}],"effects":[{"effectType":"ColorReplace","name":"Red","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"255;0;0","originalColor":"0;0;0"},"booleanParameters":{}},{"effectType":"ColorReplace","name":"Green","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"0;255;0","originalColor":"0;0;0"},"booleanParameters":{}}],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Indicator.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"EnemiesIndicator","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Red","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"255;0;0","originalColor":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Indicator.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"AttackIndicator","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Red","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"0;255;0","originalColor":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Indicator.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Crown","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"248;231;28","originalColor":"255;255;255"},"booleanParameters":{}},{"effectType":"Outline","name":"Effect2","doubleParameters":{"padding":0.0,"thickness":4.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Misc\\crown_a.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Energy","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"Outline","name":"Effect2","doubleParameters":{"padding":0.0,"thickness":2.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Misc\\flask_half.png","points":[],"originPoint":{"name":"origine","x":32.0,"y":32.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Frame","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"200;200;200","originalColor":"255;255;255"},"booleanParameters":{}}],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\d3_outline.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"DynamicLight","tags":"","type":"Lighting::LightObject","variables":[],"effects":[],"behaviors":[],"content":{"radius":500.0,"color":"255;255;255","debugMode":false,"texture":""}},{"assetStoreId":"","name":"Level","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\TiledMap\\Level1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Panel","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\grey_button00.png","points":[],"originPoint":{"name":"origine","x":190.0,"y":22.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"ScrollWheel","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\tile_0082.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Transition","tags":"","type":"PrimitiveDrawing::Drawer","variables":[],"effects":[],"behaviors":[{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter","Timer":1.0,"Color":"255;255;255","Type":"","Direction":"","MaxOpacity":255.0}],"fillOpacity":255.0,"outlineSize":1,"outlineOpacity":255.0,"fillColor":{"b":0,"g":0,"r":0},"outlineColor":{"b":0,"g":0,"r":0},"absoluteCoordinates":false,"clearBetweenFrames":true,"antialiasing":"none"}],"events":[{"type":"BuiltinCommonInstructions::Link","include":{"includeConfig":0},"target":"Setup"},{"type":"BuiltinCommonInstructions::Link","include":{"includeConfig":0},"target":"Player Behaviours"},{"type":"BuiltinCommonInstructions::Link","include":{"includeConfig":0},"target":"Enemies Behaviours"},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Level Start","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"DepartScene"},"parameters":[""]}],"actions":[{"type":{"value":"ModVarGlobalTxt"},"parameters":["CurrentLevel","=","\"Game Scene\""]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Tutorial Message","source":"","type":"BuiltinCommonInstructions::Group","events":[{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"DepartScene"},"parameters":[""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Text","Index","=","2"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"ModVarObjetTxt"},"parameters":["Text","Text","=","\"Click a Dot to Move\""]},{"type":{"value":"TextObject::ChangeColor"},"parameters":["Text","\"0;0;0\""]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","700","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","255","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["3"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","0","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","0","\"linear\"","1000",""]}]}]},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Visible"},"parameters":["Enemy"]},{"type":{"value":"SceneVariableAsBoolean"},"parameters":["Tutorial.RedZone",""]}],"actions":[{"type":{"value":"SetSceneVariableAsBoolean"},"parameters":["Tutorial.RedZone","True"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Text","Index","=","2"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"ModVarObjetTxt"},"parameters":["Text","Text","=","\"Beware Enemy\""]},{"type":{"value":"TextObject::ChangeColor"},"parameters":["Text","\"0;0;0\""]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","700","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","255","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["3"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","0","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","0","\"linear\"","1000",""]}]}]},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SceneInstancesCount"},"parameters":["","Enemy","=","1"]},{"type":{"value":"SceneVariableAsBoolean"},"parameters":["Tutorial.Enemy",""]}],"actions":[{"type":{"value":"SetSceneVariableAsBoolean"},"parameters":["Tutorial.Enemy","True"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Text","Index","=","2"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"Wait"},"parameters":["6"]},{"type":{"value":"ModVarObjetTxt"},"parameters":["Text","Text","=","\"Scroll Mouse Wheel\""]},{"type":{"value":"TextObject::ChangeColor"},"parameters":["Text","\"0;0;0\""]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","700","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","255","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["3"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","0","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","0","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1"]},{"type":{"value":"ModVarObjetTxt"},"parameters":["Text","Text","=","\"Skill Uses Energy\""]},{"type":{"value":"TextObject::ChangeColor"},"parameters":["Text","\"0;0;0\""]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","700","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","255","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["3"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","0","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","0","\"linear\"","1000",""]}]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Level End","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SceneInstancesCount"},"parameters":["","Crown","=","0"]}],"actions":[{"type":{"value":"Scene"},"parameters":["","\"Game Scene2\"",""]}]}],"parameters":[]}],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[]},{"ambientLightColorB":20,"ambientLightColorG":20,"ambientLightColorR":20,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":true,"isLightingLayer":true,"isLocked":false,"name":"Lighting","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"UI","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"Top","renderingType":"","visibility":true,"cameras":[],"effects":[]}],"behaviorsSharedData":[{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"LightObstacleBehavior","type":"Lighting::LightObstacleBehavior"},{"name":"Pathfinding","type":"PathfindingBehavior::PathfindingBehavior"},{"name":"PathfindingObstacle","type":"PathfindingBehavior::PathfindingObstacleBehavior"},{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"SmoothCamera","type":"SmoothCamera::SmoothCamera"},{"name":"Tween","type":"Tween::TweenBehavior"}]},{"b":209,"disableInputWhenNotFocused":true,"mangledName":"End_32Scene","name":"End Scene","r":209,"standardSortMethod":true,"stopSoundsOnStartup":false,"title":"","v":209,"uiSettings":{"grid":true,"gridType":"rectangular","gridWidth":128.0,"gridHeight":128.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":true,"zoomFactor":0.4913877545329406,"windowMask":false},"objectsGroups":[],"variables":[],"instances":[{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"67769bac-d3b1-4491-8e55-3d278a479cf9","width":1920.0,"x":0.0,"y":258.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Sketchy Crown Hunt"},{"folded":true,"name":"Alignment","type":"string","value":"center"}]},{"angle":348.0,"customSize":true,"depth":0.0,"height":2466.0,"layer":"Background","name":"Background","persistentUuid":"ceba8f0b-8785-468b-adac-d9743e816768","width":4112.0,"x":-995.0,"y":-691.0,"zOrder":-2,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":384.0,"layer":"","name":"Crown","persistentUuid":"7902cd5c-3bb8-444f-b446-1a0b6962cc03","width":384.0,"x":960.0,"y":269.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":32.0,"height":96.0,"layer":"","name":"Button","persistentUuid":"9eca2439-5578-4f27-9c33-8a4778ac1f4c","width":384.0,"x":768.0,"y":512.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Restart"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":96.0,"layer":"","name":"Button","persistentUuid":"f83eed40-cbf9-48b4-8be9-3b2c1c25ff90","width":384.0,"x":768.0,"y":640.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Guide"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"ecfb18e0-abe0-41d6-a02e-849f40cb57c8","width":384.0,"x":768.0,"y":768.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Settings"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Transition","persistentUuid":"e3d2ad34-1f0d-44b7-8a07-93548dcadae6","width":0.0,"x":1888.0,"y":1120.0,"zOrder":4,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"e5837dd1-4c75-4314-a9db-ec84d14a2318","width":1920.0,"x":0.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"5893d232-c8e7-4d11-9ca4-8402f410e60a","width":1920.0,"x":-2304.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedName","type":"string","value":"Settings"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"575c0846-cf77-4f10-8407-4c6e47892f85","width":384.0,"x":-1536.0,"y":768.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Back"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"fe155374-6f88-4b5f-a97b-b4c1baf8b04e","width":1920.0,"x":2304.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedName","type":"string","value":"Guide0"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"5b10bc0e-f468-4f87-b9c8-4abb10d07c95","width":384.0,"x":3072.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Skip"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"0e24ac94-a933-4794-87ff-0f2f89d1c4c4","width":384.0,"x":3712.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Next"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":10.0,"layer":"","name":"Slider","persistentUuid":"bd83fee5-ac99-4266-8901-b4b4bc9903d4","width":896.0,"x":-1792.0,"y":472.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedText","type":"string","value":"Music"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":10.0,"layer":"","name":"Slider","persistentUuid":"e2ccb863-0548-4591-aadf-d1069fb55521","width":896.0,"x":-1792.0,"y":600.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedText","type":"string","value":"Sound"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"31732e1b-0585-4f0f-8bec-4e4e95331b34","width":1920.0,"x":-2304.0,"y":256.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Settings"},{"folded":true,"name":"Alignment","type":"string","value":"center"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"1eed861f-3039-43ee-96af-62b10b742cef","width":384.0,"x":-1895.0,"y":460.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"left"},{"folded":true,"name":"Text","type":"string","value":"Music"},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"f6a3fa5a-28c5-473c-93df-9a9645701e89","width":256.0,"x":-1034.0,"y":460.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"right"},{"folded":true,"name":"Text","type":"string","value":"Volume"},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"42e53f6e-3004-48f2-9118-7cea85c69f77","width":384.0,"x":-1885.0,"y":588.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"left"},{"folded":true,"name":"Text","type":"string","value":"Sound"},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"d2e0bc42-ba1b-4946-8274-434d5d8ac4ca","width":256.0,"x":-1034.0,"y":588.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"right"},{"folded":true,"name":"Text","type":"string","value":"Volume"},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"PlayerIcon","persistentUuid":"780bcaa8-3300-471d-b4e8-d4a1573bf6ff","width":0.0,"x":2624.0,"y":320.0,"zOrder":7,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Crown","persistentUuid":"066cdd61-b734-4b99-abd0-b04801f33f59","width":0.0,"x":2624.0,"y":576.0,"zOrder":8,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Energy","persistentUuid":"81867bbb-0e01-453f-92c9-7c0959e13c5e","width":96.0,"x":2625.0,"y":448.0,"zOrder":9,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"51a53389-2df8-4d8d-951a-c1c99ef67945","width":0.0,"x":3264.0,"y":320.0,"zOrder":10,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"bf5997c0-4d97-4af4-a9e8-64d404541139","width":0.0,"x":3520.0,"y":320.0,"zOrder":11,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"834921aa-770c-48cf-b34d-f4ad490e6f59","width":0.0,"x":3264.0,"y":576.0,"zOrder":12,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"706a2857-746d-45eb-8040-b6977b2aacf7","width":0.0,"x":3520.0,"y":576.0,"zOrder":13,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"bec4f5da-a991-413c-9de8-1abc8b846623","width":0.0,"x":3392.0,"y":448.0,"zOrder":14,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"1e507240-9a5c-4512-a24b-b80399ed1fe1","width":512.0,"x":2688.0,"y":266.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Player"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"efdf003c-c663-45d7-9bca-dd9cf8193498","width":512.0,"x":2688.0,"y":394.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Energy Potion"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"f4792d75-2dd5-4131-b576-d44c5467bad7","width":512.0,"x":2688.0,"y":512.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Golden Crown"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"7cbe283f-f6e4-4b11-a5f7-1a814626ed1f","width":512.0,"x":3584.0,"y":256.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"center"},{"folded":true,"name":"Text","type":"string","value":"The Bad Guys:\nGreen\nBlue\nPurple\nYellow\nRed"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"0b073469-147f-4b74-9671-68886e778ffc","width":512.0,"x":2688.0,"y":330.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Size","type":"number","value":20.0},{"folded":true,"name":"Text","type":"string","value":"This is You, You is this."}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"eea91b95-29f0-462f-aaa6-3621fae73dbe","width":512.0,"x":2688.0,"y":458.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Size","type":"number","value":20.0},{"folded":true,"name":"Text","type":"string","value":"Drink this, you get big energy."}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"cc070d59-5b42-4f74-8b93-f3559c742490","width":512.0,"x":2899.0,"y":604.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Size","type":"number","value":20.0},{"folded":true,"name":"Text","type":"string","value":"this, find, win."}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"d405b545-c4f1-4a55-a61e-0ff365eb6b81","width":1920.0,"x":4608.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedName","type":"string","value":"Guide1"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"79138831-ab76-4dcf-8cb5-d6a5e4d9a50f","width":384.0,"x":6016.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":1.0},{"folded":true,"name":"Text","type":"string","value":"Next"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"13d08df2-6b6d-44ae-bc2b-75ea03e71d5c","width":384.0,"x":5376.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":1.0},{"folded":true,"name":"Text","type":"string","value":"Skip"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":413.0,"layer":"","name":"Guide1Png","persistentUuid":"33562331-6849-4b1e-8d20-7dc4e5259332","width":768.0,"x":5181.0,"y":56.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":76.0,"layer":"","name":"Frame","persistentUuid":"528da1f8-6195-4ecc-93fb-76f99fd147a0","width":169.0,"x":5807.0,"y":29.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"255;0;0"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":76.0,"layer":"","name":"Frame","persistentUuid":"8c069edd-f77d-4d83-8deb-d52327b72cb8","width":190.0,"x":5157.0,"y":29.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"0;0;255"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":169.0,"layer":"","name":"Frame","persistentUuid":"f165094a-adcb-47d6-ad87-c8af0449204b","width":183.0,"x":5473.0,"y":324.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"0;255;0"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":105.0,"layer":"","name":"Frame","persistentUuid":"c52be04a-d931-4d31-a2c0-f2cc2e9f66de","width":208.0,"x":5764.0,"y":386.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"75;0;205"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Frame","persistentUuid":"0bde141d-ed92-4652-af31-31c5310f9e18","width":96.0,"x":4736.0,"y":512.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"0;0;255"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Frame","persistentUuid":"e220dbc5-c61c-445a-9042-84e5f8490bcd","width":96.0,"x":5504.0,"y":512.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"255;0;0"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Frame","persistentUuid":"e5d8aeb5-139b-40ec-9aab-36ec1373f6f1","width":96.0,"x":4736.0,"y":640.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"0;255;0"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Frame","persistentUuid":"14aac8cd-de6a-47e2-9dcd-c6a77356cc4e","width":96.0,"x":5504.0,"y":640.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"75;0;205"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"d66a74ae-ae5a-4fc4-bc06-e2ae6213fcb9","width":868.0,"x":4852.0,"y":545.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Display Player's Energy."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"944bb2cc-759c-484f-a255-05398e121aa7","width":868.0,"x":5620.0,"y":545.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Display Player's Kills."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"5e239fc1-83d7-4ef5-b5d9-a0155ad6a703","width":868.0,"x":4852.0,"y":645.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Big circle represents player.\nClick on surrounding dots to move.\nEach color piece has unique move sets."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"c3b192f8-0178-43a4-b40c-27de9da8b0df","width":868.0,"x":5620.0,"y":645.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Use the scroll wheel to preview unlocked pieces' movesets.\nDefeat enemies to unlock their movesets.\nMoving with a new color consumes 1 energy, \nwhile previewing does not.\""},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"9af9734e-ecc8-440e-adab-9279192e7988","width":1920.0,"x":6912.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedName","type":"string","value":"Guide2"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"e9a89bb7-7157-4656-aeaa-2932e6f3a6ce","width":384.0,"x":8320.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":2.0},{"folded":true,"name":"Text","type":"string","value":"Okay"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"53ed7d8c-0d64-438b-b4b3-c95de297bdcf","width":384.0,"x":7040.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":2.0},{"folded":true,"name":"Text","type":"string","value":"Back"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"5e14e419-864b-4bc0-b6d8-a4a28f13541c","width":384.0,"x":4736.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":1.0},{"folded":true,"name":"Text","type":"string","value":"Back"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"ab96a900-e9c1-4892-8162-ee6d6e4b69c0","width":0.0,"x":7104.0,"y":192.0,"zOrder":19,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"65c858e4-ae0d-4561-abe8-ac8e46824260","width":0.0,"x":7168.0,"y":145.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Grunts"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"f28cb88a-9754-476b-aa3d-72c7cd5a3339","width":1408.0,"x":7168.0,"y":209.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 1 - The weakest foes, easy to handle."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"1597a1e1-5f3d-4839-84b9-767279ee7d10","width":1664.0,"x":4736.0,"y":778.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"center"},{"folded":true,"name":"Text","type":"string","value":"Combat Tips: To defeat enemies, collide with them during your turn to move. This can happen either by reaching the destination where the enemy is located or by colliding with them while moving towards the destination. Similarly, enemies can defeat you in the same way during their turn."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"a780c08e-b62d-4b38-8e1d-78fc4e985cd8","width":0.0,"x":7104.0,"y":320.0,"zOrder":19,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"e88eb1fc-64d3-4a04-82eb-9502737c2395","width":0.0,"x":7168.0,"y":273.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Rookies"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"f7984609-8a69-4d84-85b4-38b8c8b88f72","width":1408.0,"x":7168.0,"y":337.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 1 - Another weak type, not much of a challenge."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"fa36ab33-af40-4cdb-8852-bf8c6afb98bf","width":0.0,"x":7104.0,"y":448.0,"zOrder":19,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"8313848c-8433-4bf5-b795-60b3ba0a6f96","width":0.0,"x":7104.0,"y":576.0,"zOrder":19,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"1b0a07e5-e47f-449a-bcf3-6d257584c23a","width":0.0,"x":7168.0,"y":401.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Elites"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"ad742a8c-c6b9-4a6c-8eaf-0d61d9b19a4a","width":0.0,"x":7168.0,"y":529.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Aces"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"e4472c5d-7f9e-4204-a73b-a567b8054797","width":1408.0,"x":7168.0,"y":465.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 2 - These enemies are more skilled and pose a greater threat."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"47b4958a-c637-4f6b-a1cf-5557ff584cdd","width":1408.0,"x":7168.0,"y":593.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 3 - Highly experienced and dangerous; they cover a lot of ground each turn."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"3209d751-5ade-4cfa-bdbd-3b882b66aeb5","width":0.0,"x":7104.0,"y":704.0,"zOrder":19,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"79d30e4e-013e-4d14-95b6-a0af59a3d1ff","width":0.0,"x":7168.0,"y":657.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Reckless"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"66025257-1972-4000-a09c-af8fe7a9b7f0","width":1408.0,"x":7168.0,"y":721.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 4 - Extremely unpredictable; their multiple path choices make them deadly opponents."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"3fcc7599-59ac-456b-b510-16a3edd5bf61","width":384.0,"x":2432.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":0.0},{"folded":true,"name":"Text","type":"string","value":"Back"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"d6662d0a-7a9d-4360-97b6-c2468d48582f","width":384.0,"x":7680.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":2.0},{"folded":true,"name":"Text","type":"string","value":"Skip"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"f5c3d84e-d03a-4931-a513-057f221f78e6","width":384.0,"x":768.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Main Menu"}]}],"objects":[{"assetStoreId":"","height":128.0,"name":"Background","tags":"","texture":"Assets\\Floor\\tiles.png","type":"TiledSpriteObject::TiledSprite","width":128.0,"variables":[],"effects":[],"behaviors":[{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"}]},{"assetStoreId":"","name":"PlayerIcon","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"CRT","name":"Effect","doubleParameters":{"animationFrequency":10.0,"animationSpeed":0.5,"curvature":1.0,"lineContrast":0.25,"lineWidth":1.0,"noise":0.3,"noiseSize":1.0,"padding":0.0,"vignetting":0.3,"vignettingAlpha":1.0,"vignettingBlur":0.3},"stringParameters":{},"booleanParameters":{"verticalLine":false}}],"behaviors":[],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"EnemyIcon","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"Transition","tags":"","type":"PrimitiveDrawing::Drawer","variables":[],"effects":[],"behaviors":[{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter","Timer":1.0,"Color":"255;255;255","Type":"","Direction":"","MaxOpacity":255.0}],"fillOpacity":255.0,"outlineSize":1,"outlineOpacity":255.0,"fillColor":{"b":0,"g":0,"r":0},"outlineColor":{"b":0,"g":0,"r":0},"absoluteCoordinates":false,"clearBetweenFrames":true,"antialiasing":"none"},{"assetStoreId":"","name":"Crown","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"248;231;28","originalColor":"255;255;255"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Misc\\crown_a.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Energy","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"Outline","name":"Effect2","doubleParameters":{"padding":0.0,"thickness":2.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Misc\\flask_half.png","points":[],"originPoint":{"name":"origine","x":32.0,"y":32.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Button","tags":"","type":"PanelSpriteButton::PanelSpriteButton","variables":[{"folded":true,"name":"Text","type":"string","value":"Button"},{"folded":true,"name":"NextIndex","type":"number","value":0.0}],"effects":[],"behaviors":[],"content":{},"childrenContent":{"Hovered":{"bottomMargin":0.0,"height":49.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\blue_button13.png","tiled":false,"topMargin":0.0,"width":190.0},"Idle":{"bottomMargin":0.0,"height":49.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_button01.png","tiled":false,"topMargin":0.0,"width":190.0},"Label":{"bold":false,"italic":false,"smoothed":true,"underlined":false,"string":"Button","font":"Assets\\Fonts\\Kenney Blocks.ttf","textAlignment":"center","characterSize":40.0,"color":{"b":0,"g":0,"r":0}},"Pressed":{"bottomMargin":0.0,"height":49.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_button00.png","tiled":false,"topMargin":0.0,"width":190.0}}},{"assetStoreId":"","height":128.0,"name":"CameraIndicator","tags":"","texture":"Assets\\Indicator.png","type":"TiledSpriteObject::TiledSprite","width":128.0,"variables":[{"folded":true,"name":"AssignedName","type":"string","value":"Main Menu"}],"effects":[],"behaviors":[]},{"assetStoreId":"","name":"Slider","tags":"","type":"PanelSpriteSlider::PanelSpriteSlider","variables":[{"folded":true,"name":"AssignedText","type":"string","value":""}],"effects":[],"behaviors":[],"content":{},"childrenContent":{"Background":{"bottomMargin":0.0,"height":4.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_sliderHorizontal.png","tiled":false,"topMargin":0.0,"width":190.0},"FillBar":{"bottomMargin":0.0,"height":4.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_sliderHorizontal.png","tiled":false,"topMargin":0.0,"width":190.0},"Label":{"bold":false,"italic":false,"smoothed":true,"underlined":false,"string":"It displays the value when it changes.","font":"Assets\\Fonts\\Kenney Blocks.ttf","textAlignment":"","characterSize":20.0,"color":{"b":0,"g":0,"r":0}},"Thumb":{"bottomMargin":0.0,"height":42.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_sliderDown.png","tiled":false,"topMargin":0.0,"width":28.0}}},{"assetStoreId":"","name":"Guide1Png","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Guide\\1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Line","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\grey_sliderHorizontal.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","bottomMargin":20.0,"height":128.0,"leftMargin":19.0,"name":"Frame","rightMargin":19.0,"tags":"","texture":"Assets\\UI\\d3_outline.png","tiled":false,"topMargin":20.0,"type":"PanelSpriteObject::PanelSprite","width":128.0,"variables":[{"folded":true,"name":"ColorCode","type":"string","value":"255;255;255"}],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"255;255;255","originalColor":"255;255;255"},"booleanParameters":{}}],"behaviors":[]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"DepartScene"},"parameters":[""]}],"actions":[{"type":{"value":"Cache"},"parameters":["CameraIndicator"]},{"type":{"value":"ShakeObject::ShakeObject_PositionAngle::ShakeObject_PositionAngle"},"parameters":["Background","ShakeObject_PositionAngle","0","0","0","70","30","yes",""]}],"events":[{"type":"BuiltinCommonInstructions::ForEach","object":"Text","conditions":[],"actions":[{"type":{"value":"TextObject::ChangeColor"},"parameters":["Text","\"0;0;0\""]},{"type":{"value":"TextObject::SetTextAlignment"},"parameters":["Text","Text.VariableString(Alignment)"]},{"type":{"value":"TextObject::Text::SetFontSize"},"parameters":["Text","=","Text.Variable(Size)"]},{"type":{"value":"TextObject::String"},"parameters":["Text","=","Text.VariableString(Text)"]}]},{"type":"BuiltinCommonInstructions::ForEach","object":"Button","conditions":[],"actions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::SetLabelText"},"parameters":["Button","Button.VariableString(Text)",""]}]},{"type":"BuiltinCommonInstructions::ForEach","object":"Frame","conditions":[],"actions":[{"type":{"value":"SetEffectStringParameter"},"parameters":["Frame","\"Effect\"","\"newColor\"","Frame.VariableString(ColorCode)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Slider","AssignedText","=","\"Music\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetValue"},"parameters":["Slider","=","GlobalVariable(Settings.MusicVolume)",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Slider","AssignedText","=","\"Sound\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetValue"},"parameters":["Slider","=","GlobalVariable(Settings.SoundVolume)",""]}]}]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Interaction","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::IsClicked"},"parameters":["Button",""]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\switch2.ogg","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Main Menu\""]}],"actions":[{"type":{"value":"Wait"},"parameters":["0.2"]},{"type":{"value":"Scene"},"parameters":["","\"Main Menu\"",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Restart\""]}],"actions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PaintEffect"},"parameters":["Transition","FlashTransitionPainter","\"0;0;0\"","1.5","\"Circular\"","\"Forward\"","",""]},{"type":{"value":"Wait"},"parameters":["1.5"]},{"type":{"value":"Scene"},"parameters":["","GlobalVariableString(CurrentLevel)",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Settings\""]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Settings\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Guide\""]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide0\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Back\""]},{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Skip\""]},{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Okay\""]}]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Main Menu\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Next\""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","0"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide1\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","1"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide2\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Back\""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","0"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Main Menu\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","1"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide0\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","2"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide1\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","3"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide2\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::IsHovered"},"parameters":["Button",""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\rollover2.ogg","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::IsBeingDragged"},"parameters":["Slider",""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Slider","AssignedText","=","\"Sound\""]}],"actions":[{"type":{"value":"ModVarGlobal"},"parameters":["Settings.SoundVolume","=","Slider.Value()"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Slider","AssignedText","=","\"Music\""]}],"actions":[{"type":{"value":"ModVarGlobal"},"parameters":["Settings.MusicVolume","=","Slider.Value()"]}]}]}],"parameters":[]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[]}],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"Background","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[]}],"behaviorsSharedData":[{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"},{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}]},{"b":209,"disableInputWhenNotFocused":true,"mangledName":"Pause_32Scene","name":"Pause Scene","r":209,"standardSortMethod":true,"stopSoundsOnStartup":false,"title":"","v":209,"uiSettings":{"grid":true,"gridType":"rectangular","gridWidth":128.0,"gridHeight":128.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":true,"zoomFactor":0.270501260396258,"windowMask":false},"objectsGroups":[],"variables":[],"instances":[{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"67769bac-d3b1-4491-8e55-3d278a479cf9","width":1920.0,"x":0.0,"y":258.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Sketchy Crown Hunt"},{"folded":true,"name":"Alignment","type":"string","value":"center"}]},{"angle":348.0,"customSize":true,"depth":0.0,"height":2466.0,"layer":"Background","name":"Background","persistentUuid":"ceba8f0b-8785-468b-adac-d9743e816768","width":4112.0,"x":-995.0,"y":-691.0,"zOrder":-2,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":384.0,"layer":"","name":"Crown","persistentUuid":"7902cd5c-3bb8-444f-b446-1a0b6962cc03","width":384.0,"x":960.0,"y":269.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":32.0,"height":96.0,"layer":"","name":"Button","persistentUuid":"9eca2439-5578-4f27-9c33-8a4778ac1f4c","width":384.0,"x":768.0,"y":512.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Continue"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":96.0,"layer":"","name":"Button","persistentUuid":"f83eed40-cbf9-48b4-8be9-3b2c1c25ff90","width":384.0,"x":768.0,"y":640.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Guide"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"ecfb18e0-abe0-41d6-a02e-849f40cb57c8","width":384.0,"x":768.0,"y":768.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Settings"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Transition","persistentUuid":"e3d2ad34-1f0d-44b7-8a07-93548dcadae6","width":0.0,"x":1888.0,"y":1120.0,"zOrder":4,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"e5837dd1-4c75-4314-a9db-ec84d14a2318","width":1920.0,"x":0.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"5893d232-c8e7-4d11-9ca4-8402f410e60a","width":1920.0,"x":-2304.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedName","type":"string","value":"Settings"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"575c0846-cf77-4f10-8407-4c6e47892f85","width":384.0,"x":-1536.0,"y":768.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Back"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"fe155374-6f88-4b5f-a97b-b4c1baf8b04e","width":1920.0,"x":2304.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedName","type":"string","value":"Guide0"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"5b10bc0e-f468-4f87-b9c8-4abb10d07c95","width":384.0,"x":3072.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Skip"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"0e24ac94-a933-4794-87ff-0f2f89d1c4c4","width":384.0,"x":3712.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Next"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":10.0,"layer":"","name":"Slider","persistentUuid":"bd83fee5-ac99-4266-8901-b4b4bc9903d4","width":896.0,"x":-1792.0,"y":472.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedText","type":"string","value":"Music"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":10.0,"layer":"","name":"Slider","persistentUuid":"e2ccb863-0548-4591-aadf-d1069fb55521","width":896.0,"x":-1792.0,"y":600.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedText","type":"string","value":"Sound"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"31732e1b-0585-4f0f-8bec-4e4e95331b34","width":1920.0,"x":-2304.0,"y":256.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Settings"},{"folded":true,"name":"Alignment","type":"string","value":"center"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"1eed861f-3039-43ee-96af-62b10b742cef","width":384.0,"x":-1895.0,"y":460.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"left"},{"folded":true,"name":"Text","type":"string","value":"Music"},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"f6a3fa5a-28c5-473c-93df-9a9645701e89","width":256.0,"x":-1034.0,"y":460.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"right"},{"folded":true,"name":"Text","type":"string","value":"Volume"},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"42e53f6e-3004-48f2-9118-7cea85c69f77","width":384.0,"x":-1885.0,"y":588.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"left"},{"folded":true,"name":"Text","type":"string","value":"Sound"},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"d2e0bc42-ba1b-4946-8274-434d5d8ac4ca","width":256.0,"x":-1034.0,"y":588.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"right"},{"folded":true,"name":"Text","type":"string","value":"Volume"},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"PlayerIcon","persistentUuid":"780bcaa8-3300-471d-b4e8-d4a1573bf6ff","width":0.0,"x":2624.0,"y":320.0,"zOrder":7,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Crown","persistentUuid":"066cdd61-b734-4b99-abd0-b04801f33f59","width":0.0,"x":2624.0,"y":576.0,"zOrder":8,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Energy","persistentUuid":"81867bbb-0e01-453f-92c9-7c0959e13c5e","width":96.0,"x":2625.0,"y":448.0,"zOrder":9,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"51a53389-2df8-4d8d-951a-c1c99ef67945","width":0.0,"x":3264.0,"y":320.0,"zOrder":10,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"bf5997c0-4d97-4af4-a9e8-64d404541139","width":0.0,"x":3520.0,"y":320.0,"zOrder":11,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"834921aa-770c-48cf-b34d-f4ad490e6f59","width":0.0,"x":3264.0,"y":576.0,"zOrder":12,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"706a2857-746d-45eb-8040-b6977b2aacf7","width":0.0,"x":3520.0,"y":576.0,"zOrder":13,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"bec4f5da-a991-413c-9de8-1abc8b846623","width":0.0,"x":3392.0,"y":448.0,"zOrder":14,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"1e507240-9a5c-4512-a24b-b80399ed1fe1","width":512.0,"x":2688.0,"y":266.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Player"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"efdf003c-c663-45d7-9bca-dd9cf8193498","width":512.0,"x":2688.0,"y":394.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Energy Potion"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"f4792d75-2dd5-4131-b576-d44c5467bad7","width":512.0,"x":2688.0,"y":512.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Golden Crown"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"7cbe283f-f6e4-4b11-a5f7-1a814626ed1f","width":512.0,"x":3584.0,"y":256.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"center"},{"folded":true,"name":"Text","type":"string","value":"The Bad Guys:\nGreen\nBlue\nPurple\nYellow\nRed"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"0b073469-147f-4b74-9671-68886e778ffc","width":512.0,"x":2688.0,"y":330.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Size","type":"number","value":20.0},{"folded":true,"name":"Text","type":"string","value":"This is You, You is this."}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"eea91b95-29f0-462f-aaa6-3621fae73dbe","width":512.0,"x":2688.0,"y":458.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Size","type":"number","value":20.0},{"folded":true,"name":"Text","type":"string","value":"Drink this, you get big energy."}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"cc070d59-5b42-4f74-8b93-f3559c742490","width":512.0,"x":2899.0,"y":604.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Size","type":"number","value":20.0},{"folded":true,"name":"Text","type":"string","value":"this, find, win."}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"d405b545-c4f1-4a55-a61e-0ff365eb6b81","width":1920.0,"x":4608.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedName","type":"string","value":"Guide1"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"79138831-ab76-4dcf-8cb5-d6a5e4d9a50f","width":384.0,"x":6016.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":1.0},{"folded":true,"name":"Text","type":"string","value":"Next"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"13d08df2-6b6d-44ae-bc2b-75ea03e71d5c","width":384.0,"x":5376.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":1.0},{"folded":true,"name":"Text","type":"string","value":"Skip"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":413.0,"layer":"","name":"Guide1Png","persistentUuid":"33562331-6849-4b1e-8d20-7dc4e5259332","width":768.0,"x":5181.0,"y":56.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":76.0,"layer":"","name":"Frame","persistentUuid":"528da1f8-6195-4ecc-93fb-76f99fd147a0","width":169.0,"x":5807.0,"y":29.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"255;0;0"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":76.0,"layer":"","name":"Frame","persistentUuid":"8c069edd-f77d-4d83-8deb-d52327b72cb8","width":190.0,"x":5157.0,"y":29.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"0;0;255"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":169.0,"layer":"","name":"Frame","persistentUuid":"f165094a-adcb-47d6-ad87-c8af0449204b","width":183.0,"x":5473.0,"y":324.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"0;255;0"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":105.0,"layer":"","name":"Frame","persistentUuid":"c52be04a-d931-4d31-a2c0-f2cc2e9f66de","width":208.0,"x":5764.0,"y":386.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"75;0;205"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Frame","persistentUuid":"0bde141d-ed92-4652-af31-31c5310f9e18","width":96.0,"x":4736.0,"y":512.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"0;0;255"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Frame","persistentUuid":"e220dbc5-c61c-445a-9042-84e5f8490bcd","width":96.0,"x":5504.0,"y":512.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"255;0;0"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Frame","persistentUuid":"e5d8aeb5-139b-40ec-9aab-36ec1373f6f1","width":96.0,"x":4736.0,"y":640.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"0;255;0"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Frame","persistentUuid":"14aac8cd-de6a-47e2-9dcd-c6a77356cc4e","width":96.0,"x":5504.0,"y":640.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"75;0;205"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"d66a74ae-ae5a-4fc4-bc06-e2ae6213fcb9","width":868.0,"x":4852.0,"y":545.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Display Player's Energy."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"944bb2cc-759c-484f-a255-05398e121aa7","width":868.0,"x":5620.0,"y":545.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Display Player's Kills."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"5e239fc1-83d7-4ef5-b5d9-a0155ad6a703","width":868.0,"x":4852.0,"y":645.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Big circle represents player.\nClick on surrounding dots to move.\nEach color piece has unique move sets."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"c3b192f8-0178-43a4-b40c-27de9da8b0df","width":868.0,"x":5620.0,"y":645.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Use the scroll wheel to preview unlocked pieces' movesets.\nDefeat enemies to unlock their movesets.\nMoving with a new color consumes 1 energy, \nwhile previewing does not.\""},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"9af9734e-ecc8-440e-adab-9279192e7988","width":1920.0,"x":6912.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedName","type":"string","value":"Guide2"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"e9a89bb7-7157-4656-aeaa-2932e6f3a6ce","width":384.0,"x":8320.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":2.0},{"folded":true,"name":"Text","type":"string","value":"Okay"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"53ed7d8c-0d64-438b-b4b3-c95de297bdcf","width":384.0,"x":7040.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":2.0},{"folded":true,"name":"Text","type":"string","value":"Back"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"5e14e419-864b-4bc0-b6d8-a4a28f13541c","width":384.0,"x":4736.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":1.0},{"folded":true,"name":"Text","type":"string","value":"Back"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"ab96a900-e9c1-4892-8162-ee6d6e4b69c0","width":0.0,"x":7104.0,"y":192.0,"zOrder":19,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"65c858e4-ae0d-4561-abe8-ac8e46824260","width":0.0,"x":7168.0,"y":145.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Grunts"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"f28cb88a-9754-476b-aa3d-72c7cd5a3339","width":1408.0,"x":7168.0,"y":209.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 1 - The weakest foes, easy to handle."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"1597a1e1-5f3d-4839-84b9-767279ee7d10","width":1664.0,"x":4736.0,"y":778.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"center"},{"folded":true,"name":"Text","type":"string","value":"Combat Tips: To defeat enemies, collide with them during your turn to move. This can happen either by reaching the destination where the enemy is located or by colliding with them while moving towards the destination. Similarly, enemies can defeat you in the same way during their turn."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"a780c08e-b62d-4b38-8e1d-78fc4e985cd8","width":0.0,"x":7104.0,"y":320.0,"zOrder":19,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"e88eb1fc-64d3-4a04-82eb-9502737c2395","width":0.0,"x":7168.0,"y":273.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Rookies"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"f7984609-8a69-4d84-85b4-38b8c8b88f72","width":1408.0,"x":7168.0,"y":337.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 1 - Another weak type, not much of a challenge."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"fa36ab33-af40-4cdb-8852-bf8c6afb98bf","width":0.0,"x":7104.0,"y":448.0,"zOrder":19,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"8313848c-8433-4bf5-b795-60b3ba0a6f96","width":0.0,"x":7104.0,"y":576.0,"zOrder":19,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"1b0a07e5-e47f-449a-bcf3-6d257584c23a","width":0.0,"x":7168.0,"y":401.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Elites"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"ad742a8c-c6b9-4a6c-8eaf-0d61d9b19a4a","width":0.0,"x":7168.0,"y":529.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Aces"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"e4472c5d-7f9e-4204-a73b-a567b8054797","width":1408.0,"x":7168.0,"y":465.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 2 - These enemies are more skilled and pose a greater threat."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"47b4958a-c637-4f6b-a1cf-5557ff584cdd","width":1408.0,"x":7168.0,"y":593.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 3 - Highly experienced and dangerous; they cover a lot of ground each turn."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"3209d751-5ade-4cfa-bdbd-3b882b66aeb5","width":0.0,"x":7104.0,"y":704.0,"zOrder":19,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"79d30e4e-013e-4d14-95b6-a0af59a3d1ff","width":0.0,"x":7168.0,"y":657.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Reckless"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"66025257-1972-4000-a09c-af8fe7a9b7f0","width":1408.0,"x":7168.0,"y":721.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 4 - Extremely unpredictable; their multiple path choices make them deadly opponents."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"3fcc7599-59ac-456b-b510-16a3edd5bf61","width":384.0,"x":2432.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":0.0},{"folded":true,"name":"Text","type":"string","value":"Back"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"d6662d0a-7a9d-4360-97b6-c2468d48582f","width":384.0,"x":7680.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":2.0},{"folded":true,"name":"Text","type":"string","value":"Skip"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"f5c3d84e-d03a-4931-a513-057f221f78e6","width":384.0,"x":768.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Main Menu"}]}],"objects":[{"assetStoreId":"","height":128.0,"name":"Background","tags":"","texture":"Assets\\Floor\\tiles.png","type":"TiledSpriteObject::TiledSprite","width":128.0,"variables":[],"effects":[],"behaviors":[{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"}]},{"assetStoreId":"","name":"PlayerIcon","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"CRT","name":"Effect","doubleParameters":{"animationFrequency":10.0,"animationSpeed":0.5,"curvature":1.0,"lineContrast":0.25,"lineWidth":1.0,"noise":0.3,"noiseSize":1.0,"padding":0.0,"vignetting":0.3,"vignettingAlpha":1.0,"vignettingBlur":0.3},"stringParameters":{},"booleanParameters":{"verticalLine":false}}],"behaviors":[],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"EnemyIcon","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"Transition","tags":"","type":"PrimitiveDrawing::Drawer","variables":[],"effects":[],"behaviors":[{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter","Timer":1.0,"Color":"255;255;255","Type":"","Direction":"","MaxOpacity":255.0}],"fillOpacity":255.0,"outlineSize":1,"outlineOpacity":255.0,"fillColor":{"b":0,"g":0,"r":0},"outlineColor":{"b":0,"g":0,"r":0},"absoluteCoordinates":false,"clearBetweenFrames":true,"antialiasing":"none"},{"assetStoreId":"","name":"Crown","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"248;231;28","originalColor":"255;255;255"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Misc\\crown_a.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Energy","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"Outline","name":"Effect2","doubleParameters":{"padding":0.0,"thickness":2.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Misc\\flask_half.png","points":[],"originPoint":{"name":"origine","x":32.0,"y":32.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Button","tags":"","type":"PanelSpriteButton::PanelSpriteButton","variables":[{"folded":true,"name":"Text","type":"string","value":"Button"},{"folded":true,"name":"NextIndex","type":"number","value":0.0}],"effects":[],"behaviors":[],"content":{},"childrenContent":{"Hovered":{"bottomMargin":0.0,"height":49.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\blue_button13.png","tiled":false,"topMargin":0.0,"width":190.0},"Idle":{"bottomMargin":0.0,"height":49.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_button01.png","tiled":false,"topMargin":0.0,"width":190.0},"Label":{"bold":false,"italic":false,"smoothed":true,"underlined":false,"string":"Button","font":"Assets\\Fonts\\Kenney Blocks.ttf","textAlignment":"center","characterSize":40.0,"color":{"b":0,"g":0,"r":0}},"Pressed":{"bottomMargin":0.0,"height":49.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_button00.png","tiled":false,"topMargin":0.0,"width":190.0}}},{"assetStoreId":"","height":128.0,"name":"CameraIndicator","tags":"","texture":"Assets\\Indicator.png","type":"TiledSpriteObject::TiledSprite","width":128.0,"variables":[{"folded":true,"name":"AssignedName","type":"string","value":"Main Menu"}],"effects":[],"behaviors":[]},{"assetStoreId":"","name":"Slider","tags":"","type":"PanelSpriteSlider::PanelSpriteSlider","variables":[{"folded":true,"name":"AssignedText","type":"string","value":""}],"effects":[],"behaviors":[],"content":{},"childrenContent":{"Background":{"bottomMargin":0.0,"height":4.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_sliderHorizontal.png","tiled":false,"topMargin":0.0,"width":190.0},"FillBar":{"bottomMargin":0.0,"height":4.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_sliderHorizontal.png","tiled":false,"topMargin":0.0,"width":190.0},"Label":{"bold":false,"italic":false,"smoothed":true,"underlined":false,"string":"It displays the value when it changes.","font":"Assets\\Fonts\\Kenney Blocks.ttf","textAlignment":"","characterSize":20.0,"color":{"b":0,"g":0,"r":0}},"Thumb":{"bottomMargin":0.0,"height":42.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_sliderDown.png","tiled":false,"topMargin":0.0,"width":28.0}}},{"assetStoreId":"","name":"Guide1Png","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Guide\\1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Line","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\grey_sliderHorizontal.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","bottomMargin":20.0,"height":128.0,"leftMargin":19.0,"name":"Frame","rightMargin":19.0,"tags":"","texture":"Assets\\UI\\d3_outline.png","tiled":false,"topMargin":20.0,"type":"PanelSpriteObject::PanelSprite","width":128.0,"variables":[{"folded":true,"name":"ColorCode","type":"string","value":"255;255;255"}],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"255;255;255","originalColor":"255;255;255"},"booleanParameters":{}}],"behaviors":[]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"DepartScene"},"parameters":[""]}],"actions":[{"type":{"value":"Cache"},"parameters":["CameraIndicator"]},{"type":{"value":"ShakeObject::ShakeObject_PositionAngle::ShakeObject_PositionAngle"},"parameters":["Background","ShakeObject_PositionAngle","0","0","0","70","30","yes",""]}],"events":[{"type":"BuiltinCommonInstructions::ForEach","object":"Text","conditions":[],"actions":[{"type":{"value":"TextObject::ChangeColor"},"parameters":["Text","\"0;0;0\""]},{"type":{"value":"TextObject::SetTextAlignment"},"parameters":["Text","Text.VariableString(Alignment)"]},{"type":{"value":"TextObject::Text::SetFontSize"},"parameters":["Text","=","Text.Variable(Size)"]},{"type":{"value":"TextObject::String"},"parameters":["Text","=","Text.VariableString(Text)"]}]},{"type":"BuiltinCommonInstructions::ForEach","object":"Button","conditions":[],"actions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::SetLabelText"},"parameters":["Button","Button.VariableString(Text)",""]}]},{"type":"BuiltinCommonInstructions::ForEach","object":"Frame","conditions":[],"actions":[{"type":{"value":"SetEffectStringParameter"},"parameters":["Frame","\"Effect\"","\"newColor\"","Frame.VariableString(ColorCode)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Slider","AssignedText","=","\"Music\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetValue"},"parameters":["Slider","=","GlobalVariable(Settings.MusicVolume)",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Slider","AssignedText","=","\"Sound\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetValue"},"parameters":["Slider","=","GlobalVariable(Settings.SoundVolume)",""]}]}]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Interaction","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::IsClicked"},"parameters":["Button",""]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\switch2.ogg","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Main Menu\""]}],"actions":[{"type":{"value":"Wait"},"parameters":["0.2"]},{"type":{"value":"Scene"},"parameters":["","\"Main Menu\"",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Continue\""]}],"actions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PaintEffect"},"parameters":["Transition","FlashTransitionPainter","\"0;0;0\"","1.5","\"Circular\"","\"Forward\"","",""]},{"type":{"value":"Wait"},"parameters":["1.5"]},{"type":{"value":"PopScene"},"parameters":[""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Settings\""]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Settings\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Guide\""]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide0\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Back\""]},{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Skip\""]},{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Okay\""]}]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Main Menu\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Next\""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","0"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide1\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","1"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide2\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Back\""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","0"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Main Menu\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","1"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide0\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","2"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide1\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","3"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide2\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::IsHovered"},"parameters":["Button",""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\rollover2.ogg","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::IsBeingDragged"},"parameters":["Slider",""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Slider","AssignedText","=","\"Sound\""]}],"actions":[{"type":{"value":"ModVarGlobal"},"parameters":["Settings.SoundVolume","=","Slider.Value()"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Slider","AssignedText","=","\"Music\""]}],"actions":[{"type":{"value":"ModVarGlobal"},"parameters":["Settings.MusicVolume","=","Slider.Value()"]}]}]}],"parameters":[]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[]}],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"Background","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[]}],"behaviorsSharedData":[{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"},{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}]},{"b":209,"disableInputWhenNotFocused":true,"mangledName":"Main_32Menu","name":"Main Menu","r":209,"standardSortMethod":true,"stopSoundsOnStartup":false,"title":"","v":209,"uiSettings":{"grid":true,"gridType":"rectangular","gridWidth":128.0,"gridHeight":128.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":true,"zoomFactor":0.2987985363606936,"windowMask":false},"objectsGroups":[],"variables":[],"instances":[{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"67769bac-d3b1-4491-8e55-3d278a479cf9","width":1920.0,"x":0.0,"y":258.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Sketchy Crown Hunt"},{"folded":true,"name":"Alignment","type":"string","value":"center"}]},{"angle":348.0,"customSize":true,"depth":0.0,"height":2466.0,"layer":"Background","name":"Background","persistentUuid":"ceba8f0b-8785-468b-adac-d9743e816768","width":4112.0,"x":-995.0,"y":-691.0,"zOrder":-2,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":384.0,"layer":"","name":"Crown","persistentUuid":"7902cd5c-3bb8-444f-b446-1a0b6962cc03","width":384.0,"x":960.0,"y":269.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":32.0,"height":96.0,"layer":"","name":"Button","persistentUuid":"9eca2439-5578-4f27-9c33-8a4778ac1f4c","width":384.0,"x":768.0,"y":589.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Start Game"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":96.0,"layer":"","name":"Button","persistentUuid":"f83eed40-cbf9-48b4-8be9-3b2c1c25ff90","width":384.0,"x":768.0,"y":717.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Guide"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"ecfb18e0-abe0-41d6-a02e-849f40cb57c8","width":384.0,"x":768.0,"y":845.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Settings"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Transition","persistentUuid":"e3d2ad34-1f0d-44b7-8a07-93548dcadae6","width":0.0,"x":1888.0,"y":1120.0,"zOrder":4,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"e5837dd1-4c75-4314-a9db-ec84d14a2318","width":1920.0,"x":0.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"5893d232-c8e7-4d11-9ca4-8402f410e60a","width":1920.0,"x":-2304.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedName","type":"string","value":"Settings"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"575c0846-cf77-4f10-8407-4c6e47892f85","width":384.0,"x":-1536.0,"y":768.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Back"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"fe155374-6f88-4b5f-a97b-b4c1baf8b04e","width":1920.0,"x":2304.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedName","type":"string","value":"Guide0"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"5b10bc0e-f468-4f87-b9c8-4abb10d07c95","width":384.0,"x":3072.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Skip"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"0e24ac94-a933-4794-87ff-0f2f89d1c4c4","width":384.0,"x":3712.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Next"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":10.0,"layer":"","name":"Slider","persistentUuid":"bd83fee5-ac99-4266-8901-b4b4bc9903d4","width":896.0,"x":-1792.0,"y":472.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedText","type":"string","value":"Music"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":10.0,"layer":"","name":"Slider","persistentUuid":"e2ccb863-0548-4591-aadf-d1069fb55521","width":896.0,"x":-1792.0,"y":600.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedText","type":"string","value":"Sound"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"31732e1b-0585-4f0f-8bec-4e4e95331b34","width":1920.0,"x":-2304.0,"y":256.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Settings"},{"folded":true,"name":"Alignment","type":"string","value":"center"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"1eed861f-3039-43ee-96af-62b10b742cef","width":384.0,"x":-1895.0,"y":460.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"left"},{"folded":true,"name":"Text","type":"string","value":"Music"},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"f6a3fa5a-28c5-473c-93df-9a9645701e89","width":256.0,"x":-1034.0,"y":460.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"right"},{"folded":true,"name":"Text","type":"string","value":"Volume"},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"42e53f6e-3004-48f2-9118-7cea85c69f77","width":384.0,"x":-1885.0,"y":588.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"left"},{"folded":true,"name":"Text","type":"string","value":"Sound"},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"d2e0bc42-ba1b-4946-8274-434d5d8ac4ca","width":256.0,"x":-1034.0,"y":588.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"right"},{"folded":true,"name":"Text","type":"string","value":"Volume"},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"PlayerIcon","persistentUuid":"780bcaa8-3300-471d-b4e8-d4a1573bf6ff","width":0.0,"x":2624.0,"y":320.0,"zOrder":7,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Crown","persistentUuid":"066cdd61-b734-4b99-abd0-b04801f33f59","width":0.0,"x":2624.0,"y":576.0,"zOrder":8,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Energy","persistentUuid":"81867bbb-0e01-453f-92c9-7c0959e13c5e","width":96.0,"x":2625.0,"y":448.0,"zOrder":9,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"51a53389-2df8-4d8d-951a-c1c99ef67945","width":0.0,"x":3264.0,"y":320.0,"zOrder":10,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"bf5997c0-4d97-4af4-a9e8-64d404541139","width":0.0,"x":3520.0,"y":320.0,"zOrder":11,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"834921aa-770c-48cf-b34d-f4ad490e6f59","width":0.0,"x":3264.0,"y":576.0,"zOrder":12,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"706a2857-746d-45eb-8040-b6977b2aacf7","width":0.0,"x":3520.0,"y":576.0,"zOrder":13,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"bec4f5da-a991-413c-9de8-1abc8b846623","width":0.0,"x":3392.0,"y":448.0,"zOrder":14,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"1e507240-9a5c-4512-a24b-b80399ed1fe1","width":512.0,"x":2688.0,"y":266.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Player"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"efdf003c-c663-45d7-9bca-dd9cf8193498","width":512.0,"x":2688.0,"y":394.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Energy Potion"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"f4792d75-2dd5-4131-b576-d44c5467bad7","width":512.0,"x":2688.0,"y":512.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Golden Crown"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"7cbe283f-f6e4-4b11-a5f7-1a814626ed1f","width":512.0,"x":3584.0,"y":256.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"center"},{"folded":true,"name":"Text","type":"string","value":"The Bad Guys:\nGreen\nBlue\nPurple\nYellow\nRed"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"0b073469-147f-4b74-9671-68886e778ffc","width":512.0,"x":2688.0,"y":330.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Size","type":"number","value":20.0},{"folded":true,"name":"Text","type":"string","value":"This is You, You is this."}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"eea91b95-29f0-462f-aaa6-3621fae73dbe","width":512.0,"x":2688.0,"y":458.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Size","type":"number","value":20.0},{"folded":true,"name":"Text","type":"string","value":"Drink this, you get big energy."}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"cc070d59-5b42-4f74-8b93-f3559c742490","width":512.0,"x":2899.0,"y":604.0,"zOrder":15,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Size","type":"number","value":20.0},{"folded":true,"name":"Text","type":"string","value":"this, find, win."}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"d405b545-c4f1-4a55-a61e-0ff365eb6b81","width":1920.0,"x":4608.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedName","type":"string","value":"Guide1"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"79138831-ab76-4dcf-8cb5-d6a5e4d9a50f","width":384.0,"x":6016.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":1.0},{"folded":true,"name":"Text","type":"string","value":"Next"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"13d08df2-6b6d-44ae-bc2b-75ea03e71d5c","width":384.0,"x":5376.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":1.0},{"folded":true,"name":"Text","type":"string","value":"Skip"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":413.0,"layer":"","name":"Guide1Png","persistentUuid":"33562331-6849-4b1e-8d20-7dc4e5259332","width":768.0,"x":5181.0,"y":56.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":76.0,"layer":"","name":"Frame","persistentUuid":"528da1f8-6195-4ecc-93fb-76f99fd147a0","width":169.0,"x":5807.0,"y":29.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"255;0;0"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":76.0,"layer":"","name":"Frame","persistentUuid":"8c069edd-f77d-4d83-8deb-d52327b72cb8","width":190.0,"x":5157.0,"y":29.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"0;0;255"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":169.0,"layer":"","name":"Frame","persistentUuid":"f165094a-adcb-47d6-ad87-c8af0449204b","width":183.0,"x":5473.0,"y":324.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"0;255;0"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":105.0,"layer":"","name":"Frame","persistentUuid":"c52be04a-d931-4d31-a2c0-f2cc2e9f66de","width":208.0,"x":5764.0,"y":386.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"75;0;205"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Frame","persistentUuid":"0bde141d-ed92-4652-af31-31c5310f9e18","width":96.0,"x":4736.0,"y":512.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"0;0;255"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Frame","persistentUuid":"e220dbc5-c61c-445a-9042-84e5f8490bcd","width":96.0,"x":5504.0,"y":512.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"255;0;0"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Frame","persistentUuid":"e5d8aeb5-139b-40ec-9aab-36ec1373f6f1","width":96.0,"x":4736.0,"y":640.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"0;255;0"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":96.0,"layer":"","name":"Frame","persistentUuid":"14aac8cd-de6a-47e2-9dcd-c6a77356cc4e","width":96.0,"x":5504.0,"y":640.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"ColorCode","type":"string","value":"75;0;205"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"d66a74ae-ae5a-4fc4-bc06-e2ae6213fcb9","width":868.0,"x":4852.0,"y":545.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Display Player's Energy."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"944bb2cc-759c-484f-a255-05398e121aa7","width":868.0,"x":5620.0,"y":545.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Display Player's Kills."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"5e239fc1-83d7-4ef5-b5d9-a0155ad6a703","width":868.0,"x":4852.0,"y":645.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Big circle represents player.\nClick on surrounding dots to move.\nEach color piece has unique move sets."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"c3b192f8-0178-43a4-b40c-27de9da8b0df","width":868.0,"x":5620.0,"y":645.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Use the scroll wheel to preview unlocked pieces' movesets.\nDefeat enemies to unlock their movesets.\nMoving with a new color consumes 1 energy, \nwhile previewing does not.\""},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":1080.0,"layer":"","name":"CameraIndicator","persistentUuid":"9af9734e-ecc8-440e-adab-9279192e7988","width":1920.0,"x":6912.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"AssignedName","type":"string","value":"Guide2"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"e9a89bb7-7157-4656-aeaa-2932e6f3a6ce","width":384.0,"x":8320.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":2.0},{"folded":true,"name":"Text","type":"string","value":"Okay"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"53ed7d8c-0d64-438b-b4b3-c95de297bdcf","width":384.0,"x":7040.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":2.0},{"folded":true,"name":"Text","type":"string","value":"Back"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"5e14e419-864b-4bc0-b6d8-a4a28f13541c","width":384.0,"x":4736.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":1.0},{"folded":true,"name":"Text","type":"string","value":"Back"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"ab96a900-e9c1-4892-8162-ee6d6e4b69c0","width":0.0,"x":7104.0,"y":192.0,"zOrder":19,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"65c858e4-ae0d-4561-abe8-ac8e46824260","width":0.0,"x":7168.0,"y":145.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Grunts"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"f28cb88a-9754-476b-aa3d-72c7cd5a3339","width":1408.0,"x":7168.0,"y":209.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 1 - The weakest foes, easy to handle."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":128.0,"layer":"","name":"Text","persistentUuid":"1597a1e1-5f3d-4839-84b9-767279ee7d10","width":1664.0,"x":4736.0,"y":778.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Alignment","type":"string","value":"center"},{"folded":true,"name":"Text","type":"string","value":"Combat Tips: To defeat enemies, collide with them during your turn to move. This can happen either by reaching the destination where the enemy is located or by colliding with them while moving towards the destination. Similarly, enemies can defeat you in the same way during their turn."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"a780c08e-b62d-4b38-8e1d-78fc4e985cd8","width":0.0,"x":7104.0,"y":320.0,"zOrder":19,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"e88eb1fc-64d3-4a04-82eb-9502737c2395","width":0.0,"x":7168.0,"y":273.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Rookies"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"f7984609-8a69-4d84-85b4-38b8c8b88f72","width":1408.0,"x":7168.0,"y":337.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 1 - Another weak type, not much of a challenge."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"fa36ab33-af40-4cdb-8852-bf8c6afb98bf","width":0.0,"x":7104.0,"y":448.0,"zOrder":19,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"8313848c-8433-4bf5-b795-60b3ba0a6f96","width":0.0,"x":7104.0,"y":576.0,"zOrder":19,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"1b0a07e5-e47f-449a-bcf3-6d257584c23a","width":0.0,"x":7168.0,"y":401.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Elites"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"ad742a8c-c6b9-4a6c-8eaf-0d61d9b19a4a","width":0.0,"x":7168.0,"y":529.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Aces"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"e4472c5d-7f9e-4204-a73b-a567b8054797","width":1408.0,"x":7168.0,"y":465.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 2 - These enemies are more skilled and pose a greater threat."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"47b4958a-c637-4f6b-a1cf-5557ff584cdd","width":1408.0,"x":7168.0,"y":593.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 3 - Highly experienced and dangerous; they cover a lot of ground each turn."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"EnemyIcon","persistentUuid":"3209d751-5ade-4cfa-bdbd-3b882b66aeb5","width":0.0,"x":7104.0,"y":704.0,"zOrder":19,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Text","persistentUuid":"79d30e4e-013e-4d14-95b6-a0af59a3d1ff","width":0.0,"x":7168.0,"y":657.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"The Reckless"}]},{"angle":0.0,"customSize":true,"depth":0.0,"height":64.0,"layer":"","name":"Text","persistentUuid":"66025257-1972-4000-a09c-af8fe7a9b7f0","width":1408.0,"x":7168.0,"y":721.0,"zOrder":21,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"Text","type":"string","value":"Danger Level 4 - Extremely unpredictable; their multiple path choices make them deadly opponents."},{"folded":true,"name":"Size","type":"number","value":20.0}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"3fcc7599-59ac-456b-b510-16a3edd5bf61","width":384.0,"x":2432.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":0.0},{"folded":true,"name":"Text","type":"string","value":"Back"}]},{"angle":0.0,"customSize":true,"depth":32.0,"height":94.0,"layer":"","name":"Button","persistentUuid":"d6662d0a-7a9d-4360-97b6-c2468d48582f","width":384.0,"x":7680.0,"y":896.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"NextIndex","type":"number","value":2.0},{"folded":true,"name":"Text","type":"string","value":"Skip"}]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Logo","persistentUuid":"2ad736cf-216b-4451-8095-7fe72ee7ae6e","width":0.0,"x":1390.0,"y":824.0,"zOrder":22,"numberProperties":[],"stringProperties":[],"initialVariables":[]}],"objects":[{"assetStoreId":"","height":128.0,"name":"Background","tags":"","texture":"Assets\\Floor\\tiles.png","type":"TiledSpriteObject::TiledSprite","width":128.0,"variables":[],"effects":[],"behaviors":[{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"}]},{"assetStoreId":"","name":"PlayerIcon","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"CRT","name":"Effect","doubleParameters":{"animationFrequency":10.0,"animationSpeed":0.5,"curvature":1.0,"lineContrast":0.25,"lineWidth":1.0,"noise":0.3,"noiseSize":1.0,"padding":0.0,"vignetting":0.3,"vignettingAlpha":1.0,"vignettingBlur":0.3},"stringParameters":{},"booleanParameters":{"verticalLine":false}}],"behaviors":[],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"EnemyIcon","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"Green","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\green_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Blue","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\blue_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Purple","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\purple_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Yellow","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\yellow_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]},{"name":"Red","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"Assets\\Player\\red_character.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":60.0,"y":60.0},{"x":72.0,"y":60.0},{"x":72.0,"y":72.0},{"x":60.0,"y":72.0}]]}]}]}]},{"assetStoreId":"","name":"Transition","tags":"","type":"PrimitiveDrawing::Drawer","variables":[],"effects":[],"behaviors":[{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter","Timer":1.0,"Color":"255;255;255","Type":"","Direction":"","MaxOpacity":255.0}],"fillOpacity":255.0,"outlineSize":1,"outlineOpacity":255.0,"fillColor":{"b":0,"g":0,"r":0},"outlineColor":{"b":0,"g":0,"r":0},"absoluteCoordinates":false,"clearBetweenFrames":true,"antialiasing":"none"},{"assetStoreId":"","name":"Crown","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"248;231;28","originalColor":"255;255;255"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Misc\\crown_a.png","points":[],"originPoint":{"name":"origine","x":64.0,"y":64.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Energy","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"Outline","name":"Effect2","doubleParameters":{"padding":0.0,"thickness":2.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{}}],"behaviors":[{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Misc\\flask_half.png","points":[],"originPoint":{"name":"origine","x":32.0,"y":32.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Button","tags":"","type":"PanelSpriteButton::PanelSpriteButton","variables":[{"folded":true,"name":"Text","type":"string","value":"Button"},{"folded":true,"name":"NextIndex","type":"number","value":0.0}],"effects":[],"behaviors":[],"content":{},"childrenContent":{"Hovered":{"bottomMargin":0.0,"height":49.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\blue_button13.png","tiled":false,"topMargin":0.0,"width":190.0},"Idle":{"bottomMargin":0.0,"height":49.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_button01.png","tiled":false,"topMargin":0.0,"width":190.0},"Label":{"bold":false,"italic":false,"smoothed":true,"underlined":false,"string":"Button","font":"Assets\\Fonts\\Kenney Blocks.ttf","textAlignment":"center","characterSize":40.0,"color":{"b":0,"g":0,"r":0}},"Pressed":{"bottomMargin":0.0,"height":49.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_button00.png","tiled":false,"topMargin":0.0,"width":190.0}}},{"assetStoreId":"","height":128.0,"name":"CameraIndicator","tags":"","texture":"Assets\\Indicator.png","type":"TiledSpriteObject::TiledSprite","width":128.0,"variables":[{"folded":true,"name":"AssignedName","type":"string","value":"Main Menu"}],"effects":[],"behaviors":[]},{"assetStoreId":"","name":"Slider","tags":"","type":"PanelSpriteSlider::PanelSpriteSlider","variables":[{"folded":true,"name":"AssignedText","type":"string","value":""}],"effects":[],"behaviors":[],"content":{},"childrenContent":{"Background":{"bottomMargin":0.0,"height":4.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_sliderHorizontal.png","tiled":false,"topMargin":0.0,"width":190.0},"FillBar":{"bottomMargin":0.0,"height":4.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_sliderHorizontal.png","tiled":false,"topMargin":0.0,"width":190.0},"Label":{"bold":false,"italic":false,"smoothed":true,"underlined":false,"string":"It displays the value when it changes.","font":"Assets\\Fonts\\Kenney Blocks.ttf","textAlignment":"","characterSize":20.0,"color":{"b":0,"g":0,"r":0}},"Thumb":{"bottomMargin":0.0,"height":42.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"Assets\\UI\\grey_sliderDown.png","tiled":false,"topMargin":0.0,"width":28.0}}},{"assetStoreId":"","name":"Guide1Png","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\Guide\\1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"Line","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\grey_sliderHorizontal.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","bottomMargin":20.0,"height":128.0,"leftMargin":19.0,"name":"Frame","rightMargin":19.0,"tags":"","texture":"Assets\\UI\\d3_outline.png","tiled":false,"topMargin":20.0,"type":"PanelSpriteObject::PanelSprite","width":128.0,"variables":[{"folded":true,"name":"ColorCode","type":"string","value":"255;255;255"}],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"255;255;255","originalColor":"255;255;255"},"booleanParameters":{}}],"behaviors":[]},{"assetStoreId":"","name":"Logo","tags":"","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"Assets\\UI\\T2Rr1D.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"DepartScene"},"parameters":[""]}],"actions":[{"type":{"value":"Cache"},"parameters":["CameraIndicator"]},{"type":{"value":"ShakeObject::ShakeObject_PositionAngle::ShakeObject_PositionAngle"},"parameters":["Background","ShakeObject_PositionAngle","0","0","0","70","30","yes",""]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"SoundPlaying"},"parameters":["","10"]}],"actions":[{"type":{"value":"PlaySoundCanal"},"parameters":["","Assets\\Audio\\Light Music.ogg","10","yes","GlobalVariable(Settings.SoundVolume)","1"]}]},{"type":"BuiltinCommonInstructions::ForEach","object":"Text","conditions":[],"actions":[{"type":{"value":"TextObject::ChangeColor"},"parameters":["Text","\"0;0;0\""]},{"type":{"value":"TextObject::SetTextAlignment"},"parameters":["Text","Text.VariableString(Alignment)"]},{"type":{"value":"TextObject::Text::SetFontSize"},"parameters":["Text","=","Text.Variable(Size)"]},{"type":{"value":"TextObject::String"},"parameters":["Text","=","Text.VariableString(Text)"]}]},{"type":"BuiltinCommonInstructions::ForEach","object":"Button","conditions":[],"actions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::SetLabelText"},"parameters":["Button","Button.VariableString(Text)",""]}]},{"type":"BuiltinCommonInstructions::ForEach","object":"Frame","conditions":[],"actions":[{"type":{"value":"SetEffectStringParameter"},"parameters":["Frame","\"Effect\"","\"newColor\"","Frame.VariableString(ColorCode)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Slider","AssignedText","=","\"Music\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetValue"},"parameters":["Slider","=","GlobalVariable(Settings.MusicVolume)",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Slider","AssignedText","=","\"Sound\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetValue"},"parameters":["Slider","=","GlobalVariable(Settings.SoundVolume)",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PreloadSound"},"parameters":["","Assets\\Audio\\footstep_carpet_000.ogg"]},{"type":{"value":"PreloadSound"},"parameters":["","Assets\\Audio\\game_over.ogg"]},{"type":{"value":"PreloadSound"},"parameters":["","Assets\\Audio\\impactMining_004.ogg"]},{"type":{"value":"PreloadSound"},"parameters":["","Assets\\Audio\\rollover1.ogg"]},{"type":{"value":"PreloadSound"},"parameters":["","Assets\\Audio\\rollover2.ogg"]},{"type":{"value":"PreloadSound"},"parameters":["","Assets\\Audio\\switch2.ogg"]},{"type":{"value":"PreloadSound"},"parameters":["","Assets\\Audio\\you_win.ogg"]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVolumeSoundCanal"},"parameters":["","10","=","GlobalVariable(Settings.MusicVolume)"]}]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Interaction","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::IsClicked"},"parameters":["Button",""]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\switch2.ogg","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Start Game\""]}],"actions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PaintEffect"},"parameters":["Transition","FlashTransitionPainter","\"0;0;0\"","1.5","\"Circular\"","\"Forward\"","",""]},{"type":{"value":"Wait"},"parameters":["1.5"]},{"type":{"value":"Scene"},"parameters":["","\"Game Scene\"",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Settings\""]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Settings\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Guide\""]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide0\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Back\""]},{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Skip\""]},{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Okay\""]}]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Main Menu\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Next\""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","0"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide1\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","1"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide2\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Button","Text","=","\"Back\""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","0"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Main Menu\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","1"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide0\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","2"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide1\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Button","NextIndex","=","3"]},{"type":{"value":"VarObjetTxt"},"parameters":["CameraIndicator","AssignedName","=","\"Guide2\""]}],"actions":[{"type":{"value":"Tween::TweenCameraPosition"},"parameters":["","\"Left\"","CameraIndicator.CenterX()","CameraIndicator.CenterY()","","2000","\"easeOutSine\""]}]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::IsHovered"},"parameters":["Button",""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\rollover2.ogg","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::IsBeingDragged"},"parameters":["Slider",""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Slider","AssignedText","=","\"Sound\""]}],"actions":[{"type":{"value":"ModVarGlobal"},"parameters":["Settings.SoundVolume","=","Slider.Value()"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjetTxt"},"parameters":["Slider","AssignedText","=","\"Music\""]}],"actions":[{"type":{"value":"ModVarGlobal"},"parameters":["Settings.MusicVolume","=","Slider.Value()"]}]}]}],"parameters":[]}],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"Background","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[]}],"behaviorsSharedData":[{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"},{"name":"ShakeObject_PositionAngleScale","type":"ShakeObject::ShakeObject_PositionAngleScale"},{"name":"Tween","type":"Tween::TweenBehavior"}]}],"externalEvents":[{"associatedLayout":"Game Scene","lastChangeTimeStamp":0,"name":"Player Behaviours","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"folded":true,"name":"Movement","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"DepartScene"},"parameters":[""]}],"actions":[{"type":{"value":"Opacity"},"parameters":["MouseIndicator","=","100"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Snap mouse indicator to grid"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"MettreAutourPos"},"parameters":["MouseIndicator","CursorX()","CursorY()","0","0"]},{"type":{"value":"SnapToGrid::SnapObjectToVirtualGrid"},"parameters":["","MouseIndicator","128","128","64","64",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"PosX"},"parameters":["MouseIndicator","!=","MouseIndicator.Variable(LastPosition.x)"]},{"type":{"value":"PosY"},"parameters":["MouseIndicator","!=","MouseIndicator.Variable(LastPosition.y)"]}]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\rollover2.ogg","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["MouseIndicator","LastPosition.x","=","MouseIndicator.CenterX()"]},{"type":{"value":"ModVarObjet"},"parameters":["MouseIndicator","LastPosition.y","=","MouseIndicator.CenterY()"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Check if player can reach cursor position, green if true, red if false"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CollisionNP"},"parameters":["MouseIndicator","PlayerAttack","","",""]},{"type":{"value":"Visible"},"parameters":["PlayerAttack"]}],"actions":[{"type":{"value":"EnableEffect"},"parameters":["MouseIndicator","\"Green\"","yes"]},{"type":{"value":"EnableEffect"},"parameters":["MouseIndicator","\"Red\"",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"CollisionNP"},"parameters":["MouseIndicator","PlayerAttack","","",""]},{"type":{"value":"Visible"},"parameters":["PlayerAttack"]}],"actions":[{"type":{"value":"EnableEffect"},"parameters":["MouseIndicator","\"Green\"","no"]},{"type":{"value":"EnableEffect"},"parameters":["MouseIndicator","\"Red\"","yes"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Move player when left clicked"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"MouseButtonPressed"},"parameters":["","Left"]},{"type":{"value":"IsEffectEnabled"},"parameters":["MouseIndicator","\"Green\""]},{"type":{"value":"Visible"},"parameters":["MouseIndicator"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\switch2.ogg","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]},{"type":{"value":"PathfindingBehavior::SetDestination"},"parameters":["Player","Pathfinding","","MouseIndicator.CenterX()","MouseIndicator.CenterY()"]},{"type":{"value":"SetSceneVariableAsBoolean"},"parameters":["IsPlayerTurn",""]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Animation"},"parameters":["Player","!=","Player.Variable(CurrentAnimation)"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Player","CurrentAnimation","=","Player.Animation()"]},{"type":{"value":"ModVarScene"},"parameters":["Energy","-","1"]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::DestinationReached"},"parameters":["Player","Pathfinding"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\footstep_carpet_000.ogg","no","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}]},{"type":"BuiltinCommonInstructions::ForEach","object":"Enemy","conditions":[{"type":{"value":"Visible"},"parameters":["Enemy"]},{"type":{"value":"PathfindingBehavior::DestinationReached"},"parameters":["Enemy","Pathfinding"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\footstep_carpet_000.ogg","no","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"folded":true,"name":"Camera","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ClampCamera"},"parameters":["","Level.BoundingBoxLeft()","Level.BoundingBoxTop()","Level.BoundingBoxRight()","Level.BoundingBoxBottom()","",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetCameraCenterX"},"parameters":["","=","CameraCenterX()","\"Top\"",""]},{"type":{"value":"SetCameraCenterY"},"parameters":["","=","CameraCenterY()","\"Top\"",""]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"folded":true,"name":"Attack Indicators","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"When Player Is Green"},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"AnimationName"},"parameters":["Player","\"Green\""]}],"actions":[{"type":{"value":"PathfindingBehavior::AllowDiagonals"},"parameters":["Player","Pathfinding","no"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Player","Pathfinding","=","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create movement indicators when player is idle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()","Player.Y()+128",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Green\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()","Player.Y()-128",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Green\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()+128","Player.Y()",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Green\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()-128","Player.Y()",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Green\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"When Player Is Blue"},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"AnimationName"},"parameters":["Player","\"Blue\""]}],"actions":[{"type":{"value":"PathfindingBehavior::AllowDiagonals"},"parameters":["Player","Pathfinding","yes"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Player","Pathfinding","=","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create movement indicators when player is idle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()+(128)","Player.Y()-(128)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Blue\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()-(128)","Player.Y()-(128)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Blue\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()-(128)","Player.Y()+(128)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Blue\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()+(128)","Player.Y()+(128)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Blue\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"When Player Is Purple"},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"AnimationName"},"parameters":["Player","\"Purple\""]}],"actions":[{"type":{"value":"PathfindingBehavior::AllowDiagonals"},"parameters":["Player","Pathfinding","yes"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Player","Pathfinding","=","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create movement indicators when player is idle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()+(128*2)","Player.Y()-(128*2)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Purple\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()-(128*2)","Player.Y()-(128*2)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Purple\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()-(128*2)","Player.Y()+(128*2)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Purple\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()+(128*2)","Player.Y()+(128*2)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Purple\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"When Player Is Yellow"},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"AnimationName"},"parameters":["Player","\"Yellow\""]}],"actions":[{"type":{"value":"PathfindingBehavior::AllowDiagonals"},"parameters":["Player","Pathfinding",""]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Player","Pathfinding","=","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create movement indicators when player is idle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()","Player.Y()-(128)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Yellow\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()","Player.Y()-(128*2)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Yellow\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()","Player.Y()-(128*3)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Yellow\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()+(128)","Player.Y()",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Yellow\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()+(128*2)","Player.Y()",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Yellow\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()+(128*3)","Player.Y()",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Yellow\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()","Player.Y()+(128)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Yellow\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()","Player.Y()+(128*2)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Yellow\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()","Player.Y()+(128*3)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Yellow\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()-(128)","Player.Y()",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Yellow\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()-(128*2)","Player.Y()",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Yellow\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()-(128*3)","Player.Y()",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Yellow\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"When Player Is Red"},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"AnimationName"},"parameters":["Player","\"Red\""]}],"actions":[{"type":{"value":"PathfindingBehavior::AllowDiagonals"},"parameters":["Player","Pathfinding",""]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Player","Pathfinding","=","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create movement indicators when player is idle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()+(128)","Player.Y()-(128*2)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Red\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()+(128*2)","Player.Y()-(128)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Red\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()+(128)","Player.Y()+(128*2)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Red\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()+(128*2)","Player.Y()+(128)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Red\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()-(128)","Player.Y()+(128*2)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Red\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()-(128*2)","Player.Y()+(128)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Red\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()-(128)","Player.Y()-(128*2)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Red\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","PlayerAttack","Player.X()-(128*2)","Player.Y()-(128)",""]},{"type":{"value":"SetAnimationName"},"parameters":["PlayerAttack","\"Red\""]},{"type":{"value":"SetAngle"},"parameters":["PlayerAttack","=","RandomInRange(0,360)"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","PlayerAttack","Player"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Check if movement indicators is separated from player by obstacles, delete indicators if true"},{"folded":true,"type":"BuiltinCommonInstructions::ForEach","object":"PlayerAttack","conditions":[{"type":{"value":"LinkedObjects::PickObjectsLinkedTo"},"parameters":["","PlayerAttack","Player",""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"RaycastToPosition"},"parameters":["CollisionMask","Player.CenterX()","Player.CenterY()","PlayerAttack.CenterX()","PlayerAttack.CenterY()","","",""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PickedInstancesCount"},"parameters":["CollisionMask","!=","0"]}],"actions":[{"type":{"value":"Delete"},"parameters":["PlayerAttack",""]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Delete movement indicators when player is moving"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Player","Pathfinding","!=","0"]}],"actions":[{"type":{"value":"Delete"},"parameters":["PlayerAttack",""]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Delete movement indicators if color is different from player"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"AnimationName"},"parameters":["PlayerAttack","Player.AnimationName()"]}],"actions":[{"type":{"value":"Delete"},"parameters":["PlayerAttack",""]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"folded":true,"name":"Visibility","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Enemy","Pathfinding","=","0"]},{"type":{"inverted":true,"value":"Visible"},"parameters":["PlayerAttack"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PickedInstancesCount"},"parameters":["Enemy","=","SceneInstancesCount(Enemy)"]}],"actions":[{"type":{"value":"SetSceneVariableAsBoolean"},"parameters":["IsPlayerTurn","True"]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SceneInstancesCount"},"parameters":["","Enemy","=","0"]}],"actions":[{"type":{"value":"SetSceneVariableAsBoolean"},"parameters":["IsPlayerTurn","True"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SceneVariableAsBoolean"},"parameters":["IsPlayerTurn",""]}],"actions":[{"type":{"value":"Cache"},"parameters":["PlayerAttack"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SceneVariableAsBoolean"},"parameters":["IsPlayerTurn","True"]}],"actions":[{"type":{"value":"Montre"},"parameters":["PlayerAttack",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Visible"},"parameters":["PlayerAttack"]}],"actions":[{"type":{"value":"Montre"},"parameters":["MouseIndicator",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"inverted":true,"value":"Visible"},"parameters":["PlayerAttack"]},{"type":{"value":"SceneInstancesCount"},"parameters":["","PlayerAttack","=","0"]}]}],"actions":[{"type":{"value":"Cache"},"parameters":["MouseIndicator"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"Distance"},"parameters":["Misc","Player","512",""]},{"type":{"value":"ScaleWidth"},"parameters":["Misc","<","2"]}],"actions":[{"type":{"value":"Cache"},"parameters":["Misc"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Distance"},"parameters":["Misc","Player","512",""]},{"type":{"value":"ScaleWidth"},"parameters":["Misc","<","2"]}],"actions":[{"type":{"value":"Montre"},"parameters":["Misc",""]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"folded":true,"name":"Collision","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Collision of player and enemy"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CollisionNP"},"parameters":["Player","Enemy","","",""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\impactMining_004.ogg","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Player collides enemy"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Player","Pathfinding","!=","0"]},{"type":{"value":"LinkedObjects::PickObjectsLinkedTo"},"parameters":["","EnemiesIndicator","Enemy",""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"ArrayTools::HasNumber"},"parameters":["","\"Unlocked\"","Enemy.Animation()",""]}],"actions":[{"type":{"value":"SceneVariablePushNumber"},"parameters":["Unlocked","Enemy.Animation()"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Text","Index","=","2"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"ModVarObjetTxt"},"parameters":["Text","Text","=","\"New Skills\""]},{"type":{"value":"TextObject::ChangeColor"},"parameters":["Text","\"0;0;0\""]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","700","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","255","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["3"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","0","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","0","\"linear\"","1000",""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"LinkedObjects::PickObjectsLinkedTo"},"parameters":["","CollisionMask","Enemy",""]}],"actions":[{"type":{"value":"Delete"},"parameters":["CollisionMask",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Delete"},"parameters":["Enemy",""]},{"type":{"value":"Delete"},"parameters":["EnemiesIndicator",""]},{"type":{"value":"ModVarScene"},"parameters":["Kills","+","1"]},{"type":{"value":"ModVarScene"},"parameters":["Energy","+","10"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Enemy collide player"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Player","Pathfinding","=","0"]},{"type":{"value":"LinkedObjects::PickObjectsLinkedTo"},"parameters":["","PlayerAttack","Player",""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"Cache"},"parameters":["Player"]},{"type":{"value":"Delete"},"parameters":["PlayerAttack",""]},{"type":{"value":"PlaySoundCanal"},"parameters":["","Assets\\Audio\\game_over.ogg","0","","GlobalVariable(Settings.SoundVolume)","1"]},{"type":{"value":"Wait"},"parameters":["1"]},{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PaintEffect"},"parameters":["Transition","FlashTransitionPainter","\"0;0;0\"","1.5","\"Circular\"","\"Forward\"","",""]},{"type":{"value":"Wait"},"parameters":["1.5"]},{"type":{"value":"Scene"},"parameters":["","\"End Scene\"",""]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Collision of player attack and enemy"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Opacity"},"parameters":["AttackIndicator","=","100"]},{"type":{"value":"ShakeObject::ShakeObject_PositionAngleScale::ShakeObject_PositionAngleScale"},"parameters":["AttackIndicator","ShakeObject_PositionAngleScale","0","0","0","0","40","1.5","yes",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SceneVariableAsBoolean"},"parameters":["IsPlayerTurn","True"]},{"type":{"value":"CollisionNP"},"parameters":["Enemy","PlayerAttack","","",""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"Create"},"parameters":["","AttackIndicator","Enemy.CenterX()","Enemy.CenterY()",""]},{"type":{"value":"ChangeScale"},"parameters":["AttackIndicator","=","0.8"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SceneVariableAsBoolean"},"parameters":["IsPlayerTurn","False"]}],"actions":[{"type":{"value":"Delete"},"parameters":["AttackIndicator",""]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Collision of player and energy"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CollisionNP"},"parameters":["Player","Energy","","",""]}],"actions":[{"type":{"value":"ModVarScene"},"parameters":["Energy","+","5"]},{"type":{"value":"Delete"},"parameters":["Energy",""]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Text","Index","=","2"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"ModVarObjetTxt"},"parameters":["Text","Text","=","\"Energy +10\""]},{"type":{"value":"TextObject::ChangeColor"},"parameters":["Text","\"0;0;0\""]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","700","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","255","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["3"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","0","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","0","\"linear\"","1000",""]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Collision of player and crown (Win)"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CollisionNP"},"parameters":["Player","Crown","","",""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Enemy","Pathfinding","no"]},{"type":{"value":"ChangeLayer"},"parameters":["Crown","\"Top\""]},{"type":{"value":"ShakeObject::ShakeObject_PositionAngleScale::StopShaking"},"parameters":["Crown","ShakeObject_PositionAngleScale",""]},{"type":{"value":"Tween::AddObjectPositionTween"},"parameters":["Crown","Tween","\"Move\"","CameraX()","CameraY()","\"linear\"","1000",""]},{"type":{"value":"Tween::AddObjectScaleTween"},"parameters":["Crown","Tween","\"Upscale\"","4","4","\"linear\"","1000","",""]},{"type":{"value":"Wait"},"parameters":["1.5"]},{"type":{"value":"PlaySoundCanal"},"parameters":["","Assets\\Audio\\you_win.ogg","1","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]},{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PaintEffect"},"parameters":["Transition","FlashTransitionPainter","\"0;0;0\"","1.5","\"Circular\"","\"Forward\"","",""]},{"type":{"value":"Wait"},"parameters":["1.5"]},{"type":{"value":"Delete"},"parameters":["Crown",""]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Key Interaction","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"IsMouseWheelScrollingDown"},"parameters":[""]},{"type":{"value":"VarScene"},"parameters":["Energy",">","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\rollover2.ogg","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["UnlockedIndex","<","VariableChildCount(Unlocked)"]}],"actions":[{"type":{"value":"ModVarScene"},"parameters":["UnlockedIndex","+","1"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["UnlockedIndex",">=","VariableChildCount(Unlocked)"]}],"actions":[{"type":{"value":"ModVarScene"},"parameters":["UnlockedIndex","=","0"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ChangeAnimation"},"parameters":["Player","=","Variable(Unlocked[Variable(UnlockedIndex)])"]},{"type":{"value":"ChangeAnimation"},"parameters":["PlayerIcon","=","Variable(Unlocked[Variable(UnlockedIndex)])"]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"IsMouseWheelScrollingUp"},"parameters":[""]},{"type":{"value":"VarScene"},"parameters":["Energy",">","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\rollover2.ogg","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["UnlockedIndex","=","0"]}],"actions":[{"type":{"value":"ModVarScene"},"parameters":["UnlockedIndex","=","VariableChildCount(Unlocked)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["UnlockedIndex",">","0"]}],"actions":[{"type":{"value":"ModVarScene"},"parameters":["UnlockedIndex","-","1"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ChangeAnimation"},"parameters":["Player","=","Variable(Unlocked[Variable(UnlockedIndex)])"]},{"type":{"value":"ChangeAnimation"},"parameters":["PlayerIcon","=","Variable(Unlocked[Variable(UnlockedIndex)])"]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"IsMouseWheelScrollingDown"},"parameters":[""]},{"type":{"value":"IsMouseWheelScrollingUp"},"parameters":[""]}]},{"type":{"value":"Width"},"parameters":["Panel","=","0"]},{"type":{"value":"SceneVariableChildCount"},"parameters":["Unlocked","=","1"]}],"actions":[{"type":{"value":"PlaySound"},"parameters":["","Assets\\Audio\\rollover2.ogg","","GlobalVariable(Settings.SoundVolume)","RandomFloatInRange(0.8,1.2)"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Text","Index","=","2"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"ModVarObjetTxt"},"parameters":["Text","Text","=","\"No Skills Yet\""]},{"type":{"value":"TextObject::ChangeColor"},"parameters":["Text","\"0;0;0\""]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","700","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","255","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["3"]},{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Text","Tween","\"Op\"","0","\"linear\"","1000",""]},{"type":{"value":"Wait"},"parameters":["1.2"]},{"type":{"value":"Tween::AddObjectWidthTween"},"parameters":["Panel","Tween","\"Tween\"","0","\"linear\"","1000",""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"KeyPressed"},"parameters":["","Escape"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"PushScene"},"parameters":["","\"Pause Scene\""]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"folded":true,"name":"Light","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"MettreXY"},"parameters":["DynamicLight","=","Player.CenterX()","=","Player.CenterY()"]}]}],"parameters":[]}]},{"associatedLayout":"Game Scene","lastChangeTimeStamp":0,"name":"Setup","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Start()"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"DepartScene"},"parameters":[""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Scene Begin Transition"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PaintEffect"},"parameters":["Transition","FlashTransitionPainter","\"0;0;0\"","1.5","\"Circular\"","\"Backward\"","",""]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Misc Animation"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ShakeObject::ShakeObject_PositionAngleScale::ShakeObject_PositionAngleScale"},"parameters":["Misc","ShakeObject_PositionAngleScale","999","0","10","10","5","2","yes",""]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Hide Objects"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Cache"},"parameters":["CollisionMask"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Text","Index","=","2"]}],"actions":[{"type":{"value":"TextObject::Opacity"},"parameters":["Text","=","0"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Update()"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Z-Order"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ChangePlan"},"parameters":["MouseIndicator","=","999"]},{"type":{"value":"ChangePlan"},"parameters":["EnemiesIndicator","=","99999"]},{"type":{"value":"ChangePlan"},"parameters":["Misc","=","11"]},{"type":{"value":"ChangePlan"},"parameters":["Entities","=","10"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Text Update"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Text","Index","=","0"]}],"actions":[{"type":{"value":"ModVarObjetTxt"},"parameters":["Text","Text","=","\"Energy: \" + VariableString(Energy)"]},{"type":{"value":"TextObject::String"},"parameters":["Text","=","Text.VariableString(Text)"]},{"type":{"value":"TextObject::SetTextAlignment"},"parameters":["Text","Text.VariableString(Alignment)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Text","Index","=","1"]}],"actions":[{"type":{"value":"ModVarObjetTxt"},"parameters":["Text","Text","=","\"Kills: \" + VariableString(Kills)"]},{"type":{"value":"TextObject::String"},"parameters":["Text","=","Text.VariableString(Text)"]},{"type":{"value":"TextObject::SetTextAlignment"},"parameters":["Text","Text.VariableString(Alignment)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Text","Index","=","2"]}],"actions":[{"type":{"value":"TextObject::String"},"parameters":["Text","=","Text.VariableString(Text)"]},{"type":{"value":"TextObject::SetTextAlignment"},"parameters":["Text","Text.VariableString(Alignment)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Text","Index","=","3"]}],"actions":[{"type":{"value":"TextObject::String"},"parameters":["Text","=","Text.VariableString(Text)"]},{"type":{"value":"TextObject::SetTextAlignment"},"parameters":["Text","Text.VariableString(Alignment)"]},{"type":{"value":"TextObject::Text::SetFontSize"},"parameters":["Text","=","20"]}]}]}]},{"associatedLayout":"Game Scene","lastChangeTimeStamp":0,"name":"Enemies Behaviours","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Indicator Animation"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Opacity"},"parameters":["EnemiesIndicator","=","100"]},{"type":{"value":"ShakeObject::ShakeObject_PositionAngleScale::ShakeObject_PositionAngleScale"},"parameters":["EnemiesIndicator","ShakeObject_PositionAngleScale","0","0","0","0","40","1.5","yes",""]}]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Indicators","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::ForEach","object":"Enemy","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Player","Pathfinding","=","0"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"When Enemies Is Green"},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"AnimationName"},"parameters":["Enemy","\"Green\""]}],"actions":[{"type":{"value":"PathfindingBehavior::AllowDiagonals"},"parameters":["Enemy","Pathfinding","no"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Enemy","Pathfinding","=","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create movement indicators when Enemies is idle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X()","Enemy.Y() + 128",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X()","Enemy.Y() - 128",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() + 128","Enemy.Y()",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() - 128","Enemy.Y()",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"When Enemies Is Blue"},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"AnimationName"},"parameters":["Enemy","\"Blue\""]}],"actions":[{"type":{"value":"PathfindingBehavior::AllowDiagonals"},"parameters":["Enemy","Pathfinding","yes"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Enemy","Pathfinding","=","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create movement indicators when Enemies is idle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X()+(128)","Enemy.Y()-(128)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X()-(128)","Enemy.Y()-(128)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X()-(128)","Enemy.Y()+(128)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X()+(128)","Enemy.Y()+(128)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"When Enemies Is Purple"},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"AnimationName"},"parameters":["Enemy","\"Purple\""]}],"actions":[{"type":{"value":"PathfindingBehavior::AllowDiagonals"},"parameters":["Enemy","Pathfinding","yes"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Enemy","Pathfinding","=","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create movement indicators when Enemies is idle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() + (128 * 2)","Enemy.Y() - (128 * 2)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() - (128 * 2)","Enemy.Y() - (128 * 2)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() - (128 * 2)","Enemy.Y() + (128 * 2)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() + (128 * 2)","Enemy.Y() + (128 * 2)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"When Enemies Is Yellow"},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"AnimationName"},"parameters":["Enemy","\"Yellow\""]}],"actions":[{"type":{"value":"PathfindingBehavior::AllowDiagonals"},"parameters":["Enemy","Pathfinding",""]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Enemy","Pathfinding","=","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create movement indicators when Enemies is idle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X()","Enemy.Y() - (128)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X()","Enemy.Y() - (128 * 2)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X()","Enemy.Y() - (128 * 3)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() + (128)","Enemy.Y()",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() + (128 * 2)","Enemy.Y()",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() + (128 * 3)","Enemy.Y()",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X()","Enemy.Y() + (128)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X()","Enemy.Y() + (128 * 2)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X()","Enemy.Y() + (128 * 3)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() - (128)","Enemy.Y()",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() - (128 * 2)","Enemy.Y()",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() - (128 * 3)","Enemy.Y()",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"When Enemies Is Red"},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"AnimationName"},"parameters":["Enemy","\"Red\""]}],"actions":[{"type":{"value":"PathfindingBehavior::AllowDiagonals"},"parameters":["Enemy","Pathfinding",""]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Enemy","Pathfinding","=","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create movement indicators when Enemies is idle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() + (128)","Enemy.Y() - (128 * 2)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() + (128 * 2)","Enemy.Y() - (128)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() + (128)","Enemy.Y() + (128 * 2)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() + (128 * 2)","Enemy.Y() + (128)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() - (128)","Enemy.Y() + (128 * 2)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() - (128 * 2)","Enemy.Y() + (128)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() - (128)","Enemy.Y() - (128 * 2)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","EnemiesIndicator","Enemy.X() - (128 * 2)","Enemy.Y() - (128)",""]},{"type":{"value":"ChangeScale"},"parameters":["EnemiesIndicator","=","0.5"]},{"type":{"value":"LinkedObjects::LinkObjects"},"parameters":["","EnemiesIndicator","Enemy"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Check if movement indicators is separated from Enemies by obstacles, delete indicators if true"},{"folded":true,"type":"BuiltinCommonInstructions::ForEach","object":"EnemiesIndicator","conditions":[{"type":{"value":"LinkedObjects::PickObjectsLinkedTo"},"parameters":["","EnemiesIndicator","Enemy",""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"RaycastToPosition"},"parameters":["CollisionMask","Enemy.CenterX()","Enemy.CenterY()","EnemiesIndicator.CenterX()","EnemiesIndicator.CenterY()","","",""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PickedInstancesCount"},"parameters":["CollisionMask","!=","0"]}],"actions":[{"type":{"value":"Delete"},"parameters":["EnemiesIndicator",""]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Delete movement indicators when Enemies is moving"},{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Enemy","Pathfinding","!=","0"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"LinkedObjects::PickObjectsLinkedTo"},"parameters":["","EnemiesIndicator","Enemy",""]}],"actions":[{"type":{"value":"Delete"},"parameters":["EnemiesIndicator",""]}]}]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Movement","source":"","type":"BuiltinCommonInstructions::Group","events":[{"folded":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PathfindingBehavior::Speed"},"parameters":["Player","Pathfinding","=","0"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"Visible"},"parameters":["PlayerAttack"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::ForEach","object":"Enemy","conditions":[{"type":{"value":"LinkedObjects::PickObjectsLinkedTo"},"parameters":["","EnemiesIndicator","Enemy",""]},{"type":{"value":"AjoutHasard"},"parameters":["","EnemiesIndicator"]}],"actions":[{"type":{"value":"PathfindingBehavior::SetDestination"},"parameters":["Enemy","Pathfinding","","EnemiesIndicator.CenterX()","EnemiesIndicator.CenterY()"]}]}]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"folded":true,"name":"Visibility","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"Distance"},"parameters":["Enemies","Player","512",""]}],"actions":[{"type":{"value":"Cache"},"parameters":["Enemies"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Distance"},"parameters":["Enemies","Player","512",""]}],"actions":[{"type":{"value":"Montre"},"parameters":["Enemies",""]}]}],"parameters":[]}]}],"eventsFunctionsExtensions":[{"author":"","category":"User interface","extensionNamespace":"","fullName":"Slider","helpPath":"/objects/slider","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSI3IiByPSIzIi8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMyIgeTE9IjciIHgyPSIyMCIgeTI9IjciLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjciIHgyPSIyNiIgeTI9IjciLz4NCjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjEyIiBjeT0iMTYiIHI9IjMiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIzIiB5MT0iMTYiIHgyPSI5IiB5Mj0iMTYiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjE2IiB4Mj0iMTUiIHkyPSIxNiIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSIyNSIgcj0iMyIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjMiIHkxPSIyNSIgeDI9IjIwIiB5Mj0iMjUiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjI1IiB4Mj0iMjYiIHkyPSIyNSIvPg0KPC9zdmc+DQo=","name":"PanelSpriteSlider","previewIconUrl":"https://asset-resources.gdevelop.io/public-resources/Icons/Line Hero Pack/Master/SVG/UI Essentials/1678c39a3b2bd3df4f82a8a293770db4986a6bcfd3f78e738ddfc86e39176423_UI Essentials_sliders_options.svg","shortDescription":"A draggable slider that users can move to select a numerical value.","version":"1.4.2","description":["A draggable slider that users can move to select a numerical value. The slider can be customized with sprites.","","There are ready-to-use sliders in the asset-store [settings UI pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=settings-ui-settings-ui)."],"origin":{"identifier":"PanelSpriteSlider","name":"gdevelop-extension-store"},"tags":["draggable","slider","ui","widget"],"authorIds":["IWykYNRvhCZBN3vEgKEbBPOR3Oc2","gqDaZjCfevOOxBYkK6zlhtZnXCg1"],"dependencies":[],"eventsFunctions":[],"eventsBasedBehaviors":[{"description":"Represent a value on a slider.","fullName":"Slider","name":"Slider","objectType":"","private":true,"eventsFunctions":[{"description":"the value of the object.","fullName":"Value","functionType":"ExpressionAndCondition","name":"Value","sentence":"the value","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyValue()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"ActionWithOperator","getterName":"Value","name":"SetValue","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::Slider::PropertyStepSize"},"parameters":["Object","Behavior","=","0"]}],"actions":[{"type":{"value":"PanelSpriteSlider::Slider::SetPropertyValue"},"parameters":["Object","Behavior","=","clamp(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyMinValue(), Object.Behavior::PropertyMaxValue())"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::Slider::PropertyStepSize"},"parameters":["Object","Behavior","!=","0"]}],"actions":[{"type":{"value":"PanelSpriteSlider::Slider::SetPropertyValue"},"parameters":["Object","Behavior","=","clamp(round(GetArgumentAsNumber(\"Value\") / Object.Behavior::PropertyStepSize()) * Object.Behavior::PropertyStepSize(), Object.Behavior::PropertyMinValue(), Object.Behavior::PropertyMaxValue())"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]},{"description":"the minimum value of the object.","fullName":"Minimum value","functionType":"ExpressionAndCondition","group":"Resource bar configuration","name":"MinValue","sentence":"the minimum value","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyMinValue()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"ActionWithOperator","getterName":"MinValue","name":"SetMinValue","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::Slider::SetPropertyMinValue"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"Value\")"]},{"type":{"value":"PanelSpriteSlider::Slider::SetValue"},"parameters":["Object","Behavior","=","Object.Behavior::Value()",""]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]},{"description":"the maximum value of the object.","fullName":"Maximum value","functionType":"ExpressionAndCondition","group":"Resource bar configuration","name":"MaxValue","sentence":"the maximum value","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyMaxValue()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"ActionWithOperator","getterName":"MaxValue","name":"SetMaxValue","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::Slider::SetPropertyMaxValue"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"Value\")"]},{"type":{"value":"PanelSpriteSlider::Slider::SetValue"},"parameters":["Object","Behavior","=","Object.Behavior::Value()",""]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]},{"description":"the bar value bounds size.","fullName":"Size","functionType":"ExpressionAndCondition","name":"Size","sentence":"the bar value bounds size","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::MaxValue() - Object.Behavior::MinValue()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]},{"description":"the step size of the object.","fullName":"Step size","functionType":"ExpressionAndCondition","group":"Resource bar configuration","name":"StepSize","sentence":"the step size","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyStepSize()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"ActionWithOperator","getterName":"StepSize","name":"SetStepSize","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::Slider::SetPropertyStepSize"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"Value\")"]},{"type":{"value":"PanelSpriteSlider::Slider::SetValue"},"parameters":["Object","Behavior","=","Object.Behavior::Value()",""]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]}],"propertyDescriptors":[{"value":"0","type":"Number","label":"Value","description":"","group":"","extraInformation":[],"hidden":false,"name":"Value"},{"value":"0","type":"Number","label":"Minimum value","description":"","group":"","extraInformation":[],"hidden":false,"name":"MinValue"},{"value":"1","type":"Number","label":"Maximum value","description":"","group":"","extraInformation":[],"hidden":false,"name":"MaxValue"},{"value":"0","type":"Number","label":"Step size","description":"","group":"","extraInformation":[],"hidden":false,"name":"StepSize"}],"sharedPropertyDescriptors":[]},{"description":"The finite state machine used internally by the button object.","fullName":"Button finite state machine","name":"ButtonFSM","objectType":"","private":true,"eventsFunctions":[{"fullName":"","functionType":"Action","name":"doStepPostEvents","sentence":"","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Finite state machine","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"The \"Validated\" state only last one frame."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Validated\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]}]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Check position","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Make sure the cursor position is only checked once per frame."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyMouseIsInside"},"parameters":["Object","Behavior","no"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyShouldCheckHovering"},"parameters":["Object","Behavior"]},{"type":{"value":"CollisionPoint"},"parameters":["Object","MouseOnlyCursorX(Object.Layer(), 0)","MouseOnlyCursorY(Object.Layer(), 0)"]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyMouseIsInside"},"parameters":["Object","Behavior","yes"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Touches are always pressed, so ShouldCheckHovering doesn't matter."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyTouchIsInside"},"parameters":["Object","Behavior","no"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyTouchId"},"parameters":["Object","Behavior","!=","0"]},{"type":{"value":"CollisionPoint"},"parameters":["Object","TouchX(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)","TouchY(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)"]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyTouchIsInside"},"parameters":["Object","Behavior","yes"]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Handle touch start","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"HasAnyTouchOrMouseStarted"},"parameters":[""]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyIndex"},"parameters":["Object","Behavior","=","0"]}],"events":[{"type":"BuiltinCommonInstructions::Repeat","repeatExpression":"StartedTouchOrMouseCount()","conditions":[],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CollisionPoint"},"parameters":["Object","TouchX(StartedTouchOrMouseId(Object.Behavior::PropertyIndex()), Object.Layer(), 0)","TouchY(StartedTouchOrMouseId(Object.Behavior::PropertyIndex()), Object.Layer(), 0)"]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyTouchId"},"parameters":["Object","Behavior","=","StartedTouchOrMouseId(Object.Behavior::PropertyIndex())"]},{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyTouchIsInside"},"parameters":["Object","Behavior","yes"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Hovered\""]},{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]}]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"PressedInside\""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyIndex"},"parameters":["Object","Behavior","+","1"]}]}]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Apply position changes","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"PanelSpriteSlider::ButtonFSM::PropertyMouseIsInside"},"parameters":["Object","Behavior"]},{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Hovered\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyMouseIsInside"},"parameters":["Object","Behavior"]},{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"Hovered\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"PanelSpriteSlider::ButtonFSM::PropertyTouchIsInside"},"parameters":["Object","Behavior"]},{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedInside\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"PressedOutside\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyTouchIsInside"},"parameters":["Object","Behavior"]},{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedOutside\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"PressedInside\""]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Handle touch end","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"HasTouchEnded"},"parameters":["","Object.Behavior::PropertyTouchId()"]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyTouchId"},"parameters":["Object","Behavior","=","0"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedInside\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"Validated\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedInside\""]},{"type":{"inverted":true,"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Validated\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]}]}]}],"parameters":[]}],"parameters":[]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"Action","name":"onDeActivate","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]},{"type":{"value":"PanelSpriteSlider::ButtonFSM::SetPropertyTouchId"},"parameters":["Object","Behavior","=","0"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Check if the button is not used.","fullName":"Is idle","functionType":"Condition","name":"IsIdle","sentence":"_PARAM0_ is idle","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Check if the button was just clicked.","fullName":"Is clicked","functionType":"Condition","name":"IsClicked","sentence":"_PARAM0_ is clicked","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Validated\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Check if the cursor is hovered over the button.","fullName":"Is hovered","functionType":"Condition","name":"IsHovered","sentence":"_PARAM0_ is hovered","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Hovered\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Check if the button is either hovered or pressed but not hovered.","fullName":"Is focused","functionType":"Condition","name":"IsFocused","sentence":"_PARAM0_ is focused","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Hovered\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedOutside\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Check if the button is currently being pressed with mouse or touch.","fullName":"Is pressed","functionType":"Condition","name":"IsPressed","sentence":"_PARAM0_ is pressed","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedInside\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Check if the button is currently being pressed outside with mouse or touch.","fullName":"Is held outside","functionType":"Condition","name":"IsPressedOutside","sentence":"_PARAM0_ is held outside","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedOutside\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"the touch id that is using the button or 0 if none.","fullName":"Touch id","functionType":"ExpressionAndCondition","name":"TouchId","sentence":"the touch id","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyTouchId()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::ButtonFSM","type":"behavior"}],"objectGroups":[]}],"propertyDescriptors":[{"value":"true","type":"Boolean","label":"","description":"Should check hovering","group":"","extraInformation":[],"hidden":true,"name":"ShouldCheckHovering"},{"value":"Idle","type":"Choice","label":"State","description":"","group":"","extraInformation":["Idle","Hovered","PressedInside","PressedOutside","Validated"],"hidden":true,"name":"State"},{"value":"0","type":"Number","label":"Touch id","description":"","group":"","extraInformation":[],"hidden":true,"name":"TouchId"},{"value":"","type":"Boolean","label":"Touch is inside","description":"","group":"","extraInformation":[],"hidden":true,"name":"TouchIsInside"},{"value":"","type":"Boolean","label":"Mouse is inside","description":"","group":"","extraInformation":[],"hidden":true,"name":"MouseIsInside"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"Index"}],"sharedPropertyDescriptors":[]}],"eventsBasedObjects":[{"defaultName":"Slider","description":"Let users select a numerical value by dragging a slider.","fullName":"Slider","name":"PanelSpriteSlider","eventsFunctions":[{"fullName":"","functionType":"Action","name":"onCreated","sentence":"","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"This allows to detect a change of \"intial value\" on hot reload."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetPropertyPreviousInitialValue"},"parameters":["Object","=","Object.PropertyInitialValue()"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create the child-object instances."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","Background","0","0",""]},{"type":{"value":"Create"},"parameters":["","FillBar","0","0",""]},{"type":{"value":"Create"},"parameters":["","Thumb","0","0",""]},{"type":{"value":"ChangePlan"},"parameters":["Background","=","1"]},{"type":{"value":"ChangePlan"},"parameters":["FillBar","=","2"]},{"type":{"value":"ChangePlan"},"parameters":["Thumb","=","3"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create the label that is displayed over the thumb."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","Label","0","0",""]},{"type":{"value":"ChangePlan"},"parameters":["Label","=","4"]},{"type":{"value":"TextObject::SetWrapping"},"parameters":["Label","no"]},{"type":{"value":"Cache"},"parameters":["Label"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Pass the configuration to the behavior."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::UpdateSliderConfiguration"},"parameters":["Object",""]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetValue"},"parameters":["Object","=","Object.PropertyInitialValue()","Object.PropertyInitialValue()"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetIncludedInParentCollisionMask"},"parameters":["Label",""]},{"type":{"value":"SetIncludedInParentCollisionMask"},"parameters":["Thumb",""]},{"type":{"value":"SetIncludedInParentCollisionMask"},"parameters":["FillBar",""]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"fullName":"","functionType":"Action","name":"onHotReloading","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::UpdateLayout"},"parameters":["Object",""]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::UpdateSliderConfiguration"},"parameters":["Object",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::PropertyInitialValue"},"parameters":["Object","!=","Object.PropertyPreviousInitialValue()"]}],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetPropertyPreviousInitialValue"},"parameters":["Object","=","Object.PropertyInitialValue()"]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetValue"},"parameters":["Object","=","Object.PropertyInitialValue()","Object.PropertyInitialValue()"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"fullName":"","functionType":"Action","name":"doStepPostEvents","sentence":"","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Handle touches","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BehaviorActivated"},"parameters":["Background","ButtonFSM"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"DraggableBehavior::Dragged"},"parameters":["Thumb","Draggable"]},{"type":{"inverted":true,"value":"DraggableBehavior::Dropped"},"parameters":["Thumb","Draggable"]},{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"PanelSpriteSlider::ButtonFSM::IsPressed"},"parameters":["Background","ButtonFSM",""]},{"type":{"value":"PanelSpriteSlider::ButtonFSM::IsPressedOutside"},"parameters":["Background","ButtonFSM",""]}]}],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetValue"},"parameters":["Object","=","FillBar.Slider::MinValue() + FillBar.Slider::Size() * (TouchX(Background.ButtonFSM::TouchId(), Object.Layer()) - Object.FullBarLeft()) / Object.FullBarWidth()","FillBar.Slider::MinValue() + FillBar.Slider::Size() * (MouseX() - Object.FullBarLeft()) / Object.FullBarWidth()"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::PropertyShowLabelAtChanges"},"parameters":["Object"]}],"actions":[{"type":{"value":"Montre"},"parameters":["Label",""]},{"type":{"value":"ResetObjectTimer"},"parameters":["Label","\"HideBack\""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"DraggableBehavior::Dragged"},"parameters":["Thumb","Draggable"]}],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetValue"},"parameters":["Object","=","FillBar.Slider::MinValue() + FillBar.Slider::Size() * (Thumb.CenterX() - Object.FullBarLeft()) / Object.FullBarWidth()","FillBar.Slider::MinValue() + FillBar.Slider::Size() * (Thumb.CenterX() - Object.FullBarLeft()) / Object.FullBarWidth()"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::PropertyShowLabelAtChanges"},"parameters":["Object"]}],"actions":[{"type":{"value":"Montre"},"parameters":["Label",""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"DraggableBehavior::Dropped"},"parameters":["Thumb","Draggable"]}],"actions":[{"type":{"value":"ResetObjectTimer"},"parameters":["Label","\"HideBack\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::PropertyShowLabelAtChanges"},"parameters":["Object"]},{"type":{"value":"CollisionPoint"},"parameters":["Thumb","MouseOnlyCursorX(Object.Layer(), 0)","MouseOnlyCursorY(Thumb.Layer(), 0)"]}],"actions":[{"type":{"value":"Montre"},"parameters":["Label",""]},{"type":{"value":"ResetObjectTimer"},"parameters":["Label","\"HideBack\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CompareObjectTimer"},"parameters":["Label","\"HideBack\"",">","0.5"]}],"actions":[{"type":{"value":"Cache"},"parameters":["Label"]},{"type":{"value":"RemoveObjectTimer"},"parameters":["Label","\"HideBack\""]}]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Resize","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Children instances must be resized when the parent size change:\n- background is resized to take the full dimensions of the parent\n- the label is put back at the center of the bar\n\nThe scale is set back to 1 because it means that the parent instance has the same dimensions as the union of its children instances."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"BuiltinCommonInstructions::CompareNumbers"},"parameters":["Object.Width()","!=","max(Background.BoundingBoxRight(), max(Label.BoundingBoxRight(), Thumb.BoundingBoxRight())) - min(Background.BoundingBoxLeft(), min(Label.BoundingBoxLeft(), Thumb.BoundingBoxLeft()))"]},{"type":{"value":"BuiltinCommonInstructions::CompareNumbers"},"parameters":["Object.Height()","!=","max(Background.BoundingBoxBottom(), max(Label.BoundingBoxBottom(), Thumb.BoundingBoxBottom())) - min(Background.BoundingBoxTop(), min(Label.BoundingBoxTop(), Thumb.BoundingBoxTop()))"]}]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Background","Width","=","Object.Width()"]},{"type":{"value":"ModVarObjet"},"parameters":["Background","Height","=","Object.Height()"]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::Scale"},"parameters":["Object","=","1"]},{"type":{"value":"PanelSpriteObject::Width"},"parameters":["Background","=","Background.Variable(Width)"]},{"type":{"value":"PanelSpriteObject::Height"},"parameters":["Background","=","Background.Variable(Height)"]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::UpdateLayout"},"parameters":["Object",""]}]}],"parameters":[]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"The parent size is not defined in onCreate so it needs to be done here."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::UpdateLayout"},"parameters":["Object",""]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::UpdateThumbPosition"},"parameters":["Object",""]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"description":"Check if the slider is being dragged.","fullName":"Being dragged","functionType":"Condition","group":"Slider","name":"IsBeingDragged","sentence":"_PARAM0_ is being dragged","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"DraggableBehavior::Dragged"},"parameters":["Thumb","Draggable"]},{"type":{"value":"PanelSpriteSlider::ButtonFSM::IsPressed"},"parameters":["Background","ButtonFSM",""]},{"type":{"value":"PanelSpriteSlider::ButtonFSM::IsPressedOutside"},"parameters":["Background","ButtonFSM",""]}]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"description":"the value of the slider.","fullName":"Value","functionType":"ExpressionAndCondition","name":"Value","sentence":"the value","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["FillBar.Slider::Value()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"fullName":"","functionType":"ActionWithOperator","getterName":"Value","name":"SetValue","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::Slider::SetValue"},"parameters":["FillBar","Slider","=","GetArgumentAsNumber(\"Value\")",""]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::UpdateThumbPosition"},"parameters":["Object",""]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]},{"description":"the minimum value of the slider.","fullName":"Minimum value","functionType":"ExpressionAndCondition","group":"Slider configuration","name":"MinValue","sentence":"the minimum value","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["FillBar.Slider::MinValue()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"fullName":"","functionType":"ActionWithOperator","getterName":"MinValue","name":"SetMinValue","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::Slider::SetMinValue"},"parameters":["FillBar","Slider","=","GetArgumentAsNumber(\"Value\")",""]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::UpdateLayout"},"parameters":["Object",""]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::UpdateThumbPosition"},"parameters":["Object",""]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]},{"description":"the maximum value of the slider.","fullName":"Maximum value","functionType":"ExpressionAndCondition","group":"Slider configuration","name":"MaxValue","sentence":"the maximum value","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["FillBar.Slider::MaxValue()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"fullName":"","functionType":"ActionWithOperator","getterName":"MaxValue","name":"SetMaxValue","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::Slider::SetMaxValue"},"parameters":["FillBar","Slider","=","GetArgumentAsNumber(\"Value\")",""]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::UpdateLayout"},"parameters":["Object",""]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::UpdateThumbPosition"},"parameters":["Object",""]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]},{"description":"the step size of the slider.","fullName":"Step size","functionType":"ExpressionAndCondition","group":"Slider configuration","name":"StepSize","sentence":"the step size","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["FillBar.Slider::StepSize()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"fullName":"","functionType":"ActionWithOperator","getterName":"StepSize","name":"SetStepSize","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::Slider::SetStepSize"},"parameters":["FillBar","Slider","=","GetArgumentAsNumber(\"Value\")",""]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteSlider::Slider","type":"behavior"}],"objectGroups":[]},{"description":"Check if the label is shown.","fullName":"Label is shown","functionType":"Condition","group":"Slider configuration","name":"IsLabelShown","sentence":"_PARAM0_ label is shown","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::PropertyShowLabelAtChanges"},"parameters":["Object"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"description":"Show (or hide) the label on the bar.","fullName":"Show label","functionType":"Action","group":"Slider configuration","name":"SetLabelShown","sentence":"Show the label of _PARAM0_: _PARAM1_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"GetArgumentAsBoolean"},"parameters":["\"Value\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetPropertyShowLabelAtChanges"},"parameters":["Object","no"]},{"type":{"value":"Cache"},"parameters":["Label"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"GetArgumentAsBoolean"},"parameters":["\"Value\""]}],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetPropertyShowLabelAtChanges"},"parameters":["Object","yes"]},{"type":{"value":"Montre"},"parameters":["Label",""]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"},{"description":"Show the label","name":"Value","type":"yesorno"}],"objectGroups":[]},{"description":"Center the bar according to the button configuration. This is used in doStepPostEvents when the button is resized.","fullName":"Update layout","functionType":"Action","name":"UpdateLayout","private":true,"sentence":"Update layout of _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"MettreXY"},"parameters":["FillBar","=","Object.PropertyBarLeftPadding()","=","Object.PropertyBarTopPadding()"]},{"type":{"value":"PanelSpriteObject::Height"},"parameters":["FillBar","=","round(Background.Height() - Object.PropertyBarTopPadding() - Object.PropertyBarBottomPadding())"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"description":"Update the thumb position according to the slider value.","fullName":"Update thumb position","functionType":"Action","name":"UpdateThumbPosition","private":true,"sentence":"Update the thumb position of _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteSlider::Slider::Size"},"parameters":["FillBar","Slider",">","0",""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteObject::Width"},"parameters":["FillBar","=","Object.FullBarWidth() * (FillBar.Slider::Value() - FillBar.Slider::MinValue()) / FillBar.Slider::Size()"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetCenterX"},"parameters":["Thumb","=","Object.FullBarLeft() + FillBar.Width()"]},{"type":{"value":"SetCenterY"},"parameters":["Thumb","=","FillBar.CenterY()"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"TextObject::String"},"parameters":["Label","=","ToString(Object.Value())"]},{"type":{"value":"SetCenterX"},"parameters":["Label","=","Thumb.CenterX()"]},{"type":{"value":"MettreY"},"parameters":["Label","=","Thumb.Y() - Label.Height() - Object.PropertyLabelMargin()"]},{"type":{"value":"TextObject::Angle"},"parameters":["Label","=","-Object.Angle()"]}]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"fullName":"","functionType":"Expression","name":"FullBarLeft","private":true,"sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.PropertyBarLeftPadding()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"fullName":"","functionType":"Expression","name":"FullBarRight","private":true,"sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Background.Width() - Object.PropertyBarRightPadding()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"fullName":"","functionType":"Expression","name":"FullBarWidth","private":true,"sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Background.Width() - Object.PropertyBarLeftPadding() - Object.PropertyBarRightPadding()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"description":"Update the slider configuration.","fullName":"Update slider configuration","functionType":"Action","name":"UpdateSliderConfiguration","private":true,"sentence":"Update the slider configuration of _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Pass configuration to the behavior and update children."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetMinValue"},"parameters":["Object","=","Object.PropertyMinValue()","Object.PropertyMaxValue()",""]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetMaxValue"},"parameters":["Object","=","Object.PropertyMaxValue()","Object.PropertyMaxValue()"]},{"type":{"value":"PanelSpriteSlider::PanelSpriteSlider::SetStepSize"},"parameters":["Object","=","Object.PropertyStepSize()","Object.PropertyMaxValue()"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]},{"description":"De/activate interactions with the button.","fullName":"De/activate interactions","functionType":"Action","name":"Activate","sentence":"Activate interactions with _PARAM0_: _PARAM1_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"GetArgumentAsBoolean"},"parameters":["\"ShouldActivate\""]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Thumb","Draggable","yes"]},{"type":{"value":"ActivateBehavior"},"parameters":["Background","ButtonFSM","yes"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"GetArgumentAsBoolean"},"parameters":["\"ShouldActivate\""]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Thumb","Draggable","no"]},{"type":{"value":"ActivateBehavior"},"parameters":["Background","ButtonFSM","no"]},{"type":{"value":"Cache"},"parameters":["Label"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"},{"description":"Activate","name":"ShouldActivate","type":"yesorno"}],"objectGroups":[]},{"description":"Check if the slider allows interactions.","fullName":"Interactions activated","functionType":"Condition","name":"IsActivated","sentence":"Interactions on _PARAM0_ are activated","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BehaviorActivated"},"parameters":["Background","ButtonFSM"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteSlider::PanelSpriteSlider","type":"object"}],"objectGroups":[]}],"propertyDescriptors":[{"value":"0","type":"Number","label":"Bar left margin","description":"","group":"Bar","extraInformation":["Label","FillBar"],"hidden":false,"name":"BarLeftPadding"},{"value":"0","type":"Number","label":"Bar top margin","description":"","group":"Bar","extraInformation":["Label","FillBar"],"hidden":false,"name":"BarTopPadding"},{"value":"0","type":"Number","label":"Bar right margin","description":"","group":"Bar","extraInformation":["Label","FillBar"],"hidden":false,"name":"BarRightPadding"},{"value":"0","type":"Number","label":"Bar bottom margin","description":"","group":"Bar","extraInformation":["Label","FillBar"],"hidden":false,"name":"BarBottomPadding"},{"value":"true","type":"Boolean","label":"Show the label when the value is changed","description":"","group":"Label","extraInformation":[],"hidden":false,"name":"ShowLabelAtChanges"},{"value":"8","type":"Number","label":"Label margin","description":"","group":"Label","extraInformation":[],"hidden":false,"name":"LabelMargin"},{"value":"0","type":"Number","label":"Minimum value","description":"","group":"Value","extraInformation":[],"hidden":false,"name":"MinValue"},{"value":"100","type":"Number","label":"Maximum value","description":"","group":"Value","extraInformation":[],"hidden":false,"name":"MaxValue"},{"value":"1","type":"Number","label":"Step size","description":"","group":"Value","extraInformation":[],"hidden":false,"name":"StepSize"},{"value":"50","type":"Number","label":"Initial value","description":"","group":"Value","extraInformation":[],"hidden":false,"name":"InitialValue"},{"value":"","type":"Number","label":"","description":"It's used to detect a change at hot reload.","group":"","extraInformation":[],"hidden":true,"name":"PreviousInitialValue"},{"value":"Center-center","type":"String","label":"","description":"Only used by the scene editor.","group":"","extraInformation":["Thumb"],"hidden":true,"name":"ThumbAnchorOrigin"},{"value":"Center-right","type":"String","label":"","description":"Only used by the scene editor.","group":"","extraInformation":["FillBar"],"hidden":true,"name":"ThumbAnchorTarget"},{"value":"","type":"Boolean","label":"","description":"Only used by the scene editor.","group":"","extraInformation":["Label"],"hidden":true,"name":"ShowLabel"}],"objects":[{"assetStoreId":"","bold":false,"italic":false,"name":"Label","smoothed":true,"tags":"","type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[],"string":"It displays the value when it changes.","font":"","textAlignment":"","characterSize":20.0,"color":{"b":0,"g":0,"r":0}},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"Thumb","rightMargin":0.0,"tags":"","texture":"","tiled":false,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Draggable","type":"DraggableBehavior::Draggable","checkCollisionMask":false}]},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"FillBar","rightMargin":0.0,"tags":"","texture":"","tiled":true,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Slider","type":"PanelSpriteSlider::Slider","Value":0.0,"MinValue":0.0,"MaxValue":1.0,"StepSize":1.0}]},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"Background","rightMargin":0.0,"tags":"","texture":"","tiled":true,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"ButtonFSM","type":"PanelSpriteSlider::ButtonFSM","ShouldCheckHovering":true,"State":"Idle","TouchId":0.0,"TouchIsInside":false,"MouseIsInside":false,"Index":0.0}]}]}]},{"author":"","category":"User interface","extensionNamespace":"","fullName":"Panel sprite button","helpPath":"/objects/button","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI5LDIzSDNjLTEuMSwwLTItMC45LTItMlYxMWMwLTEuMSwwLjktMiwyLTJoMjZjMS4xLDAsMiwwLjksMiwydjEwQzMxLDIyLjEsMzAuMSwyMywyOSwyM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMywxOUwxMywxOWMtMS4xLDAtMi0wLjktMi0ydi0yYzAtMS4xLDAuOS0yLDItMmgwYzEuMSwwLDIsMC45LDIsMnYyQzE1LDE4LjEsMTQuMSwxOSwxMywxOXoiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIxOCIgeTE9IjEzIiB4Mj0iMTgiIHkyPSIxOSIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjIxIiB5MT0iMTMiIHgyPSIxOCIgeTI9IjE3Ii8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMjEiIHkxPSIxOSIgeDI9IjE5IiB5Mj0iMTYiLz4NCjwvc3ZnPg0K","name":"PanelSpriteButton","previewIconUrl":"https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Interface Elements/Interface Elements_interface_ui_button_ok_cta_clock_tap.svg","shortDescription":"A button that can be customized.","version":"1.4.4","description":["The button can be customized with a background for each state and a label. It handles user interactions and a simple condition can be used to check if it is clicked.","","There are ready-to-use buttons in the asset-store [menu buttons pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=menu-buttons-menu-buttons)."],"origin":{"identifier":"PanelSpriteButton","name":"gdevelop-extension-store"},"tags":["button","ui"],"authorIds":["IWykYNRvhCZBN3vEgKEbBPOR3Oc2"],"dependencies":[],"eventsFunctions":[],"eventsBasedBehaviors":[{"description":"The finite state machine used internally by the button object.","fullName":"Button finite state machine","name":"ButtonFSM","objectType":"","private":true,"eventsFunctions":[{"fullName":"","functionType":"Action","name":"doStepPostEvents","sentence":"","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Finite state machine","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"The \"Validated\" state only last one frame."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Validated\""]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]}]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Check position","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Make sure the cursor position is only checked once per frame."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyMouseIsInside"},"parameters":["Object","Behavior","no"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyShouldCheckHovering"},"parameters":["Object","Behavior"]},{"type":{"value":"CollisionPoint"},"parameters":["Object","MouseOnlyCursorX(Object.Layer(), 0)","MouseOnlyCursorY(Object.Layer(), 0)"]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyMouseIsInside"},"parameters":["Object","Behavior","yes"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Touches are always pressed, so ShouldCheckHovering doesn't matter."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside"},"parameters":["Object","Behavior","no"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyTouchId"},"parameters":["Object","Behavior","!=","0"]},{"type":{"value":"CollisionPoint"},"parameters":["Object","TouchX(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)","TouchY(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)"]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside"},"parameters":["Object","Behavior","yes"]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Handle touch start","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"HasAnyTouchOrMouseStarted"},"parameters":[""]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyIndex"},"parameters":["Object","Behavior","=","0"]}],"events":[{"type":"BuiltinCommonInstructions::Repeat","repeatExpression":"StartedTouchOrMouseCount()","conditions":[],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CollisionPoint"},"parameters":["Object","TouchX(StartedTouchOrMouseId(Object.Behavior::PropertyIndex()), Object.Layer(), 0)","TouchY(StartedTouchOrMouseId(Object.Behavior::PropertyIndex()), Object.Layer(), 0)"]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyTouchId"},"parameters":["Object","Behavior","=","StartedTouchOrMouseId(Object.Behavior::PropertyIndex())"]},{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside"},"parameters":["Object","Behavior","yes"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Hovered\""]},{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]}]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"PressedInside\""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyIndex"},"parameters":["Object","Behavior","+","1"]}]}]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Apply position changes","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"PanelSpriteButton::ButtonFSM::PropertyMouseIsInside"},"parameters":["Object","Behavior"]},{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Hovered\""]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyMouseIsInside"},"parameters":["Object","Behavior"]},{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"Hovered\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"PanelSpriteButton::ButtonFSM::PropertyTouchIsInside"},"parameters":["Object","Behavior"]},{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedInside\""]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"PressedOutside\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyTouchIsInside"},"parameters":["Object","Behavior"]},{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedOutside\""]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"PressedInside\""]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Handle touch end","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"HasTouchEnded"},"parameters":["","Object.Behavior::PropertyTouchId()"]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyTouchId"},"parameters":["Object","Behavior","=","0"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedInside\""]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"Validated\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedInside\""]},{"type":{"inverted":true,"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Validated\""]}],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]}]}]}],"parameters":[]}],"parameters":[]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteButton::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"Action","name":"onDeActivate","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::ResetState"},"parameters":["Object","Behavior",""]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteButton::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Reset the state of the button.","fullName":"Reset state","functionType":"Action","name":"ResetState","private":true,"sentence":"Reset the button state of _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]},{"type":{"value":"PanelSpriteButton::ButtonFSM::SetPropertyTouchId"},"parameters":["Object","Behavior","=","0"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteButton::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Check if the button is not used.","fullName":"Is idle","functionType":"Condition","name":"IsIdle","sentence":"_PARAM0_ is idle","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Idle\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteButton::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Check if the button was just clicked.","fullName":"Is clicked","functionType":"Condition","name":"IsClicked","sentence":"_PARAM0_ is clicked","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Validated\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteButton::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Check if the cursor is hovered over the button.","fullName":"Is hovered","functionType":"Condition","name":"IsHovered","sentence":"_PARAM0_ is hovered","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Hovered\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteButton::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Check if the button is either hovered or pressed but not hovered.","fullName":"Is focused","functionType":"Condition","name":"IsFocused","sentence":"_PARAM0_ is focused","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"Hovered\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedOutside\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteButton::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Check if the button is currently being pressed with mouse or touch.","fullName":"Is pressed","functionType":"Condition","name":"IsPressed","sentence":"_PARAM0_ is pressed","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedInside\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteButton::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"Check if the button is currently being pressed outside with mouse or touch.","fullName":"Is held outside","functionType":"Condition","name":"IsPressedOutside","sentence":"_PARAM0_ is held outside","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::PropertyState"},"parameters":["Object","Behavior","=","\"PressedOutside\""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteButton::ButtonFSM","type":"behavior"}],"objectGroups":[]},{"description":"the touch id that is using the button or 0 if none.","fullName":"Touch id","functionType":"ExpressionAndCondition","name":"TouchId","sentence":"the touch id","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyTouchId()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PanelSpriteButton::ButtonFSM","type":"behavior"}],"objectGroups":[]}],"propertyDescriptors":[{"value":"true","type":"Boolean","label":"","description":"Should check hovering","group":"","extraInformation":[],"hidden":true,"name":"ShouldCheckHovering"},{"value":"Idle","type":"Choice","label":"State","description":"","group":"","extraInformation":["Idle","Hovered","PressedInside","PressedOutside","Validated"],"hidden":true,"name":"State"},{"value":"0","type":"Number","label":"Touch id","description":"","group":"","extraInformation":[],"hidden":true,"name":"TouchId"},{"value":"","type":"Boolean","label":"Touch is inside","description":"","group":"","extraInformation":[],"hidden":true,"name":"TouchIsInside"},{"value":"","type":"Boolean","label":"Mouse is inside","description":"","group":"","extraInformation":[],"hidden":true,"name":"MouseIsInside"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"Index"}],"sharedPropertyDescriptors":[]}],"eventsBasedObjects":[{"defaultName":"Button","description":"A button that can be customized.","fullName":"Button (panel sprite)","name":"PanelSpriteButton","eventsFunctions":[{"fullName":"","functionType":"Action","name":"onCreated","sentence":"","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Create one background instance for of each state.\nOnly the instance for the current state is shown."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","Idle","0","0",""]},{"type":{"value":"Create"},"parameters":["","Hovered","0","0",""]},{"type":{"value":"Create"},"parameters":["","Pressed","0","0",""]},{"type":{"value":"Cache"},"parameters":["Hovered"]},{"type":{"value":"Cache"},"parameters":["Pressed"]},{"type":{"value":"ChangePlan"},"parameters":["Hovered","=","1"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Place the label over the backgrounds."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"Create"},"parameters":["","Label","0","0",""]},{"type":{"value":"ChangePlan"},"parameters":["Label","=","2"]},{"type":{"value":"TextObject::SetWrapping"},"parameters":["Label","yes"]},{"type":{"value":"PanelSpriteButton::PanelSpriteButton::CenterLabel"},"parameters":["Object",""]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"}],"objectGroups":[{"name":"Background","objects":[{"name":"Idle"},{"name":"Hovered"},{"name":"Pressed"}]}]},{"fullName":"","functionType":"Action","name":"onHotReloading","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::CenterLabel"},"parameters":["Object",""]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"}],"objectGroups":[]},{"fullName":"","functionType":"Action","name":"doStepPostEvents","sentence":"","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Apply states","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Show the right background accordingly to the new state."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::IsIdle"},"parameters":["Object","ButtonFSM"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"SetCenterY"},"parameters":["Label","=","Object.CenterWithPaddingY()"]},{"type":{"value":"Montre"},"parameters":["Idle",""]},{"type":{"value":"Cache"},"parameters":["Pressed"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Visible"},"parameters":["Hovered"]},{"type":{"value":"PanelSpriteButton::PanelSpriteButton::PropertyHoveredFadeOutDuration"},"parameters":["Object",">","0"]}],"actions":[{"type":{"value":"Tween::AddObjectOpacityTween"},"parameters":["Hovered","Tween","\"Fadeout\"","0","\"linear\"","Object.PropertyHoveredFadeOutDuration() * 1000",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::PropertyHoveredFadeOutDuration"},"parameters":["Object","=","0"]}],"actions":[{"type":{"value":"Cache"},"parameters":["Hovered"]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteObject::Opacity"},"parameters":["Hovered","=","0"]}],"actions":[{"type":{"value":"Cache"},"parameters":["Hovered"]},{"type":{"value":"PanelSpriteObject::SetOpacity"},"parameters":["Hovered","=","255"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::IsHovered"},"parameters":["Object","ButtonFSM"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"SetCenterY"},"parameters":["Label","=","Object.CenterWithPaddingY()"]},{"type":{"value":"Cache"},"parameters":["Idle"]},{"type":{"value":"Montre"},"parameters":["Hovered",""]},{"type":{"value":"Cache"},"parameters":["Pressed"]},{"type":{"value":"Tween::RemoveTween"},"parameters":["Hovered","Tween","\"Fadeout\""]},{"type":{"value":"PanelSpriteObject::SetOpacity"},"parameters":["Hovered","=","255"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::IsPressed"},"parameters":["Object","ButtonFSM"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"SetCenterY"},"parameters":["Label","=","Object.CenterWithPaddingY() + Object.PropertyPressedLabelOffsetY()"]},{"type":{"value":"Cache"},"parameters":["Idle"]},{"type":{"value":"Cache"},"parameters":["Hovered"]},{"type":{"value":"Montre"},"parameters":["Pressed",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::IsFocused"},"parameters":["Object","ButtonFSM"]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"SetCenterY"},"parameters":["Label","=","Object.CenterWithPaddingY()"]},{"type":{"value":"Cache"},"parameters":["Idle"]},{"type":{"value":"Montre"},"parameters":["Hovered",""]},{"type":{"value":"Cache"},"parameters":["Pressed"]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Resize","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Children instances must be resized when the button size change:\n- backgrounds for each state are resized to take the full dimensions of the button\n- the label is put back at the center of the button\n\nThe scale is set back to 1 because it means that the parent instance has the same dimensions as the union of its children instances."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"BuiltinCommonInstructions::CompareNumbers"},"parameters":["Object.Width()","!=","max(Idle.BoundingBoxRight(), Label.BoundingBoxRight()) - min(Idle.BoundingBoxLeft(), Label.BoundingBoxLeft())"]},{"type":{"value":"BuiltinCommonInstructions::CompareNumbers"},"parameters":["Object.Height()","!=","max(Idle.BoundingBoxBottom(), Label.BoundingBoxBottom()) - min(Idle.BoundingBoxTop(), Label.BoundingBoxTop())"]}]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Idle","Width","=","Object.Width()"]},{"type":{"value":"ModVarObjet"},"parameters":["Idle","Height","=","Object.Height()"]},{"type":{"value":"PanelSpriteButton::Scale"},"parameters":["Object","=","1"]},{"type":{"value":"PanelSpriteObject::Width"},"parameters":["Background","=","Idle.Variable(Width)"]},{"type":{"value":"PanelSpriteObject::Height"},"parameters":["Background","=","Idle.Variable(Height)"]},{"type":{"value":"PanelSpriteButton::PanelSpriteButton::CenterLabel"},"parameters":["Object",""]}]}],"parameters":[]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"}],"objectGroups":[{"name":"Background","objects":[{"name":"Idle"},{"name":"Hovered"},{"name":"Pressed"}]}]},{"description":"Check if the button is not used.","fullName":"Is idle","functionType":"Condition","name":"IsIdle","sentence":"_PARAM0_ is idle","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::IsIdle"},"parameters":["Idle","ButtonFSM",""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"}],"objectGroups":[]},{"description":"Check if the button was just clicked.","fullName":"Is clicked","functionType":"Condition","name":"IsClicked","sentence":"_PARAM0_ is clicked","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::IsClicked"},"parameters":["Idle","ButtonFSM",""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"}],"objectGroups":[]},{"description":"Check if the cursor is hovered over the button.","fullName":"Is hovered","functionType":"Condition","name":"IsHovered","sentence":"_PARAM0_ is hovered","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::IsHovered"},"parameters":["Idle","ButtonFSM",""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"}],"objectGroups":[]},{"description":"Check if the button is either hovered or pressed but not hovered.","fullName":"Is focused","functionType":"Condition","name":"IsFocused","sentence":"_PARAM0_ is focused","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::IsFocused"},"parameters":["Idle","ButtonFSM",""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"}],"objectGroups":[]},{"description":"Check if the button is currently being pressed with mouse or touch.","fullName":"Is pressed","functionType":"Condition","name":"IsPressed","sentence":"_PARAM0_ is pressed","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::ButtonFSM::IsPressed"},"parameters":["Idle","ButtonFSM",""]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"}],"objectGroups":[]},{"description":"Change the text of the button label.","fullName":"Label text","functionType":"Action","name":"SetLabelText","sentence":"Change the text of _PARAM0_ to _PARAM1_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"TextObject::String"},"parameters":["Label","=","GetArgumentAsString(\"LabelText\")"]},{"type":{"value":"PanelSpriteButton::PanelSpriteButton::CenterLabel"},"parameters":["Object",""]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"},{"description":"Text","name":"LabelText","type":"string"}],"objectGroups":[]},{"description":"Return the label text.","fullName":"Label text","functionType":"StringExpression","name":"LabelText","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnString"},"parameters":["Label.String()"]}]}],"expressionType":{"type":"string"},"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"}],"objectGroups":[]},{"description":"Return the label center Y according to the button configuration. This expression is used in doStepPostEvents when the button is pressed or released.","fullName":"","functionType":"Expression","name":"CenterWithPaddingY","private":true,"sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Idle.CenterY() + (Object.PropertyTopPadding() - Object.PropertyBottomPadding()) / 2"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"}],"objectGroups":[]},{"description":"Center the label according to the button configuration. This is used in doStepPostEvents when the button is resized.","fullName":"","functionType":"Action","name":"CenterLabel","private":true,"sentence":"Center the label of _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"MettreXY"},"parameters":["Label","=","Object.PropertyLeftPadding()","=","Object.PropertyTopPadding()"]},{"type":{"value":"TextObject::WrappingWidth"},"parameters":["Label","=","Idle.Width() - Object.PropertyLeftPadding() - Object.PropertyRightPadding()"]},{"type":{"value":"SetCenterY"},"parameters":["Label","=","Object.CenterWithPaddingY()"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetCenterX"},"parameters":["Label","=","Background.CenterX() + (Object.PropertyLeftPadding() - Object.PropertyRightPadding()) / 2"]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PanelSpriteButton::PanelSpriteButton::IsPressed"},"parameters":["Object",""]}],"actions":[{"type":{"value":"MettreY"},"parameters":["Label","+","Object.PropertyPressedLabelOffsetY()"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"}],"objectGroups":[{"name":"Background","objects":[{"name":"Idle"},{"name":"Hovered"},{"name":"Pressed"}]}]},{"description":"De/activate interactions with the button.","fullName":"De/activate interactions","functionType":"Action","name":"Activate","sentence":"Activate interactions with _PARAM0_: _PARAM1_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"GetArgumentAsBoolean"},"parameters":["\"ShouldActivate\""]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Idle","ButtonFSM","yes"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"GetArgumentAsBoolean"},"parameters":["\"ShouldActivate\""]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Idle","ButtonFSM","no"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"},{"description":"Activate","name":"ShouldActivate","type":"yesorno"}],"objectGroups":[]},{"description":"Check if interactions are activated on the button.","fullName":"Interactions activated","functionType":"Condition","name":"IsActivated","sentence":"Interactions on _PARAM0_ are activated","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BehaviorActivated"},"parameters":["Idle","ButtonFSM"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PanelSpriteButton::PanelSpriteButton","type":"object"}],"objectGroups":[]}],"propertyDescriptors":[{"value":"0","type":"Number","label":"Label offset on Y axis when pressed","description":"","group":"","extraInformation":[],"hidden":false,"name":"PressedLabelOffsetY"},{"value":"0","type":"Number","label":"Left padding","description":"","group":"Padding","extraInformation":["Label"],"hidden":false,"name":"LeftPadding"},{"value":"0","type":"Number","label":"Right padding","description":"","group":"Padding","extraInformation":["Label"],"hidden":false,"name":"RightPadding"},{"value":"0","type":"Number","label":"Top padding","description":"","group":"Padding","extraInformation":["Label"],"hidden":false,"name":"TopPadding"},{"value":"0","type":"Number","label":"Bottom padding","description":"","group":"Padding","extraInformation":["Label"],"hidden":false,"name":"BottomPadding"},{"value":"0.25","type":"Number","label":"Hovered fade out duration (in seconds)","description":"","group":"","extraInformation":[],"hidden":false,"name":"HoveredFadeOutDuration"}],"objects":[{"assetStoreId":"","bold":false,"italic":false,"name":"Label","smoothed":true,"tags":"","type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[],"string":"Text","font":"","textAlignment":"","characterSize":20.0,"color":{"b":0,"g":0,"r":0}},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"Idle","rightMargin":0.0,"tags":"","texture":"","tiled":false,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[{"folded":true,"name":"State","type":"string","value":"Idle"}],"effects":[],"behaviors":[{"name":"ButtonFSM","type":"PanelSpriteButton::ButtonFSM","ShouldCheckHovering":true}]},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"Hovered","rightMargin":0.0,"tags":"","texture":"","tiled":false,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Tween","type":"Tween::TweenBehavior"}]},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"Pressed","rightMargin":0.0,"tags":"","texture":"","tiled":false,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[]}]}]},{"author":"Westboy31","category":"Visual effect","extensionNamespace":"","fullName":"Flash and transition painter","helpPath":"","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLW1vdmllLWZpbHRlciIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xOCA0TDIwIDdIMTdMMTUgNEgxM0wxNSA3SDEyTDEwIDRIOEwxMCA3SDdMNSA0SDRDMi45IDQgMiA0LjkgMiA2TDIgMThDMiAxOS4xIDIuOSAyMCA0IDIwSDIwQzIxLjEgMjAgMjIgMTkuMSAyMiAxOFY0SDE4TTExLjI1IDE1LjI1TDEwIDE4TDguNzUgMTUuMjVMNiAxNEw4Ljc1IDEyLjc1TDEwIDEwTDExLjI1IDEyLjc1TDE0IDE0TDExLjI1IDE1LjI1TTE2Ljk0IDExLjk0TDE2IDE0TDE1LjA2IDExLjk0TDEzIDExTDE1LjA2IDEwLjA2TDE2IDhMMTYuOTQgMTAuMDZMMTkgMTFMMTYuOTQgMTEuOTRaIiAvPjwvc3ZnPg==","name":"FlashTransitionPainter","previewIconUrl":"https://resources.gdevelop-app.com/assets/Icons/movie-filter.svg","shortDescription":"Behavior for shape painter allows you to paint a color all over the screen for period of time with an effect (useful for simulate flash and transition effect).","version":"0.1.0","description":["* __Paint effect:__ Action to paint a color all over the screen for a period of time with specific effect.","effect type:"," * __Flash:__ is a monochrome color appear with fade then disappear with fade out."," * __Vertical:__ is a monochrome color comes from right side then comes back."," * __Horizontal:__ is a monochrome color come from top side then comes back."," * __Circular:__ is a circle which increases from the center and narrows.","* __Paint effect ended:__ event when the paint effect ends."],"origin":{"identifier":"FlashTransitionPainter","name":"gdevelop-extension-store"},"tags":["shape painter","flash","transition","effect"],"authorIds":[],"dependencies":[],"eventsFunctions":[],"eventsBasedBehaviors":[{"description":"Paint all over the screen a color for a period of time.","fullName":"Flash and transition painter","name":"FlashTransitionPainter","objectType":"PrimitiveDrawing::Drawer","eventsFunctions":[{"fullName":"","functionType":"Action","name":"onCreated","sentence":"","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Disable effect when the game starts."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Object","Behavior",""]},{"type":{"value":"PauseObjectTimer"},"parameters":["Object","\"__FlashTransitionPainter_timerEffect\""]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PrimitiveDrawing::Drawer","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"FlashTransitionPainter::FlashTransitionPainter","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"Action","name":"doStepPostEvents","sentence":"","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Avoid default parameter of painter that could make the extension doesn't work."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"PrimitiveDrawing::ClearBetweenFrames"},"parameters":["Object","yes"]},{"type":{"value":"PrimitiveDrawing::OutlineSize"},"parameters":["Object","=","0"]},{"type":{"value":"ResetObjectTimer"},"parameters":["Object","\"__FlashTransitionPainter_timerEffect\""]},{"type":{"value":"UnPauseObjectTimer"},"parameters":["Object","\"__FlashTransitionPainter_timerEffect\""]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Initialise position of painter. \nIncrement or decrement \"_TimeProgressionEffect\" depending on direction."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"MettreXY"},"parameters":["Object","=","CameraX(Object.Layer(),0) - SceneWindowWidth()/2","=","CameraY(Object.Layer(),0) - SceneWindowHeight()/2"]},{"type":{"value":"PrimitiveDrawing::FillColor"},"parameters":["Object","Object.Behavior::PropertyColor()"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_TimeProgressionEffect","+","(TimeDelta() / Object.Behavior::PropertyTimer())*Object.Variable(__FlashTransitionPainter_ReverseDirection)"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Here this the paints functions of different effect depending on the type chosen by the user.\nDetect the direction of the animation and its end."},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Type 1 : flash effect. "},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyType"},"parameters":["Object","Behavior","=","\"\""]},{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyType"},"parameters":["Object","Behavior","=","\"Flash\""]}]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__FlashTransitionPainter_OpacityFlash",">=","Object.Behavior::PropertyMaxOpacity()"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_ReverseDirection","=","-1"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyDirection"},"parameters":["Object","Behavior","=","\"Forward\""]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Object","Behavior",""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__FlashTransitionPainter_OpacityFlash","<","0"]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Object","Behavior",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_OpacityFlash","=","lerp(0, Object.Behavior::PropertyMaxOpacity(), Object.Variable(__FlashTransitionPainter_TimeProgressionEffect))"]},{"type":{"value":"PrimitiveDrawing::FillOpacity"},"parameters":["Object","=","Object.Variable(__FlashTransitionPainter_OpacityFlash)"]},{"type":{"value":"PrimitiveDrawing::Rectangle"},"parameters":["Object","CameraX(Object.Layer(),0) - SceneWindowWidth()/2","CameraY(Object.Layer(),0) - SceneWindowHeight()/2","SceneWindowWidth()","SceneWindowHeight()"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Type 2 : screen come from top then return."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyType"},"parameters":["Object","Behavior","=","\"Horizontal\""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__FlashTransitionPainter_ProgressiveWidth",">=","SceneWindowWidth()"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_ReverseDirection","=","-1"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyDirection"},"parameters":["Object","Behavior","=","\"Forward\""]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Object","Behavior",""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__FlashTransitionPainter_ProgressiveWidth","<","0"]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Object","Behavior",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_SmoothEdge","=","10"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_SmoothEdgeOpacity","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_ProgressiveWidth","=","lerp(0,SceneWindowWidth(),Object.Variable(__FlashTransitionPainter_TimeProgressionEffect))"]}]},{"type":"BuiltinCommonInstructions::Repeat","repeatExpression":"5","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_SmoothEdge","-","2"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_SmoothEdgeOpacity","+","51"]},{"type":{"value":"PrimitiveDrawing::FillOpacity"},"parameters":["Object","=","Object.Variable(__FlashTransitionPainter_SmoothEdgeOpacity)"]},{"type":{"value":"PrimitiveDrawing::Rectangle"},"parameters":["Object","0","0","Object.Variable(__FlashTransitionPainter_ProgressiveWidth) + Object.Variable(__FlashTransitionPainter_SmoothEdge)","SceneWindowHeight()"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Type 3 : screen come from left then return."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyType"},"parameters":["Object","Behavior","=","\"Vertical\""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__FlashTransitionPainter_ProgressiveHeight",">=","SceneWindowHeight()"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_ReverseDirection","=","-1"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyDirection"},"parameters":["Object","Behavior","=","\"Forward\""]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Object","Behavior",""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__FlashTransitionPainter_ProgressiveHeight","<","0"]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Object","Behavior",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_SmoothEdge","=","10"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_SmoothEdgeOpacity","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_ProgressiveHeight","=","lerp(0,SceneWindowHeight(),Object.Variable(__FlashTransitionPainter_TimeProgressionEffect))"]}]},{"type":"BuiltinCommonInstructions::Repeat","repeatExpression":"5","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_SmoothEdge","-","2"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_SmoothEdgeOpacity","+","51"]},{"type":{"value":"PrimitiveDrawing::FillOpacity"},"parameters":["Object","=","Object.Variable(__FlashTransitionPainter_SmoothEdgeOpacity)"]},{"type":{"value":"PrimitiveDrawing::Rectangle"},"parameters":["Object","0","0","SceneWindowWidth()","Object.Variable(__FlashTransitionPainter_ProgressiveHeight) + Object.Variable(__FlashTransitionPainter_SmoothEdge)"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Type 4 : a circle scale up from the middle then scale down."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyType"},"parameters":["Object","Behavior","=","\"Circular\""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__FlashTransitionPainter_ProgressiveWidth",">=","(sqrt (pow(SceneWindowHeight(),2) + pow(SceneWindowWidth(),2) )) /2 "]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_ReverseDirection","=","-1"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyDirection"},"parameters":["Object","Behavior","=","\"Forward\""]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Object","Behavior",""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__FlashTransitionPainter_ProgressiveWidth","<","0"]}],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Object","Behavior",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_SmoothEdge","=","1"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_SmoothEdgeOpacity","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_ProgressiveWidth","=","lerp(0,(sqrt (pow(SceneWindowHeight(),2) + pow(SceneWindowWidth(),2) ))/2 ,Object.Variable(__FlashTransitionPainter_TimeProgressionEffect))"]}]},{"type":"BuiltinCommonInstructions::Repeat","repeatExpression":"5","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_SmoothEdge","-","0.2"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_SmoothEdgeOpacity","+","51"]},{"type":{"value":"PrimitiveDrawing::FillOpacity"},"parameters":["Object","=","Object.Variable(__FlashTransitionPainter_SmoothEdgeOpacity)"]},{"type":{"value":"PrimitiveDrawing::Circle"},"parameters":["Object","SceneWindowWidth()/2","SceneWindowHeight()/2","Object.Variable(__FlashTransitionPainter_ProgressiveWidth) + Object.Variable(__FlashTransitionPainter_SmoothEdge)"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"The repeat 5 times is used to have clean and smooth edges , especially for circle.\n"}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PrimitiveDrawing::Drawer","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"FlashTransitionPainter::FlashTransitionPainter","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"Action","name":"onDeActivate","sentence":"","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Reset variables."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_OpacityFlash","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_ReverseDirection","=","1"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_TimeProgressionEffect","=","0"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PrimitiveDrawing::Drawer","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"FlashTransitionPainter::FlashTransitionPainter","type":"behavior"}],"objectGroups":[]},{"description":"Paint Effect.","fullName":"Paint Effect","functionType":"Action","name":"PaintEffect","sentence":"Paint effect type _PARAM4_ of _PARAM0_ with direction _PARAM5_ and color _PARAM2_ for _PARAM3_ seconds","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Initialise all variables and then activate the behavior.\nIf user doesn't assign value to color and type , we take the last value registred.\nIf user doesn't assign value to timer we take a default value (0.2)."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]},{"type":{"inverted":true,"value":"BehaviorActivated"},"parameters":["Object","Behavior"]}],"actions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::SetPropertyTimer"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"Timer\") + (3*TimeDelta())"]},{"type":{"value":"ResetObjectTimer"},"parameters":["Object","\"__FlashTransitionPainter_timerEffect\""]},{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::SetPropertyDirection"},"parameters":["Object","Behavior","=","GetArgumentAsString(\"Direction\")"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"StrEqual"},"parameters":["GetArgumentAsString(\"Type\")","!=","\"\""]}],"actions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::SetPropertyType"},"parameters":["Object","Behavior","=","GetArgumentAsString(\"Type\")"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"StrEqual"},"parameters":["GetArgumentAsString(\"Color\")","!=","\"\""]}],"actions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::SetPropertyColor"},"parameters":["Object","Behavior","=","GetArgumentAsString(\"Color\")"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyTimer"},"parameters":["Object","Behavior","=","0"]}],"actions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::SetPropertyTimer"},"parameters":["Object","Behavior","=","0.2"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyDirection"},"parameters":["Object","Behavior","=","\"Both\""]}],"actions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::SetPropertyTimer"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"Timer\")/2 + (3*TimeDelta())"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"StrEqual"},"parameters":["GetArgumentAsString(\"Direction\")","=","\"Backward\""]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_ReverseDirection","=","-1"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__FlashTransitionPainter_TimeProgressionEffect","=","1"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["GetArgumentAsNumber(\"MaxOpacity\")","!=","0"]}],"actions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::SetPropertyMaxOpacity"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"MaxOpacity\")"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ActivateBehavior"},"parameters":["Object","Behavior","yes"]}]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PrimitiveDrawing::Drawer","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"FlashTransitionPainter::FlashTransitionPainter","type":"behavior"},{"description":"Color","name":"Color","type":"color"},{"description":"Duration","name":"Timer","type":"expression"},{"description":"Type of effect ","name":"Type","supplementaryInformation":"[\"Flash\",\"Horizontal\",\"Vertical\",\"Circular\"]","type":"stringWithSelector"},{"description":"Direction transition","name":"Direction","supplementaryInformation":"[\"Both\",\"Forward\",\"Backward\"]","type":"stringWithSelector"},{"description":"End opacity (only for flash)","name":"MaxOpacity","type":"expression"}],"objectGroups":[]},{"description":"Paint effect ended.","fullName":"Paint effect ended ","functionType":"Condition","name":"PaintEffectIsEnd","sentence":"When paint effect of _PARAM0_ ends","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Detect when the animation ends with a timer which is initialised in PaintEffect function."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyDirection"},"parameters":["Object","Behavior","=","\"Backward\""]},{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyDirection"},"parameters":["Object","Behavior","=","\"Forward\""]}]},{"type":{"value":"ObjectTimer"},"parameters":["Object","\"__FlashTransitionPainter_timerEffect\"","Object.Behavior::PropertyTimer() - (3*TimeDelta())"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"FlashTransitionPainter::FlashTransitionPainter::PropertyDirection"},"parameters":["Object","Behavior","=","\"Both\""]},{"type":{"value":"ObjectTimer"},"parameters":["Object","\"__FlashTransitionPainter_timerEffect\"","Object.Behavior::PropertyTimer()*2 - (3*TimeDelta())"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"PrimitiveDrawing::Drawer","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"FlashTransitionPainter::FlashTransitionPainter","type":"behavior"}],"objectGroups":[]}],"propertyDescriptors":[{"value":"1","type":"Number","label":"Timer","description":"","group":"","extraInformation":[],"hidden":true,"name":"Timer"},{"value":"255;255;255","type":"String","label":"Color","description":"","group":"","extraInformation":[],"hidden":true,"name":"Color"},{"value":"","type":"String","label":"Type of effect ","description":"","group":"","extraInformation":[],"hidden":true,"name":"Type"},{"value":"","type":"String","label":"Direction of transition","description":"","group":"","extraInformation":[],"hidden":true,"name":"Direction"},{"value":"255","type":"Number","label":"The maximum of the opacity only for flash","description":"","group":"","extraInformation":[],"hidden":true,"name":"MaxOpacity"}],"sharedPropertyDescriptors":[]}],"eventsBasedObjects":[]},{"author":"Arthur Pacaud (arthuro555)","category":"General","extensionNamespace":"","fullName":"Array tools","helpPath":"","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWNvZGUtYXJyYXkiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyw1QTIsMiAwIDAsMSA1LDNIMTlBMiwyIDAgMCwxIDIxLDVWMTlBMiwyIDAgMCwxIDE5LDIxSDVDMy44OSwyMSAzLDIwLjEgMywxOVY1TTYsNlYxOEgxMFYxNkg4VjhIMTBWNkg2TTE2LDE2SDE0VjE4SDE4VjZIMTRWOEgxNlYxNloiIC8+PC9zdmc+","name":"ArrayTools","previewIconUrl":"https://resources.gdevelop-app.com/assets/Icons/code-array.svg","shortDescription":"A collection of utilities and tools for working with arrays.","version":"1.0.0","description":["> Note: This extension is currently made in JavaScript instead of the event sheet as variables cannot be passed to events based functions yet. Due to this hack, the extension **only works on root scene variables**, not on child variables or non-scene variables.","","This extension adds features like:","- Combining arrays (concatenate into new array, append all children to another array)","- Finding a value in an array (find index expression, contains condition)","- Reversing arrays","- Get a portion of an array (slice)","- Add and remove lots of children at specific indices at once (fill, splice, shift, pop, add at index)","- Randomness (shuffle children, get a random child)","- Mathematical operations using arrays (sum of all numbers, biggest/smallest number, average number, median number)","- Sort numbers in an array","- String inter-operation (split string into array, join array array children to string)"],"origin":{"identifier":"ArrayTools","name":"gdevelop-extension-store"},"tags":["array","variable","index","tool","math","string","sort","find","slice","cut","random","copy","combine","concat","append","insert"],"authorIds":["ZgrsWuRTAkXgeuPV9bo0zuEcA2w1"],"dependencies":[],"eventsFunctions":[{"description":"The index of the first variable that equals to a specific number in an array.","fullName":"Index of number","functionType":"Expression","name":"IndexOf","sentence":"","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const num = eventsFunctionContext.getArgument(\"num\");","const arr = runtimeScene"," .getVariables()"," .get(eventsFunctionContext.getArgument(\"array\"))"," .getAllChildrenArray();","","// Technically findIndex would be more suitable but it may be a bit too recent and unsupported by some browsers","eventsFunctionContext.returnValue = arr.indexOf(arr.find(variable => variable.getAsNumber() === num));",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"expression"},"parameters":[{"description":"The name of the scene array variable","name":"array","type":"string"},{"description":"The number to search in the array","name":"num","type":"expression"}],"objectGroups":[]},{"description":"The index of the first variable that equals to a specific text in an array.","fullName":"Index of text","functionType":"Expression","name":"IndexOfStr","sentence":"","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const str = eventsFunctionContext.getArgument(\"str\");","const arr = runtimeScene"," .getVariables()"," .get(eventsFunctionContext.getArgument(\"array\"))"," .getAllChildrenArray();","","// Technically findIndex would be more suitable but it may be a bit too recent and unsupported by some browsers","eventsFunctionContext.returnValue = arr.indexOf(arr.find(variable => variable.getAsString() === str));",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"expression"},"parameters":[{"description":"The name of the scene array variable","name":"array","type":"string"},{"description":"The string to search in the array","name":"str","type":"string"}],"objectGroups":[]},{"description":"The index of the last variable that equals to a specific number in an array.","fullName":"Last index of number","functionType":"Expression","name":"LastIndexOf","sentence":"","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const num = eventsFunctionContext.getArgument(\"num\");","const arr = runtimeScene"," .getVariables()"," .get(eventsFunctionContext.getArgument(\"array\"))"," .getAllChildrenArray();","","// Technically findIndex would be more suitable but it may be a bit too recent and unsupported by some browsers","eventsFunctionContext.returnValue = arr.indexOf(arr.slice().reverse().find(variable => variable.getAsNumber() === num));",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"expression"},"parameters":[{"description":"The name of the scene array variable","name":"array","type":"string"},{"description":"The number to search in the array","name":"num","type":"expression"}],"objectGroups":[]},{"description":"The index of the last variable that equals to a specific text in an array.","fullName":"Last index of text","functionType":"Expression","name":"LastIndexOfStr","sentence":"","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const str = eventsFunctionContext.getArgument(\"str\");","const arr = runtimeScene"," .getVariables()"," .get(eventsFunctionContext.getArgument(\"array\"))"," .getAllChildrenArray();","","// Technically findIndex would be more suitable but it may be a bit too recent and unsupported by some browsers","eventsFunctionContext.returnValue = arr.indexOf(arr.slice().reverse().find(variable => variable.getAsString() === str));",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"expression"},"parameters":[{"description":"The name of the scene array variable","name":"array","type":"string"},{"description":"The string to search in the array","name":"str","type":"string"}],"objectGroups":[]},{"description":"Returns a random number of an array of numbers.","fullName":"Random number of array","functionType":"Expression","name":"GetRandomNumber","sentence":"","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene"," .getVariables()"," .get(eventsFunctionContext.getArgument(\"arr\"))"," .getAllChildrenArray();","","eventsFunctionContext.returnValue = arr.length === 0 ? 0 :"," arr[Math.floor(Math.random() * arr.length)].getAsNumber();",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"expression"},"parameters":[{"description":"The name of the scene array variable","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Returns a random string of an array of strings.","fullName":"Random string of array","functionType":"StringExpression","name":"GetRandomString","sentence":"","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene"," .getVariables()"," .get(eventsFunctionContext.getArgument(\"arr\"))"," .getAllChildrenArray();","","eventsFunctionContext.returnValue = arr.length === 0 ? \"\" :"," arr[Math.floor(Math.random() * arr.length)].getAsString();",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"string"},"parameters":[{"description":"The name of the scene array variable","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Removes the last array child of an array, and return it as a number.","fullName":"Pop number from array","functionType":"Expression","name":"PopNumber","sentence":"Remove last child of _PARAM1_ and store it in _PARAM2_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","// Cast to array to ensure getAllChildrenArray returns the real array","arr.castTo(\"array\");","","eventsFunctionContext.returnValue = arr.getAllChildrenArray().pop().getAsNumber();",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"expression"},"parameters":[{"description":"The array to pop a child from","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Removes the last array child of an array, and return it as a string.","fullName":"Pop string from array","functionType":"StringExpression","name":"PopString","sentence":"Remove last child of _PARAM1_ and store it in _PARAM2_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","// Cast to array to ensure getAllChildrenArray returns the real array","arr.castTo(\"array\");","","eventsFunctionContext.returnValue = arr.getAllChildrenArray().pop().getAsString();",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"string"},"parameters":[{"description":"The array to pop a child from","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Removes the first array child of an array, and return it as a number.","fullName":"Shift number from array","functionType":"Expression","name":"ShiftNumber","sentence":"Remove last child of _PARAM1_ and store it in _PARAM2_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","// Cast to array to ensure getAllChildrenArray returns the real array","arr.castTo(\"array\");","","eventsFunctionContext.returnValue = arr.getAllChildrenArray().shift().getAsNumber();",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"expression"},"parameters":[{"description":"The array to shift a child from","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Removes the first array child of an array, and return it as a string.","fullName":"Shift string from array","functionType":"StringExpression","name":"ShiftString","sentence":"Remove last child of _PARAM1_ and store it in _PARAM2_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","// Cast to array to ensure getAllChildrenArray returns the real array","arr.castTo(\"array\");","","eventsFunctionContext.returnValue = arr.getAllChildrenArray().shift().getAsString();",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"string"},"parameters":[{"description":"The array to shift a child from","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Checks if an array contains a specific number.","fullName":"Array has number","functionType":"Condition","name":"HasNumber","sentence":"Array _PARAM1_ has number _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["ArrayTools::IndexOf(GetArgumentAsString(\"arr\"), GetArgumentAsNumber(\"val\"))","!=","-1"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"The array to check from","name":"arr","type":"string"},{"description":"The number to search","name":"val","type":"expression"}],"objectGroups":[]},{"description":"Checks if an array contains a specific string.","fullName":"Array has string","functionType":"Condition","name":"HasString","sentence":"Array _PARAM1_ has string _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["ArrayTools::IndexOfStr(GetArgumentAsString(\"arr\"), GetArgumentAsString(\"val\"))","!=","-1"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"The array to check from","name":"arr","type":"string"},{"description":"The text to search","name":"val","type":"string"}],"objectGroups":[]},{"description":"Copies a portion of a scene array variable into a new scene array variable.","fullName":"Slice an array","functionType":"Action","name":"Slice","sentence":"Slice array _PARAM1_ from indices _PARAM3_ to _PARAM4_ into _PARAM2_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","const target = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"target\"));","","// Ensure the target is a clean new array","target.castTo(\"array\");","target.clearChildren();","","// Slice the original array","const slice = arr"," .getAllChildrenArray()"," .slice("," eventsFunctionContext.getArgument(\"begin\"),"," // The `|| undefined` replaces 0 with undefined, as having the argument as 0 "," // would make the array empty and is therefore useless."," // With undefined though, it doesn't stop until the end of the array,"," // which is purposeful."," eventsFunctionContext.getArgument(\"end\") || undefined"," );","","// Copy each variable of the slice into the new array","for (const variable of slice)"," target.pushVariableCopy(variable);",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"parameters":[{"description":"The array to take a slice from","name":"arr","type":"string"},{"description":"The array to store the slice into","name":"target","type":"string"},{"description":"The index to start the slice from","name":"begin","type":"expression"},{"description":"The index to end the slice at","longDescription":"Set to 0 to copy all of the array. If you use a negative value, the index will be selected beginning from the end. \nFor example, slicing an array with 5 elements from 0 to -1 would take only elements from indices 0 to 3.","name":"end","type":"expression"}],"objectGroups":[]},{"description":"Cuts a portion of an array off.","fullName":"Splice an array","functionType":"Action","name":"Splice","sentence":"Remove _PARAM3_ items from array _PARAM1_ starting from index _PARAM2_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","// Cast to array to ensure getAllChildrenArray returns the real array","arr.castTo(\"array\");","arr.getAllChildrenArray()"," .splice("," eventsFunctionContext.getArgument(\"begin\"),"," // Replaces 0 with the legth of the array, as having the argument as 0 "," // would not remove anything and is therefore useless."," eventsFunctionContext.getArgument(\"count\") || arr.getAllChildrenArray().length"," );",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"parameters":[{"description":"The array to remove items from","name":"arr","type":"string"},{"description":"The index to start removing from","longDescription":"If you use a negative value, the index will be selected beginning from the end.","name":"begin","type":"expression"},{"description":"The amount of elements to remove","longDescription":"Set to 0 to remove until the end of the array.","name":"count","type":"expression"}],"objectGroups":[]},{"description":"Combines all elements of 2 scene arrays into one new scene array.","fullName":"Combine 2 arrays","functionType":"Action","name":"Concatenate","sentence":"Combine array _PARAM1_ and _PARAM2_ into _PARAM3_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","const arr2 = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr2\"));","const target = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"target\"));","","// Ensure the target is a clean new array","target.castTo(\"array\");","target.clearChildren();","","// Copy both arrays inside the new one","for (const variable of arr.getAllChildrenArray())"," target.pushVariableCopy(variable);","","for (const variable of arr2.getAllChildrenArray())"," target.pushVariableCopy(variable);",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"parameters":[{"description":"The first array","name":"arr","type":"string"},{"description":"The second array","name":"arr2","type":"string"},{"description":"The variable to store the new array in","name":"target","type":"string"}],"objectGroups":[]},{"description":"Appends a copy of all variables of one array to another array.","fullName":"Append all variable to another array","functionType":"Action","name":"AppendAll","sentence":"Append all elements from array _PARAM1_ into _PARAM2_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","const target = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"target\"));","","// Copy both arrays inside the new one","for (const variable of arr.getAllChildrenArray())"," target.pushVariableCopy(variable);",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"parameters":[{"description":"The array to get the variables from","name":"arr","type":"string"},{"description":"The variable to append the variables in","name":"target","type":"string"}],"objectGroups":[]},{"description":"Reverses children of an array. The first array child becomes the last, and the last array child becomes the first.","fullName":"Reverse an array","functionType":"Action","name":"Reverse","sentence":"Reverse array _PARAM1_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","// Cast to array to ensure getAllChildrenArray returns the real array","arr.castTo(\"array\");","arr.getAllChildrenArray().reverse();",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"parameters":[{"description":"The array to reverse","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Fill an element with a number.","fullName":"Fill array with number","functionType":"Action","name":"Fill","sentence":"Fill array _PARAM1_ with _PARAM2_ from index _PARAM3_ to index _PARAM4_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","// Cast to array to ensure getAllChildrenArray returns the real array","arr.castTo(\"array\");","const a = arr.getAllChildrenArray();","const end = eventsFunctionContext.getArgument(\"end\") || a.length - 1;","","for (let i = eventsFunctionContext.getArgument(\"begin\"); i <= end; i++)"," a[i] = new gdjs.Variable({"," type: \"number\","," value: eventsFunctionContext.getArgument(\"val\"),"," });",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"parameters":[{"description":"The array to fill","name":"arr","type":"string"},{"description":"The number to fill","name":"val","type":"expression"},{"description":"The index to start filling from","name":"begin","type":"expression"},{"description":"The index to stop filling at","longDescription":"Set to 0 to fill until the end of the array.","name":"end","type":"expression"}],"objectGroups":[]},{"description":"Shuffles all children of an array.","fullName":"Shuffle array","functionType":"Action","name":"Shuffle","sentence":"Shuffle array _PARAM1_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","// Cast to array to ensure getAllChildrenArray returns the real array","arr.castTo(\"array\");","const a = arr.getAllChildrenArray();","a.sort(() => Math.random() - 0.5);",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"parameters":[{"description":"The array to shuffle","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Replaces all arrays inside of an array with their children. For example, [[1,2], [3,4]] becomes [1,2,3,4].","fullName":"Flatten array","functionType":"Action","name":"Flatten","sentence":"Flatten array _PARAM1_ (Deeply flatten: _PARAM2_)","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","// Cast to array to ensure getAllChildrenArray returns the real array","arr.castTo(\"array\");","const a = arr.getAllChildrenArray();","const deep = eventsFunctionContext.getArgument(\"deep\");","","for (let i = 0; i < a.length; i++)"," if (a[i].getType() === \"array\") {"," const b = a[i].getAllChildrenArray();"," // At the position of the array (i), remove 1 element (the array), "," // and insert elements of b (the contents of the array) in-place of the array."," a.splice(i, 1, ...b);"," // Skip over the elements that were just added as we are flattening only 1 level deep "," if(!deep) i += b.length;"," // If deep, the current element has been replaced with another, we need to recheck it on next iteration."," // If not deep, the current element is now the one after the array elements and needs to be checked too."," // In both case, decreasing by 1 is necessary."," i--;"," }",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"parameters":[{"description":"The array to flatten","name":"arr","type":"string"},{"description":"Deeply flatten","longDescription":"If yes, will continue flattening until there is no arrays in the array anymore.","name":"deep","type":"yesorno"}],"objectGroups":[]},{"description":"Removes the last array child of an array, and stores it in another variable.","fullName":"Pop array child","functionType":"Action","name":"Pop","sentence":"Remove last child of _PARAM1_ and store it in _PARAM2_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","// Cast to array to ensure getAllChildrenArray returns the real array","arr.castTo(\"array\");","const popvar = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"popvar\"));","","gdjs.Variable.copy(arr.getAllChildrenArray().pop(), popvar, false);",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"parameters":[{"description":"The array to pop a child from","name":"arr","type":"string"},{"description":"The variable to store the popped value into","name":"popvar","type":"string"}],"objectGroups":[]},{"description":"Removes the first array child of an array, and stores it in another variable.","fullName":"Shift array child","functionType":"Action","name":"Shift","sentence":"Remove first child of _PARAM1_ and store it in _PARAM2_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","// Cast to array to ensure getAllChildrenArray returns the real array","arr.castTo(\"array\");","const shiftvar = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"shiftvar\"));","","gdjs.Variable.copy(arr.getAllChildrenArray().shift(), shiftvar, false);",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"parameters":[{"description":"The array to shift a child from","name":"arr","type":"string"},{"description":"The variable to store the shifted value into","name":"shiftvar","type":"string"}],"objectGroups":[]},{"description":"Insert a variable at a specific index of an array.","fullName":"Insert variable at","functionType":"Action","name":"InsertAt","sentence":"Insert variable _PARAM3_ in _PARAM1_ at index _PARAM2_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));\r","// Cast to array to ensure getAllChildrenArray returns the real array\r","arr.castTo(\"array\");\r","const variable = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"variable\"));\r","\r","arr.getAllChildrenArray().splice(eventsFunctionContext.getArgument(\"index\"), 0, variable.clone());\r",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"parameters":[{"description":"The array to insert a variable in","name":"arr","type":"string"},{"description":"The index to insert the variable at","name":"index","type":"expression"},{"description":"The name of the variable to insert","name":"variable","type":"string"}],"objectGroups":[]},{"description":"Split a string into an array of strings via a separator.","fullName":"Split string into array","functionType":"Action","name":"SplitString","sentence":"Split string _PARAM1_ via separator _PARAM2_ into array _PARAM3_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));","const str = eventsFunctionContext.getArgument(\"str\");","const sep = eventsFunctionContext.getArgument(\"sep\");","","// Ensure the target is a clean new array","arr.castTo(\"array\");","arr.clearChildren();","","for (const string of str.split(sep)) "," arr.pushValue(string);",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"parameters":[{"description":"The string to split","name":"str","type":"string"},{"description":"The separator to use to split the string","longDescription":"For example, if you have a string \"Hello World\", and the separator is a space (\" \"), the resulting array would be [\"Hello\", \"World\"]. If the separator is an empty string (\"\"), it will make an element per character ([\"H\", \"e\", \"l\", \"l\", \"o\", \" \", \"W\", \"o\", \"r\", \"l\", \"d\"]).","name":"sep","type":"string"},{"description":"The name of the variable where to store the array","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Returns a string made from all strings in an array.","fullName":"Join all elements of an array together into a string","functionType":"StringExpression","name":"Join","sentence":"","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"));\r","const sep = eventsFunctionContext.getArgument(\"sep\");\r","\r","eventsFunctionContext.returnValue = arr\r"," .getAllChildrenArray()\r"," .reduce((accumulator, current) => accumulator + sep + current.getAsString(), \"\")\r"," // Remove first separator as it should be only between the strings\r"," .slice(sep.length);\r",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"string"},"parameters":[{"description":"The name of the array to join into a string","name":"arr","type":"string"},{"description":"Optional separator text between each element","name":"sep","type":"string"}],"objectGroups":[]},{"description":"Get the sum of all numbers in an array.","fullName":"Sum of array children","functionType":"Expression","name":"Sum","sentence":"","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["eventsFunctionContext.returnValue = runtimeScene"," .getVariables()"," .get(eventsFunctionContext.getArgument(\"arr\"))"," .getAllChildrenArray()"," .reduce((accumulator, current) => accumulator + current.getAsNumber(), 0);",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"expression"},"parameters":[{"description":"The name of the array","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Gets the smallest number in an array.","fullName":"Smallest value","functionType":"Expression","name":"Min","sentence":"","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\")).getAllChildrenArray();\r","\r","let min = arr[0].getAsNumber();\r","for (let i = 1; i < arr.length; i++) {\r"," const num = arr[i].getAsNumber();\r"," if (num < min) min = num;\r","}\r","\r","eventsFunctionContext.returnValue = min;\r",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":true}],"expressionType":{"type":"expression"},"parameters":[{"description":"The array","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Gets the biggest number in an array.","fullName":"Biggest value","functionType":"Expression","name":"Max","sentence":"","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\")).getAllChildrenArray();\r","\r","let max = arr[0].getAsNumber();\r","for (let i = 1; i < arr.length; i++) {\r"," const num = arr[i].getAsNumber();\r"," if (num > max) max = num;\r","}\r","\r","eventsFunctionContext.returnValue = max;\r",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"expression"},"parameters":[{"description":"The array","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Gets the average number in an array.","fullName":"Average value","functionType":"Expression","name":"Mean","sentence":"","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\")).getAllChildrenArray();\r","eventsFunctionContext.returnValue =\r"," arr.reduce((accumulator, current) => accumulator + current.getAsNumber(), 0) / arr.length;\r",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"expression"},"parameters":[{"description":"The array","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Gets the median number in an array.","fullName":"Median value","functionType":"Expression","name":"Median","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ArrayTools::Slice"},"parameters":["","GetArgumentAsString(\"arr\")","\"__ArrayTools_tmp\"","0","0",""]},{"type":{"value":"ArrayTools::Sort"},"parameters":["","\"__ArrayTools_tmp\"",""]}]},{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(\"__ArrayTools_tmp\").getAllChildrenArray();\r","const i = arr.length / 2;\r","eventsFunctionContext.returnValue = \r"," i % 1 == 0 \r"," ? (arr[i - 1].getAsNumber() + arr[i].getAsNumber()) / 2 \r"," : arr[Math.floor(i)].getAsNumber();\r",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":false}],"expressionType":{"type":"expression"},"parameters":[{"description":"The array","name":"arr","type":"string"}],"objectGroups":[]},{"description":"Sort an array of number from smallest to biggest.","fullName":"Sort an array","functionType":"Action","name":"Sort","sentence":"Sort array _PARAM1_","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const arr = runtimeScene.getVariables().get(eventsFunctionContext.getArgument(\"arr\"))","// Cast to array to ensure getAllChildrenArray returns the real array","arr.castTo(\"array\");","","arr.getAllChildrenArray()"," .sort((a, b) => {"," const na = a.getAsNumber();"," const nb = b.getAsNumber();"," return na < nb ? -1 : na > nb ? 1 : 0;"," });",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":true}],"parameters":[{"description":"The array to sort","name":"arr","type":"string"}],"objectGroups":[]}],"eventsBasedBehaviors":[],"eventsBasedObjects":[]},{"author":"Tristan Rhodes (https://victrisgames.itch.io/)","category":"Visual effect","extensionNamespace":"","fullName":"Shake object","helpPath":"https://victrisgames.itch.io/gdevelop-camera-shake-example","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWFycm93LWFsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMywxMUgxOEwxNi41LDkuNUwxNy45Miw4LjA4TDIxLjg0LDEyTDE3LjkyLDE1LjkyTDE2LjUsMTQuNUwxOCwxM0gxM1YxOEwxNC41LDE2LjVMMTUuOTIsMTcuOTJMMTIsMjEuODRMOC4wOCwxNy45Mkw5LjUsMTYuNUwxMSwxOFYxM0g2TDcuNSwxNC41TDYuMDgsMTUuOTJMMi4xNiwxMkw2LjA4LDguMDhMNy41LDkuNUw2LDExSDExVjZMOS41LDcuNUw4LjA4LDYuMDhMMTIsMi4xNkwxNS45Miw2LjA4TDE0LjUsNy41TDEzLDZWMTFaIiAvPjwvc3ZnPg==","name":"ShakeObject","previewIconUrl":"https://resources.gdevelop-app.com/assets/Icons/arrow-all.svg","shortDescription":"Shake an object.","version":"1.5.6","description":["Shake an object (position, angle or scale).","","It can be used for:","- Hit or impact","- Object slowly rocking back and forth (like a ship)","- Simulate engine vibration, earthquake, or pulsing","","The top-down RPG example uses this extension for damage animations ([open the project online](https://editor.gdevelop.io/?project=example://top-down-rpg))."],"origin":{"identifier":"ShakeObject","name":"gdevelop-extension-store"},"tags":["shaking","object","effect","shake","scale","position","rotate","angle"],"authorIds":["gqDaZjCfevOOxBYkK6zlhtZnXCg1"],"dependencies":[],"eventsFunctions":[],"eventsBasedBehaviors":[{"description":"Shake an object, using one or more ways to shake (position, angle).\nThis behavior can be used on any type of object.","fullName":"Shake object (position, angle)","name":"ShakeObject_PositionAngle","objectType":"","eventsFunctions":[{"description":"Shake an object, using one or more ways to shake (position, angle). Make sure to \"Stop shaking\" before starting a new shake if it uses different parameters. ","fullName":"Shake object (position, angle)","functionType":"Action","name":"ShakeObject_PositionAngle","sentence":"Shake object _PARAM0_ for _PARAM2_ seconds. Modify position amplitude _PARAM3_ on X axis and _PARAM4_ on Y axis, angle rotation amplitude _PARAM5_. Wait _PARAM6_ seconds between shakes. Keep shaking until stopped: _PARAM7_","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Shake Object","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Start/Reset duration timer"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ResetObjectTimer"},"parameters":["Object","\"__ShakeObject_DurationTimer\""]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Pass input parameters to global variables so that onScenePostEvents can use them"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_Duration","=","GetArgumentAsNumber(\"Duration\")"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_PowerX","=","GetArgumentAsNumber(\"PowerX\")"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_PowerY","=","GetArgumentAsNumber(\"PowerY\")"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_PowerAngle","=","GetArgumentAsNumber(\"PowerAngle\")"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_TimeBetweenShakes","=","GetArgumentAsNumber(\"TimeBetweenShakes\")"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Determine if the shake should keep going until stopped"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetObjectVariableAsBoolean"},"parameters":["Object","__ShakeObject_ShakeForever","False"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"GetArgumentAsBoolean"},"parameters":["\"ShakeForever\""]}],"actions":[{"type":{"value":"SetObjectVariableAsBoolean"},"parameters":["Object","__ShakeObject_ShakeForever","True"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Add default values if none were provided"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_Duration","=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_Duration","=","0.5"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_TimeBetweenShakes","=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_TimeBetweenShakes","=","0.08"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"If duration is less than a single shake, increase duration to make 1 full shake"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_Duration","<","Object.Variable(__ShakeObject_TimeBetweenShakes)"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_Duration","=","Object.Variable(__ShakeObject_TimeBetweenShakes)"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Detect initial shake"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_InitialShake","=","1"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Initiate the onScenePostEvents function"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","1"]}]}],"parameters":[]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"ShakeObject::ShakeObject_PositionAngle","type":"behavior"},{"description":"Duration of shake (in seconds) (Default: 0.5) ","name":"Duration","type":"expression"},{"description":"Amplitude of postion shake in X direction (in pixels) (For example: 5)","name":"PowerX","type":"expression"},{"description":"Amplitude of position shake in Y direction (in pixels) (For example: 5)","longDescription":"Use a negative number to make the single-shake move in the opposite direction.","name":"PowerY","type":"expression"},{"description":"Amplitude of angle rotation shake (in degrees) (For example: 5)","name":"PowerAngle","type":"expression"},{"description":"Amount of time between shakes (in seconds) (Default: 0.08)","longDescription":"For a single-shake effect, set it to the same value as \"Duration\".","name":"TimeBetweenShakes","type":"expression"},{"description":"Keep shaking until stopped","longDescription":"Duration value will be ignored","name":"ShakeForever","type":"yesorno"}],"objectGroups":[]},{"fullName":"","functionType":"Action","name":"doStepPostEvents","sentence":"","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Shake Object","source":"","type":"BuiltinCommonInstructions::Group","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Start shaking","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","1"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Keep object shaking forever (if desired)"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"ObjectVariableAsBoolean"},"parameters":["Object","__ShakeObject_ShakeForever","True"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_Duration","=","100"]},{"type":{"value":"ResetObjectTimer"},"parameters":["Object","\"__ShakeObject_DurationTimer\""]}]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Calculate movement of the shake","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Run once before every shake movement"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_InitialShake","=","1"]},{"type":{"value":"ObjectTimer"},"parameters":["Object","\"__ShakeObject_ShakeTimer\"","Object.Variable(__ShakeObject_TimeBetweenShakes)"]}]}],"actions":[{"type":{"value":"ResetObjectTimer"},"parameters":["Object","\"__ShakeObject_ShakeTimer\""]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ShakeCounter","+","1"]}],"events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Correct for drift and reset drift tracking variables","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Move to correct any drift from previous shake"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]},{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}]}],"actions":[{"type":{"value":"MettreX"},"parameters":["Object","-","Object.Variable(__ShakeObject_DisplacementTravelledX)"]},{"type":{"value":"MettreY"},"parameters":["Object","-","Object.Variable(__ShakeObject_DisplacementTravelledY)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerAngle","!=","0"]}],"actions":[{"type":{"value":"SetAngle"},"parameters":["Object","-","Object.Variable(__ShakeObject_AngleTravelled)"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Reset drift detection variables"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledX","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledY","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_AngleTravelled","=","0"]}]}],"parameters":[]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Calculate Position Shake"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]},{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"PositionDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * [-1 or 1]"},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Make initial shake NOT random so users can set a direction for a one-shake effect"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_InitialShake","=","1"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementX","=","(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementY","=","(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY)"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"After initial shake pick a random direction"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_InitialShake","=","0"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementX","=","(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX) * RandomWithStep(-1, 1, 2)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementY","=","(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY) * RandomWithStep(-1, 1, 2)"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Calculate Rotation (angle) shake "},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerAngle","!=","0"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Every \"even\" shake, rotate clockwise"},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["mod(Object.Variable(__ShakeObject_ShakeCounter),2)","=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementAngle","=","(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerAngle)"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Every \"odd\" shake, rotate counter-clockwise"},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["mod(Object.Variable(__ShakeObject_ShakeCounter),2)","=","1"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementAngle","=","-1 *(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerAngle)"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save that initial shake has been processed"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_InitialShake","=","0"]}]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Move object","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Calculate the fraction of shake that occured during this frame"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_PercentTimeElapsedThisFrame","=","min(1,TimeDelta()/Object.Variable(__ShakeObject_TimeBetweenShakes))"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Increase change for the first half of the shake (move away from original values)"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"ObjectTimer"},"parameters":["Object","\"__ShakeObject_ShakeTimer\"","Object.Variable(__ShakeObject_TimeBetweenShakes)/2"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Change position"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]},{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}]}],"actions":[{"type":{"value":"MettreX"},"parameters":["Object","+","round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]},{"type":{"value":"MettreY"},"parameters":["Object","+","round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save movement to calculate drift"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledX","+","round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledY","+","round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Change angle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["Object.Variable(__ShakeObject_PowerAngle)","!=","0"]}],"actions":[{"type":{"value":"SetAngle"},"parameters":["Object","+","round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save movement to calculate drift"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_AngleTravelled","+","round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Decrease change the second half of the shake (return to original position)"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"ObjectTimer"},"parameters":["Object","\"__ShakeObject_ShakeTimer\"","Object.Variable(__ShakeObject_TimeBetweenShakes)/2"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Change position"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]},{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}]}],"actions":[{"type":{"value":"MettreX"},"parameters":["Object","-","round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]},{"type":{"value":"MettreY"},"parameters":["Object","-","round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save movement to calculate drift"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledX","-","round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledY","-","round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Change angle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["Object.Variable(__ShakeObject_PowerAngle)","!=","0"]}],"actions":[{"type":{"value":"SetAngle"},"parameters":["Object","-","round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save movement to calculate drift"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_AngleTravelled","-","round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}]}]}]}],"parameters":[]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Stop shaking","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Stop shaking when the duration has been reached (or if the stop shaking function was called)"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"ObjectTimer"},"parameters":["Object","\"__ShakeObject_DurationTimer\"","Object.Variable(__ShakeObject_Duration)"]},{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","-1"]}]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ShakeCounter","=","0"]}],"events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Correct for drift and reset drift tracking variables","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Move to correct any drift from previous shake"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]},{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}]}],"actions":[{"type":{"value":"MettreX"},"parameters":["Object","-","Object.Variable(__ShakeObject_DisplacementTravelledX)"]},{"type":{"value":"MettreY"},"parameters":["Object","-","Object.Variable(__ShakeObject_DisplacementTravelledY)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerAngle","!=","0"]}],"actions":[{"type":{"value":"SetAngle"},"parameters":["Object","-","Object.Variable(__ShakeObject_AngleTravelled)"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Reset drift detection variables"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledX","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledY","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_AngleTravelled","=","0"]}]}],"parameters":[]}]}],"parameters":[]}],"parameters":[]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"ShakeObject::ShakeObject_PositionAngle","type":"behavior"}],"objectGroups":[]},{"description":"Stop any shaking of object that was initiated by the Shake Object extension.","fullName":"Stop shaking the object","functionType":"Action","name":"StopShaking","sentence":"Stop shaking _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"ShakeObject::ShakeObject_PositionAngle::IsShaking"},"parameters":["Object","Behavior",""]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","-1"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"ShakeObject::ShakeObject_PositionAngle","type":"behavior"}],"objectGroups":[]},{"description":"Check if an object is shaking.","fullName":"Check if an object is shaking","functionType":"Condition","name":"IsShaking","sentence":"_PARAM0_ is shaking","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","1"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"ShakeObject::ShakeObject_PositionAngle","type":"behavior"}],"objectGroups":[]}],"propertyDescriptors":[],"sharedPropertyDescriptors":[]},{"description":"Shake an object, using one or more ways to shake (position, angle, scale)\nThis behavior can only be used on sprite objects.","fullName":"Shake object (position, angle, scale)","name":"ShakeObject_PositionAngleScale","objectType":"Sprite","eventsFunctions":[{"description":"Shake an object, using one or more ways to shake (position, angle, scale). Make sure to \"Stop shaking\" before starting a new shake if it uses different parameters.","fullName":"Shake object (position, angle, scale)","functionType":"Action","name":"ShakeObject_PositionAngleScale","sentence":"Shake object _PARAM0_ for _PARAM2_ seconds. Modify position amplitude _PARAM3_ on X axis and _PARAM4_ on Y axis, angle rotation amplitude _PARAM5_, and scale amplitude _PARAM6_. Wait _PARAM7_ seconds between shakes. Keep shaking until stopped: _PARAM8_","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Shake Object","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Start/Reset duration timer"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ResetObjectTimer"},"parameters":["Object","\"__ShakeObject_DurationTimer\""]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Pass input parameters to global variables so that onScenePostEvents can use them"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_Duration","=","GetArgumentAsNumber(\"Duration\")"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_PowerX","=","GetArgumentAsNumber(\"PowerX\")"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_PowerY","=","GetArgumentAsNumber(\"PowerY\")"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_PowerAngle","=","GetArgumentAsNumber(\"PowerAngle\")"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_PowerScale","=","GetArgumentAsNumber(\"PowerScale\")"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_TimeBetweenShakes","=","GetArgumentAsNumber(\"TimeBetweenShakes\")"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Determine if the shake should keep going until stopped"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetObjectVariableAsBoolean"},"parameters":["Object","__ShakeObject_ShakeForever","False"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"GetArgumentAsBoolean"},"parameters":["\"ShakeForever\""]}],"actions":[{"type":{"value":"SetObjectVariableAsBoolean"},"parameters":["Object","__ShakeObject_ShakeForever","True"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Add default values if none were provided"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_Duration","=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_Duration","=","0.5"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_TimeBetweenShakes","=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_TimeBetweenShakes","=","0.08"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"If duration is less than a single shake, increase duration to make 1 full shake"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_Duration","<","Object.Variable(__ShakeObject_TimeBetweenShakes)"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_Duration","=","Object.Variable(__ShakeObject_TimeBetweenShakes)"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Detect initial shake"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_InitialShake","=","1"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Initiate the onScenePostEvents function"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","1"]}]}],"parameters":[]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"Sprite","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"ShakeObject::ShakeObject_PositionAngleScale","type":"behavior"},{"description":"Duration of shake (in seconds) (Default: 0.5)","name":"Duration","type":"expression"},{"description":"Amplitude of postion shake in X direction (in pixels) (For example: 5)","name":"PowerX","type":"expression"},{"description":"Amplitude of position shake in Y direction (in pixels) (For example: 5)","longDescription":"Use a negative number to make the single-shake move in the opposite direction.","name":"PowerY","type":"expression"},{"description":"Amplitude of angle rotation shake (in degrees) (For example: 5)","name":"PowerAngle","type":"expression"},{"description":"Amplitude of scale shake (in percent change) (For example: 5)","name":"PowerScale","type":"expression"},{"description":"Amount of time between shakes (in seconds) (Default: 0.08)","longDescription":"For a single-shake effect, set it to the same value as \"Duration\".","name":"TimeBetweenShakes","type":"expression"},{"description":"Keep shaking until stopped","longDescription":"Duration value will be ignored","name":"ShakeForever","type":"yesorno"}],"objectGroups":[]},{"fullName":"","functionType":"Action","name":"doStepPostEvents","sentence":"","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Shake Object","source":"","type":"BuiltinCommonInstructions::Group","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Start shaking","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","1"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Keep object shaking forever (if desired)"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"ObjectVariableAsBoolean"},"parameters":["Object","__ShakeObject_ShakeForever","True"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_Duration","=","100"]},{"type":{"value":"ResetObjectTimer"},"parameters":["Object","\"__ShakeObject_DurationTimer\""]}]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Calculate movement of the shake","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Run once before every shake movement"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_InitialShake","=","1"]},{"type":{"value":"ObjectTimer"},"parameters":["Object","\"__ShakeObject_ShakeTimer\"","Object.Variable(__ShakeObject_TimeBetweenShakes)"]}]}],"actions":[{"type":{"value":"ResetObjectTimer"},"parameters":["Object","\"__ShakeObject_ShakeTimer\""]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ShakeCounter","+","1"]}],"events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"folded":true,"name":"Correct for drift and reset drift tracking variables","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Move to correct any drift from previous shake"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]},{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}]}],"actions":[{"type":{"value":"MettreX"},"parameters":["Object","-","Object.Variable(__ShakeObject_DisplacementTravelledX)"]},{"type":{"value":"MettreY"},"parameters":["Object","-","Object.Variable(__ShakeObject_DisplacementTravelledY)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerAngle","!=","0"]}],"actions":[{"type":{"value":"SetAngle"},"parameters":["Object","-","Object.Variable(__ShakeObject_AngleTravelled)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerScale","!=","0"]}],"actions":[{"type":{"value":"ChangeScale"},"parameters":["Object","-","Object.Variable(__ShakeObject_ScaleTravelled)"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Reset drift detection variables"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledX","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledY","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_AngleTravelled","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ScaleTravelled","=","0"]}]}],"parameters":[]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Calculate Position Shake"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]},{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"PositionDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * [-1 or 1]"},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Make initial shake NOT random so users can set a direction for a one-shake effect"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_InitialShake","=","1"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementX","=","(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementY","=","(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY)"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"After initial shake pick a random direction"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_InitialShake","=","0"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementX","=","(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX) * RandomWithStep(-1, 1, 2)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementY","=","(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY) * RandomWithStep(-1, 1, 2)"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Calculate Rotation (angle) shake "},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerAngle","!=","0"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Every \"even\" shake, rotate clockwise"},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["mod(Object.Variable(__ShakeObject_ShakeCounter),2)","=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementAngle","=","-1 * (Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerAngle)"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Every \"odd\" shake, rotate counter-clockwise"},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["mod(Object.Variable(__ShakeObject_ShakeCounter),2)","=","1"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementAngle","=","(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerAngle)"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Calculate Scale shake"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerScale","!=","0"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Calculate object scale displacement, with linear decay over time"},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"ScaleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * 1/100"},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Every even shake, increase scale"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["mod(Object.Variable(__ShakeObject_ShakeCounter),2)","=","0"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementScale","=","-1 * (Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerScale) * (1/100)"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Every \"odd\" shake, decrease scale"},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"ScaleDisplacement = -1 * (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * 1/100"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["mod(Object.Variable(__ShakeObject_ShakeCounter),2)","=","1"]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementScale","=","(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerScale) * (1/100)"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save that initial shake has been processed"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_InitialShake","=","0"]}]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Move object","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Calculate the fraction of shake that occured during this frame"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_PercentTimeElapsedThisFrame","=","min(1,TimeDelta()/Object.Variable(__ShakeObject_TimeBetweenShakes))"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Increase change for the first half of the shake (move away from original values)"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"ObjectTimer"},"parameters":["Object","\"__ShakeObject_ShakeTimer\"","Object.Variable(__ShakeObject_TimeBetweenShakes)/2"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Change position"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]},{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}]}],"actions":[{"type":{"value":"MettreX"},"parameters":["Object","+","round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]},{"type":{"value":"MettreY"},"parameters":["Object","+","round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save movement to calculate drift"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledX","+","round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledY","+","round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Change angle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["Object.Variable(__ShakeObject_PowerAngle)","!=","0"]}],"actions":[{"type":{"value":"SetAngle"},"parameters":["Object","+","round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save movement to calculate drift"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_AngleTravelled","+","round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Change scale"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["Object.Variable(__ShakeObject_PowerScale)","!=","0"]}],"actions":[{"type":{"value":"ChangeScale"},"parameters":["Object","+","round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save movement to calculate drift"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ScaleTravelled","+","round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Decrease change the second half of the shake (return to original position)"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"ObjectTimer"},"parameters":["Object","\"__ShakeObject_ShakeTimer\"","Object.Variable(__ShakeObject_TimeBetweenShakes)/2"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Change position"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]},{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}]}],"actions":[{"type":{"value":"MettreX"},"parameters":["Object","-","round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]},{"type":{"value":"MettreY"},"parameters":["Object","-","round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save movement to calculate drift"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledX","-","round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledY","-","round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Change angle"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["Object.Variable(__ShakeObject_PowerAngle)","!=","0"]}],"actions":[{"type":{"value":"SetAngle"},"parameters":["Object","-","round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save movement to calculate drift"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_AngleTravelled","-","round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Change scale"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["Object.Variable(__ShakeObject_PowerScale)","!=","0"]}],"actions":[{"type":{"value":"ChangeScale"},"parameters":["Object","-","round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save movement to calculate drift"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ScaleTravelled","-","round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"]}]}]}]}],"parameters":[]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Stop shaking","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Stop shaking when the duration has been reached (or if the stop shaking function was called)"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"ObjectTimer"},"parameters":["Object","\"__ShakeObject_DurationTimer\"","Object.Variable(__ShakeObject_Duration)"]},{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","-1"]}]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ShakeCounter","=","0"]}],"events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Correct for drift and reset drift tracking variables","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Move to correct any drift from previous shake"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerX","!=","0"]},{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerY","!=","0"]}]}],"actions":[{"type":{"value":"MettreX"},"parameters":["Object","-","Object.Variable(__ShakeObject_DisplacementTravelledX)"]},{"type":{"value":"MettreY"},"parameters":["Object","-","Object.Variable(__ShakeObject_DisplacementTravelledY)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerAngle","!=","0"]}],"actions":[{"type":{"value":"SetAngle"},"parameters":["Object","-","Object.Variable(__ShakeObject_AngleTravelled)"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_PowerScale","!=","0"]}],"actions":[{"type":{"value":"ChangeScale"},"parameters":["Object","-","Object.Variable(__ShakeObject_ScaleTravelled)"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Reset drift detection variables"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledX","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_DisplacementTravelledY","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_AngleTravelled","=","0"]},{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ScaleTravelled","=","0"]}]}],"parameters":[]}]}],"parameters":[]}],"parameters":[]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"Sprite","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"ShakeObject::ShakeObject_PositionAngleScale","type":"behavior"}],"objectGroups":[]},{"description":"Stop shaking an object.","fullName":"Stop shaking an object","functionType":"Action","name":"StopShaking","sentence":"Stop shaking _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"ShakeObject::ShakeObject_PositionAngleScale::IsShaking"},"parameters":["Object","Behavior",""]}],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","-1"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"Sprite","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"ShakeObject::ShakeObject_PositionAngleScale","type":"behavior"}],"objectGroups":[]},{"description":"Check if an object is shaking.","fullName":"Check if an object is shaking","functionType":"Condition","name":"IsShaking","sentence":"_PARAM0_ is shaking","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["Object","__ShakeObject_ShakeInProgress","=","1"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","supplementaryInformation":"Sprite","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"ShakeObject::ShakeObject_PositionAngleScale","type":"behavior"}],"objectGroups":[]}],"propertyDescriptors":[],"sharedPropertyDescriptors":[]}],"eventsBasedObjects":[]},{"author":"@Lizard-13","category":"Game mechanic","extensionNamespace":"","fullName":"Rectangular grid","helpPath":"","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXZpZXctZ3JpZC1wbHVzLW91dGxpbmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyAyMUgxMVYxM0gzTTUgMTVIOVYxOUg1TTMgMTFIMTFWM0gzTTUgNUg5VjlINU0xMyAzVjExSDIxVjNNMTkgOUgxNVY1SDE5TTE4IDE2SDIxVjE4SDE4VjIxSDE2VjE4SDEzVjE2SDE2VjEzSDE4WiIgLz48L3N2Zz4=","name":"SnapToGrid","previewIconUrl":"https://resources.gdevelop-app.com/assets/Icons/view-grid-plus-outline.svg","shortDescription":"Snap objects on a virtual grid.","version":"0.0.3","description":["It allows to snap objects on a *virtual grid*.","","It's useful for:","- level editors","- building systems","","A [simple example](https://editor.gdevelop.io/?project=example://snap-object-to-grid) shows how to snap objects that are dragged with the mouse."],"origin":{"identifier":"SnapToGrid","name":"gdevelop-extension-store"},"tags":["snap","grid","positioning","tiles"],"authorIds":[],"dependencies":[],"eventsFunctions":[{"description":"Snap object to a virtual grid (i.e: this is not the grid used in the editor).","fullName":"Snap objects to a virtual grid","functionType":"Action","name":"SnapObjectToVirtualGrid","sentence":"Snap _PARAM1_ to a virtual grid using cells with width: _PARAM2_px, height _PARAM3_px and an offset position (_PARAM4_; _PARAM5_)","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Round the Object position to snap to the in-game grid"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"MettreXY"},"parameters":["Object","=","GetArgumentAsNumber(\"CellWidth\") * round((Object.X() - GetArgumentAsNumber(\"OffsetX\")) / GetArgumentAsNumber(\"CellWidth\")) + GetArgumentAsNumber(\"OffsetX\")","=","GetArgumentAsNumber(\"CellHeight\") * round((Object.Y() - GetArgumentAsNumber(\"OffsetY\")) / GetArgumentAsNumber(\"CellHeight\")) + GetArgumentAsNumber(\"OffsetY\")"]}]}],"parameters":[{"description":"Objects to snap to the virtual grid","name":"Object","type":"objectList"},{"description":"Width of a cell of the virtual grid (in pixels)","name":"CellWidth","type":"expression"},{"description":"Height of a cell of the virtual grid (in pixels)","name":"CellHeight","type":"expression"},{"description":"Offset on the X axis of the virtual grid (in pixels)","name":"OffsetX","type":"expression"},{"description":"Offset on the Y axis of the virtual grid (in pixels)","name":"OffsetY","type":"expression"}],"objectGroups":[]}],"eventsBasedBehaviors":[],"eventsBasedObjects":[]},{"author":"","category":"Camera","extensionNamespace":"","fullName":"Smooth Camera","helpPath":"","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCjwvc3R5bGU+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjQsMTNoLTZjLTEuMSwwLTItMC45LTItMlY1YzAtMS4xLDAuOS0yLDItMmg2YzEuMSwwLDIsMC45LDIsMnY2QzI2LDEyLjEsMjUuMSwxMywyNCwxM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNiw4djEwYzAsMS4xLTAuOSwyLTIsMkg4Yy0xLjEsMC0yLTAuOS0yLTJWOGMwLTEuMSwwLjktMiwyLTJoOCIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjEiIGN5PSI4IiByPSIyIi8+DQo8Y2lyY2xlIGNsYXNzPSJzdDAiIGN4PSIxMSIgY3k9IjE2IiByPSIxIi8+DQo8cmVjdCB4PSI5IiB5PSI5IiBjbGFzcz0ic3QwIiB3aWR0aD0iNCIgaGVpZ2h0PSIzIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIyMSwyOSAyMSwyOSAxMSwyOSAxMSwyOSAiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjE4LDIwIDE4LDI5IDE0LDI5IDE0LDIwICIvPg0KPHJlY3QgeD0iNyIgeT0iMyIgY2xhc3M9InN0MCIgd2lkdGg9IjQiIGhlaWdodD0iMyIvPg0KPC9zdmc+DQo=","name":"SmoothCamera","previewIconUrl":"https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Computers and Hardware/Computers and Hardware_camcoder_gopro_go_pro_camera.svg","shortDescription":"Smoothly scroll to follow an object.","version":"0.3.0","description":["The camera follows an object according to:","- a frame rate independent catch-up speed to make the scrolling from smooth to strong","- a maximum speed to do linear following ([open the project online](https://editor.gdevelop.io/?project=example://platformer-with-tilemap)) or slow down the camera when teleporting the object","- a follow-free zone to avoid scrolling on small movements","- an offset to see further in one direction","- an extra delay and catch-up speed to give an impression of speed (useful for dash)","- position forecasting and delay to simulate a cameraman response time","","A platformer dedicated behavior allows to switch of settings when the character is in air or on the floor. This can be used to stabilize the camera when jumping."],"origin":{"identifier":"SmoothCamera","name":"gdevelop-extension-store"},"tags":["camera","scrolling","follow","smooth"],"authorIds":["IWykYNRvhCZBN3vEgKEbBPOR3Oc2"],"dependencies":[],"eventsFunctions":[],"eventsBasedBehaviors":[{"description":"Smoothly scroll to follow an object.","fullName":"Smooth Camera","name":"SmoothCamera","objectType":"","eventsFunctions":[{"fullName":"","functionType":"Action","name":"onCreated","sentence":"","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Update private properties through setters to check their values and initialize state."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetLeftwardSpeed"},"parameters":["Object","Behavior","Object.Behavior::PropertyLeftwardSpeed()","log(1 - )"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetRightwardSpeed"},"parameters":["Object","Behavior","Object.Behavior::PropertyRightwardSpeed()","log(1 - )"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetUpwardSpeed"},"parameters":["Object","Behavior","Object.Behavior::PropertyUpwardSpeed()","log(1 - )"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetDownwardSpeed"},"parameters":["Object","Behavior","Object.Behavior::PropertyDownwardSpeed()","log(1 - )"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetLeftwardSpeedMax"},"parameters":["Object","Behavior","Object.Behavior::PropertyLeftwardSpeedMax()","log(1 - )"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetRightwardSpeedMax"},"parameters":["Object","Behavior","Object.Behavior::PropertyRightwardSpeedMax()","log(1 - )"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetUpwardSpeedMax"},"parameters":["Object","Behavior","Object.Behavior::PropertyUpwardSpeedMax()","log(1 - )"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetDownwardSpeedMax"},"parameters":["Object","Behavior","Object.Behavior::PropertyDownwardSpeedMax()","log(1 - )"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetFollowFreeAreaLeft"},"parameters":["Object","Behavior","Object.Behavior::PropertyFollowFreeAreaLeft()","log(1 - )"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetFollowFreeAreaRight"},"parameters":["Object","Behavior","Object.Behavior::PropertyFollowFreeAreaRight()","log(1 - )"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetFollowFreeAreaTop"},"parameters":["Object","Behavior","Object.Behavior::PropertyFollowFreeAreaTop()","log(1 - )"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetFollowFreeAreaBottom"},"parameters":["Object","Behavior","Object.Behavior::PropertyFollowFreeAreaBottom()","log(1 - )"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyCameraDelay"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyCameraDelay()"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"Action","name":"doStepPreEvents","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"SmoothCamera::SmoothCamera::PropertyIsCalledManually"},"parameters":["Object","Behavior"]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::DoMoveCameraCloser"},"parameters":["Object","Behavior",""]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Move the camera closer to the object. This action must be called after the object has moved for the frame.","fullName":"Move the camera closer","functionType":"Action","name":"MoveCameraCloser","sentence":"Move the camera closer to _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"The camera following is called with an action, the call from doStepPreEvents must be disabled to avoid to do it twice."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyIsCalledManually"},"parameters":["Object","Behavior","yes"]},{"type":{"value":"SmoothCamera::SmoothCamera::DoMoveCameraCloser"},"parameters":["Object","Behavior",""]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Move the camera closer to the object.","fullName":"Do move the camera closer","functionType":"Action","name":"DoMoveCameraCloser","private":true,"sentence":"Do move the camera closer _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Delaying and forecasting can be used at the same time.\nForecasting only use the positions that are older than the one used for delaying.\nThe behavior uses a position history that is split in 2 arrays:\n- one for delaying the position (from TimeFromStart to TimeFromStart - CamearDelay)\n- one for forecasting the position (from TimeFromStart - CamearDelay to TimeFromStart - CamearDelay - ForecastHistoryDuration"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::UpdateDelayedPosition"},"parameters":["Object","Behavior",""]},{"type":{"value":"SmoothCamera::SmoothCamera::UpdateForecastedPosition"},"parameters":["Object","Behavior",""]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"At each frame, the camera must catchup the target by a given ratio (speed)\ncameraX(t) - targetX = (cameraX(t - 1) - targetX) * speed\n\nThe frame rate must not impact on the catch-up speed, we don't want a speed in ratio per frame but a speed ratio per second, like this:\ncameraX(t) - targetX = (cameraX(t - 1s) - targetX) * speed\n\nOk, but we still need to process each frame, we can use a exponent for this:\ncameraX(t) - targetX = (cameraX(t - timeDelta) - targetX) * speed^timeDelta\ncameraX(t) = targetX + (cameraX(t - timeDelta) - targetX) * exp(timeDelta * ln(speed))\n\npow is probably more efficient than precalculated log if the speed is changed continuously but this might be rare enough."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SmoothCamera::SmoothCamera::PropertyFollowOnX"},"parameters":["Object","Behavior"]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyOldX"},"parameters":["Object","Behavior","=","CameraX(Object.Layer(), 0)"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CameraX"},"parameters":["",">","Object.Behavior::FreeAreaRight()","Object.Layer()","0"]}],"actions":[{"type":{"value":"SetCameraX"},"parameters":["","=","Object.Behavior::FreeAreaRight()\n+ (CameraX(Object.Layer(), 0) - Object.Behavior::FreeAreaRight())\n* exp(TimeDelta() * Object.Behavior::PropertyLogLeftwardSpeed())","Object.Layer()","0"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CameraX"},"parameters":["","<","Object.Behavior::PropertyOldX() - Object.Behavior::PropertyLeftwardSpeedMax() * TimeDelta()","Object.Layer()","0"]}],"actions":[{"type":{"value":"SetCameraX"},"parameters":["","=","Object.Behavior::PropertyOldX() - Object.Behavior::PropertyLeftwardSpeedMax() * TimeDelta()","Object.Layer()","0"]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CameraX"},"parameters":["","<","Object.Behavior::FreeAreaLeft()","Object.Layer()","0"]}],"actions":[{"type":{"value":"SetCameraX"},"parameters":["","=","Object.Behavior::FreeAreaLeft()\n+ (CameraX(Object.Layer(), 0) - Object.Behavior::FreeAreaLeft())\n* exp(TimeDelta() * Object.Behavior::PropertyLogRightwardSpeed())","Object.Layer()","0"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CameraX"},"parameters":["",">","Object.Behavior::PropertyOldX() + Object.Behavior::PropertyRightwardSpeedMax() * TimeDelta()","Object.Layer()","0"]}],"actions":[{"type":{"value":"SetCameraX"},"parameters":["","=","Object.Behavior::PropertyOldX() + Object.Behavior::PropertyRightwardSpeedMax() * TimeDelta()","Object.Layer()","0"]}]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SmoothCamera::SmoothCamera::PropertyFollowOnY"},"parameters":["Object","Behavior"]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyOldY"},"parameters":["Object","Behavior","=","CameraY(Object.Layer(), 0)"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CameraY"},"parameters":["",">","Object.Behavior::FreeAreaBottom()","Object.Layer()","0"]}],"actions":[{"type":{"value":"SetCameraY"},"parameters":["","=","Object.Behavior::FreeAreaBottom()\n+ (CameraY(Object.Layer(), 0) - Object.Behavior::FreeAreaBottom())\n* exp(TimeDelta() * Object.Behavior::PropertyLogUpwardSpeed())","Object.Layer()","0"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CameraY"},"parameters":["","<","Object.Behavior::PropertyOldY() - Object.Behavior::PropertyUpwardSpeedMax() * TimeDelta()","Object.Layer()","0"]}],"actions":[{"type":{"value":"SetCameraY"},"parameters":["","=","Object.Behavior::PropertyOldY() - Object.Behavior::PropertyUpwardSpeedMax() * TimeDelta()","Object.Layer()","0"]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CameraY"},"parameters":["","<","Object.Behavior::FreeAreaTop()","Object.Layer()","0"]}],"actions":[{"type":{"value":"SetCameraY"},"parameters":["","=","Object.Behavior::FreeAreaTop()\n+ (CameraY(Object.Layer(), 0) - Object.Behavior::FreeAreaTop())\n* exp(TimeDelta() * Object.Behavior::PropertyLogDownwardSpeed())","Object.Layer()","0"]}],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CameraY"},"parameters":["",">","Object.Behavior::PropertyOldY() + Object.Behavior::PropertyDownwardSpeedMax() * TimeDelta()","Object.Layer()","0"]}],"actions":[{"type":{"value":"SetCameraY"},"parameters":["","=","Object.Behavior::PropertyOldY() + Object.Behavior::PropertyDownwardSpeedMax() * TimeDelta()","Object.Layer()","0"]}]}]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Delay the camera according to a maximum speed and catch up the delay.","fullName":"Wait and catch up","functionType":"Action","name":"WaitAndCatchUp","sentence":"Delay the camera of _PARAM0_ during: _PARAM2_ seconds according to the maximum speed _PARAM3_;_PARAM4_ seconds and catch up in _PARAM5_ seconds","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Maybe the catch-up show be done in constant pixel speed instead of constant time speed."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyWaitingEnd"},"parameters":["Object","Behavior","=","TimeFromStart() + GetArgumentAsNumber(\"WaitingDuration\")"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyWaitingSpeedXMax"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"WaitingSpeedXMax\")"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyWaitingSpeedYMax"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"WaitingSpeedYMax\")"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyCameraDelayCatchUpDuration"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"CatchUpDuration\")"]}]},{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Wait and catch up\"","\"info\"","\"SmoothCamera\""]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Waiting duration (in seconds)","name":"WaitingDuration","type":"expression"},{"description":"Waiting maximum camera target speed X","name":"WaitingSpeedXMax","type":"expression"},{"description":"Waiting maximum camera target speed Y","name":"WaitingSpeedYMax","type":"expression"},{"description":"Catch up duration (in seconds)","name":"CatchUpDuration","type":"expression"}],"objectGroups":[]},{"description":"Draw the targeted and actual camera position.","fullName":"Draw debug","functionType":"Action","name":"DrawDebug","sentence":"Draw targeted and actual camera position for _PARAM0_ on _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PrimitiveDrawing::FillOpacity"},"parameters":["ShapePainter","=","0"]}]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Path used by the forecasting","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["Object.VariableChildCount(__SmoothCamera.ForecastHistoryTime)",">","0"]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyIndex"},"parameters":["Object","Behavior","=","0"]},{"type":{"value":"PrimitiveDrawing::OutlineColor"},"parameters":["ShapePainter","\"245;166;35\""]},{"type":{"value":"PrimitiveDrawing::BeginFillPath"},"parameters":["ShapePainter","Object.Variable(__SmoothCamera.ForecastHistoryX[0])","Object.Variable(__SmoothCamera.ForecastHistoryY[0])"]}],"events":[{"type":"BuiltinCommonInstructions::Repeat","repeatExpression":"Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)","conditions":[],"actions":[{"type":{"value":"PrimitiveDrawing::PathLineTo"},"parameters":["ShapePainter","Object.Variable(__SmoothCamera.ForecastHistoryX[Object.Behavior::PropertyIndex()])","Object.Variable(__SmoothCamera.ForecastHistoryY[Object.Behavior::PropertyIndex()])"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyIndex"},"parameters":["Object","Behavior","+","1"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PrimitiveDrawing::EndFillPath"},"parameters":["ShapePainter"]}]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Follow-free area.","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"SmoothCamera::SmoothCamera::PropertyFollowFreeAreaLeft"},"parameters":["Object","Behavior","!=","0"]},{"type":{"value":"SmoothCamera::SmoothCamera::PropertyFollowFreeAreaRight"},"parameters":["Object","Behavior","!=","0"]},{"type":{"value":"SmoothCamera::SmoothCamera::PropertyFollowFreeAreaTop"},"parameters":["Object","Behavior","!=","0"]},{"type":{"value":"SmoothCamera::SmoothCamera::PropertyFollowFreeAreaBottom"},"parameters":["Object","Behavior","!=","0"]}]}],"actions":[{"type":{"value":"PrimitiveDrawing::OutlineColor"},"parameters":["ShapePainter","\"126;211;33\""]},{"type":{"value":"PrimitiveDrawing::Rectangle"},"parameters":["ShapePainter","Object.Behavior::FreeAreaLeft() - 1","Object.Behavior::FreeAreaTop() - 1","Object.Behavior::FreeAreaRight() + 1","Object.Behavior::FreeAreaBottom() + 1"]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Linear regression vector used by the forecasting.","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PrimitiveDrawing::OutlineColor"},"parameters":["ShapePainter","\"208;2;27\""]},{"type":{"value":"PrimitiveDrawing::LineV2"},"parameters":["ShapePainter","Object.Behavior::PropertyProjectedOldestX()","Object.Behavior::PropertyProjectedOldestY()","Object.Behavior::PropertyProjectedNewestX()","Object.Behavior::PropertyProjectedNewestY()","1"]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Targeted and actual camera position","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PrimitiveDrawing::Circle"},"parameters":["ShapePainter","Object.Behavior::PropertyForecastedX()","Object.Behavior::PropertyForecastedY()","3"]},{"type":{"value":"PrimitiveDrawing::LineV2"},"parameters":["ShapePainter","CameraX(Object.Layer(), 0)","CameraY(Object.Layer(), 0) - 4","CameraX(Object.Layer(), 0)","CameraY(Object.Layer(), 0) + 4","1"]},{"type":{"value":"PrimitiveDrawing::LineV2"},"parameters":["ShapePainter","CameraX(Object.Layer(), 0) - 4","CameraY(Object.Layer(), 0)","CameraX(Object.Layer(), 0) + 4","CameraY(Object.Layer(), 0)","1"]}]}],"parameters":[]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Shape painter","name":"ShapePainter","supplementaryInformation":"PrimitiveDrawing::Drawer","type":"objectList"}],"objectGroups":[]},{"description":"Enable or disable the following on X axis.","fullName":"Follow on X","functionType":"Action","group":"Camera configuration","name":"SetFollowOnX","sentence":"The camera follows _PARAM0_ on X axis: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyFollowOnX"},"parameters":["Object","Behavior",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"GetArgumentAsBoolean"},"parameters":["\"FollowOnX\""]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyFollowOnX"},"parameters":["Object","Behavior","yes"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Follow on X axis","name":"FollowOnX","type":"yesorno"}],"objectGroups":[]},{"description":"Enable or disable the following on Y axis.","fullName":"Follow on Y","functionType":"Action","group":"Camera configuration","name":"SetFollowOnY","sentence":"The camera follows _PARAM0_ on Y axis: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyFollowOnY"},"parameters":["Object","Behavior",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"GetArgumentAsBoolean"},"parameters":["\"FollowOnY\""]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyFollowOnY"},"parameters":["Object","Behavior","yes"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Follow on Y axis","name":"FollowOnY","type":"yesorno"}],"objectGroups":[]},{"description":"Change the camera follow free area right border.","fullName":"Follow free area right border","functionType":"Action","group":"Camera configuration","name":"SetFollowFreeAreaRight","sentence":"Change the camera follow free area right border of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaTop"},"parameters":["Object","Behavior","=","max(0, GetArgumentAsNumber(\"SetFollowFreeAreaRight\"))"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Follow free area right border","name":"SetFollowFreeAreaRight","type":"expression"}],"objectGroups":[]},{"description":"Change the camera follow free area left border.","fullName":"Follow free area left border","functionType":"Action","group":"Camera configuration","name":"SetFollowFreeAreaLeft","sentence":"Change the camera follow free area left border of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaTop"},"parameters":["Object","Behavior","=","max(0, GetArgumentAsNumber(\"SetFollowFreeAreaLeft\"))"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Follow free area left border","name":"SetFollowFreeAreaLeft","type":"expression"}],"objectGroups":[]},{"description":"Change the camera follow free area top border.","fullName":"Follow free area top border","functionType":"Action","group":"Camera configuration","name":"SetFollowFreeAreaTop","sentence":"Change the camera follow free area top border of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaTop"},"parameters":["Object","Behavior","=","max(0, GetArgumentAsNumber(\"FollowFreeAreaTop\"))"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Follow free area top border","name":"FollowFreeAreaTop","type":"expression"}],"objectGroups":[]},{"description":"Change the camera follow free area bottom border.","fullName":"Follow free area bottom border","functionType":"Action","group":"Camera configuration","name":"SetFollowFreeAreaBottom","sentence":"Change the camera follow free area bottom border of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaBottom"},"parameters":["Object","Behavior","=","max(0, GetArgumentAsNumber(\"SetFollowFreeAreaBottom\"))"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Follow free area bottom border","name":"SetFollowFreeAreaBottom","type":"expression"}],"objectGroups":[]},{"description":"Change the camera leftward maximum speed (in pixels per second).","fullName":"Leftward maximum speed","functionType":"Action","group":"Camera configuration","name":"SetLeftwardSpeedMax","sentence":"Change the camera leftward maximum speed of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeedMax"},"parameters":["Object","Behavior","=","max(0, GetArgumentAsNumber(\"Speed\"))"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Leftward maximum speed (in ratio per second)","name":"Speed","type":"expression"}],"objectGroups":[]},{"description":"Change the camera rightward maximum speed (in pixels per second).","fullName":"Rightward maximum speed","functionType":"Action","group":"Camera configuration","name":"SetRightwardSpeedMax","sentence":"Change the camera rightward maximum speed of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeedMax"},"parameters":["Object","Behavior","=","max(0, GetArgumentAsNumber(\"Speed\"))"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Rightward maximum speed (in pixels per second)","name":"Speed","type":"expression"}],"objectGroups":[]},{"description":"Change the camera upward maximum speed (in pixels per second).","fullName":"Upward maximum speed","functionType":"Action","group":"Camera configuration","name":"SetUpwardSpeedMax","sentence":"Change the camera upward maximum speed of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyUpwardSpeedMax"},"parameters":["Object","Behavior","=","max(0, GetArgumentAsNumber(\"Speed\"))"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Upward maximum speed (in pixels per second)","name":"Speed","type":"expression"}],"objectGroups":[]},{"description":"Change the camera downward maximum speed (in pixels per second).","fullName":"Downward maximum speed","functionType":"Action","group":"Camera configuration","name":"SetDownwardSpeedMax","sentence":"Change the camera downward maximum speed of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyDownwardSpeedMax"},"parameters":["Object","Behavior","=","max(0, GetArgumentAsNumber(\"Speed\"))"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Downward maximum speed (in pixels per second)","name":"Speed","type":"expression"}],"objectGroups":[]},{"description":"Change the camera leftward catch-up speed (in ratio per second).","fullName":"Leftward catch-up speed","functionType":"Action","group":"Camera configuration","name":"SetLeftwardSpeed","sentence":"Change the camera leftward catch-up speed of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeed"},"parameters":["Object","Behavior","=","clamp(0, 1, GetArgumentAsNumber(\"LeftwardSpeed\"))"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyLogLeftwardSpeed"},"parameters":["Object","Behavior","=","log(1 - Object.Behavior::PropertyLeftwardSpeed())"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Leftward catch-up speed (in ratio per second)","name":"LeftwardSpeed","type":"expression"}],"objectGroups":[]},{"description":"Change the camera rightward catch-up speed (in ratio per second).","fullName":"Rightward catch-up speed","functionType":"Action","group":"Camera configuration","name":"SetRightwardSpeed","sentence":"Change the camera rightward catch-up speed of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyRightwardSpeed"},"parameters":["Object","Behavior","=","clamp(0, 1, GetArgumentAsNumber(\"RightwardSpeed\"))"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyLogRightwardSpeed"},"parameters":["Object","Behavior","=","log(1 - Object.Behavior::PropertyRightwardSpeed())"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Rightward catch-up speed (in ratio per second)","name":"RightwardSpeed","type":"expression"}],"objectGroups":[]},{"description":"Change the camera downward catch-up speed (in ratio per second).","fullName":"Downward catch-up speed","functionType":"Action","group":"Camera configuration","name":"SetDownwardSpeed","sentence":"Change the camera downward catch-up speed of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyDownwardSpeed"},"parameters":["Object","Behavior","=","clamp(0, 1, GetArgumentAsNumber(\"DownwardSpeed\"))"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyLogDownwardSpeed"},"parameters":["Object","Behavior","=","log(1 - Object.Behavior::PropertyDownwardSpeed())"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Downward catch-up speed (in ratio per second)","name":"DownwardSpeed","type":"expression"}],"objectGroups":[]},{"description":"Change the camera upward catch-up speed (in ratio per second).","fullName":"Upward catch-up speed","functionType":"Action","group":"Camera configuration","name":"SetUpwardSpeed","sentence":"Change the camera upward catch-up speed of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyUpwardSpeed"},"parameters":["Object","Behavior","=","clamp(0, 1, GetArgumentAsNumber(\"UpwardSpeed\"))"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyLogUpwardSpeed"},"parameters":["Object","Behavior","=","log(1 - Object.Behavior::PropertyUpwardSpeed())"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Upward catch-up speed (in ratio per second)","name":"UpwardSpeed","type":"expression"}],"objectGroups":[]},{"description":"the camera offset on X axis of the object. This is not the current difference between the object and the camera position.","fullName":"Camera offset X","functionType":"ExpressionAndCondition","group":"Camera configuration","name":"OffsetX","sentence":"the camera offset on X axis","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyCameraOffsetX()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"ActionWithOperator","getterName":"OffsetX","name":"SetOffsetXOp","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyCameraOffsetX"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"Value\")"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Change the camera offset on X axis of an object.","fullName":"Camera Offset X","functionType":"Action","group":"Camera configuration","name":"SetOffsetX","private":true,"sentence":"Change the camera offset on X axis of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Deprecated use SetOffsetXOp instead."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetOffsetXOp"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"CameraOffsetX\")",""]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Camera offset X","name":"CameraOffsetX","type":"expression"}],"objectGroups":[]},{"description":"the camera offset on Y axis of the object. This is not the current difference between the object and the camera position.","fullName":"Camera offset Y","functionType":"ExpressionAndCondition","group":"Camera configuration","name":"OffsetY","sentence":"the camera offset on Y axis","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyCameraOffsetY()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"ActionWithOperator","getterName":"OffsetY","name":"SetOffsetYOp","sentence":"","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Deprecated use SetOffsetYOp instead."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyCameraOffsetY"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"Value\")"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Change the camera offset on Y axis of an object.","fullName":"Camera Offset Y","functionType":"Action","group":"Camera configuration","name":"SetOffsetY","private":true,"sentence":"Change the camera offset on Y axis of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetOffsetYOp"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"CameraOffsetY\")",""]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Camera offset Y","name":"CameraOffsetY","type":"expression"}],"objectGroups":[]},{"description":"Change the camera forecast time (in seconds).","fullName":"Forecast time","functionType":"Action","group":"Camera configuration","name":"SetForecastTime","sentence":"Change the camera forecast time of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastTime"},"parameters":["Object","Behavior","=","min(0, GetArgumentAsNumber(\"ForecastTime\"))"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Forecast time","name":"ForecastTime","type":"expression"}],"objectGroups":[]},{"description":"Change the camera delay (in seconds).","fullName":"Camera delay","functionType":"Action","group":"Camera configuration","name":"SetCameraDelay","sentence":"Change the camera delay of _PARAM0_: _PARAM2_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyCameraDelay"},"parameters":["Object","Behavior","=","min(0, GetArgumentAsNumber(\"CameraDelay\"))"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Camera delay","name":"CameraDelay","type":"expression"}],"objectGroups":[]},{"description":"Return follow free area left border X.","fullName":"Free area left","functionType":"Expression","group":"Private","name":"FreeAreaLeft","private":true,"sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyForecastedX() + Object.Behavior::PropertyCameraOffsetX() - Object.Behavior::PropertyFollowFreeAreaLeft()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Return follow free area right border X.","fullName":"Free area right","functionType":"Expression","group":"Private","name":"FreeAreaRight","private":true,"sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyForecastedX() + Object.Behavior::PropertyCameraOffsetX() + Object.Behavior::PropertyFollowFreeAreaRight()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Return follow free area bottom border Y.","fullName":"Free area bottom","functionType":"Expression","group":"Private","name":"FreeAreaBottom","private":true,"sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyForecastedY() + Object.Behavior::PropertyCameraOffsetY() + Object.Behavior::PropertyFollowFreeAreaBottom()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Return follow free area top border Y.","fullName":"Free area top","functionType":"Expression","group":"Private","name":"FreeAreaTop","private":true,"sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyForecastedY() + Object.Behavior::PropertyCameraOffsetY() - Object.Behavior::PropertyFollowFreeAreaTop()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Update delayed position and delayed history. This is called in doStepPreEvents.","fullName":"Update delayed position","functionType":"Action","group":"Private","name":"UpdateDelayedPosition","private":true,"sentence":"Update delayed position and delayed history of _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Add the previous position to have enough (2) positions to evaluate the extra delay for waiting mode."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SmoothCamera::SmoothCamera::IsWaiting"},"parameters":["Object","Behavior",""]},{"type":{"value":"Egal"},"parameters":["Object.VariableChildCount(__SmoothCamera.ObjectTime)","=","0"]}],"actions":[{"type":{"value":"ObjectVariablePushNumber"},"parameters":["Object","__SmoothCamera.ObjectTime","TimeFromStart()"]},{"type":{"value":"ObjectVariablePushNumber"},"parameters":["Object","__SmoothCamera.ObjectX","Object.Behavior::PropertyDelayedCenterX()"]},{"type":{"value":"ObjectVariablePushNumber"},"parameters":["Object","__SmoothCamera.ObjectY","Object.Behavior::PropertyDelayedCenterY()"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Use the object center when no delay is asked."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyDelayedCenterX"},"parameters":["Object","Behavior","=","Object.CenterX()"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyDelayedCenterY"},"parameters":["Object","Behavior","=","Object.CenterY()"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"SmoothCamera::SmoothCamera::IsDelayed"},"parameters":["Object","Behavior",""]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::AddForecastHistoryPosition"},"parameters":["Object","Behavior","TimeFromStart()","Object.CenterX()","Object.CenterY()",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"SmoothCamera::SmoothCamera::IsDelayed"},"parameters":["Object","Behavior",""]},{"type":{"value":"SmoothCamera::SmoothCamera::IsWaiting"},"parameters":["Object","Behavior",""]}]}],"actions":[{"type":{"value":"ObjectVariablePushNumber"},"parameters":["Object","__SmoothCamera.ObjectTime","TimeFromStart()"]},{"type":{"value":"ObjectVariablePushNumber"},"parameters":["Object","__SmoothCamera.ObjectX","Object.CenterX()"]},{"type":{"value":"ObjectVariablePushNumber"},"parameters":["Object","__SmoothCamera.ObjectY","Object.CenterY()"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Remove history entries that are too old to be useful for delaying and pass it to the history for forecasting."},{"infiniteLoopWarning":true,"type":"BuiltinCommonInstructions::While","whileConditions":[{"type":{"value":"Egal"},"parameters":["Object.VariableChildCount(__SmoothCamera.ObjectTime)",">=","2"]},{"type":{"value":"VarObjet"},"parameters":["Object","__SmoothCamera.ObjectTime[1]","<","TimeFromStart() - Object.Behavior::CurrentDelay()"]}],"conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::AddForecastHistoryPosition"},"parameters":["Object","Behavior","Object.Variable(__SmoothCamera.ObjectTime[0])","Object.Variable(__SmoothCamera.ObjectX[0])","Object.Variable(__SmoothCamera.ObjectY[0])",""]},{"type":{"value":"ObjectVariableRemoveAt"},"parameters":["Object","__SmoothCamera.ObjectTime","0"]},{"type":{"value":"ObjectVariableRemoveAt"},"parameters":["Object","__SmoothCamera.ObjectX","0"]},{"type":{"value":"ObjectVariableRemoveAt"},"parameters":["Object","__SmoothCamera.ObjectY","0"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Don't move the camera if there is not enough history."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyDelayedCenterX"},"parameters":["Object","Behavior","=","Object.Variable(__SmoothCamera.ObjectX[0])"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyDelayedCenterY"},"parameters":["Object","Behavior","=","Object.Variable(__SmoothCamera.ObjectY[0])"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["Object.VariableChildCount(__SmoothCamera.ObjectTime)",">=","2"]},{"type":{"value":"VarObjet"},"parameters":["Object","__SmoothCamera.ObjectTime[0]","<","TimeFromStart() - Object.Behavior::CurrentDelay()"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Add the extra delay that could be needed to respect the speed limit in waiting mode.\n\nspeedRatio = min(speedMaxX / historySpeedX, speedMaxY / historySpeedY)\ndelay += min(0, timeDelta * (1 - speedRatio))"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SmoothCamera::SmoothCamera::IsWaiting"},"parameters":["Object","Behavior",""]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyCameraExtraDelay"},"parameters":["Object","Behavior","+","max(0, TimeDelta() * (1 - min(Object.Behavior::PropertyWaitingSpeedXMax() * abs(Object.Variable(__SmoothCamera.ObjectX[1]) - Object.Variable(__SmoothCamera.ObjectX[0])), Object.Behavior::PropertyWaitingSpeedYMax() * abs(Object.Variable(__SmoothCamera.ObjectY[1]) - Object.Variable(__SmoothCamera.ObjectY[0]))) / (Object.Variable(__SmoothCamera.ObjectTime[1]) - Object.Variable(__SmoothCamera.ObjectTime[0]))))"]}],"events":[{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Extra delay: \" + ToString(Object.Behavior::PropertyCameraExtraDelay())","\"info\"","\"SmoothCamera\""]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"The time with delay is now between the first 2 indexes"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyDelayedCenterX"},"parameters":["Object","Behavior","=","lerp(Object.Variable(__SmoothCamera.ObjectX[1]), Object.Variable(__SmoothCamera.ObjectX[0]), ((TimeFromStart() - Object.Behavior::CurrentDelay()) - Object.Variable(__SmoothCamera.ObjectTime[1])) / (Object.Variable(__SmoothCamera.ObjectTime[0]) - Object.Variable(__SmoothCamera.ObjectTime[1])))"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyDelayedCenterY"},"parameters":["Object","Behavior","=","lerp(Object.Variable(__SmoothCamera.ObjectY[1]), Object.Variable(__SmoothCamera.ObjectY[0]), ((TimeFromStart() - Object.Behavior::CurrentDelay()) - Object.Variable(__SmoothCamera.ObjectTime[1])) / (Object.Variable(__SmoothCamera.ObjectTime[0]) - Object.Variable(__SmoothCamera.ObjectTime[1])))"]}]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"SmoothCamera::SmoothCamera::IsDelayed"},"parameters":["Object","Behavior",""]},{"type":{"inverted":true,"value":"SmoothCamera::SmoothCamera::IsWaiting"},"parameters":["Object","Behavior",""]}],"actions":[{"type":{"value":"ObjectVariableClearChildren"},"parameters":["Object","__SmoothCamera.ObjectTime"]},{"type":{"value":"ObjectVariableClearChildren"},"parameters":["Object","__SmoothCamera.ObjectX"]},{"type":{"value":"ObjectVariableClearChildren"},"parameters":["Object","__SmoothCamera.ObjectY"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"SmoothCamera::SmoothCamera::IsWaiting"},"parameters":["Object","Behavior",""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyCameraDelayCatchUpSpeed"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyCameraExtraDelay() / Object.Behavior::PropertyCameraDelayCatchUpDuration()"]}],"events":[{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Start to catch up\"","\"info\"","\"SmoothCamera\""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"SmoothCamera::SmoothCamera::IsWaiting"},"parameters":["Object","Behavior",""]},{"type":{"value":"SmoothCamera::SmoothCamera::PropertyCameraExtraDelay"},"parameters":["Object","Behavior",">","0"]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyCameraExtraDelay"},"parameters":["Object","Behavior","=","max(0, Object.Behavior::PropertyCameraExtraDelay() -Object.Behavior::PropertyCameraDelayCatchUpSpeed() * TimeDelta())"]}],"events":[{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Catching up delay: \" + ToString(Object.Behavior::PropertyCameraExtraDelay())","\"info\"","\"SmoothCamera\""]}]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Check if the camera following target is delayed from the object.","fullName":"Camera is delayed","functionType":"Condition","name":"IsDelayed","private":true,"sentence":"The camera of _PARAM0_ is delayed","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["Object.Behavior::CurrentDelay()",">","0"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Return the current camera delay.","fullName":"Current delay","functionType":"Expression","name":"CurrentDelay","private":true,"sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["Object.Behavior::PropertyCameraDelay() + Object.Behavior::PropertyCameraExtraDelay()"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Check if the camera following is waiting at a reduced speed.","fullName":"Camera is waiting","functionType":"Condition","name":"IsWaiting","private":true,"sentence":"The camera of _PARAM0_ is waiting","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SmoothCamera::SmoothCamera::PropertyWaitingEnd"},"parameters":["Object","Behavior",">","TimeFromStart()"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Add a position to the history for forecasting. This is called 2 times in UpadteDelayedPosition.","fullName":"Add forecast history position","functionType":"Action","group":"Private","name":"AddForecastHistoryPosition","private":true,"sentence":"Add the time:_PARAM2_ and position: _PARAM3_; _PARAM4_ to the forecast history of _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"SmoothCamera::SmoothCamera::PropertyForecastHistoryDuration"},"parameters":["Object","Behavior",">","0"]},{"type":{"value":"SmoothCamera::SmoothCamera::PropertyForecastTime"},"parameters":["Object","Behavior",">","0"]}]}],"actions":[{"type":{"value":"ObjectVariablePushNumber"},"parameters":["Object","__SmoothCamera.ForecastHistoryTime","GetArgumentAsNumber(\"Time\")"]},{"type":{"value":"ObjectVariablePushNumber"},"parameters":["Object","__SmoothCamera.ForecastHistoryX","GetArgumentAsNumber(\"ObjectX\")"]},{"type":{"value":"ObjectVariablePushNumber"},"parameters":["Object","__SmoothCamera.ForecastHistoryY","GetArgumentAsNumber(\"ObjectY\")"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Remove history entries that are too old to be useful.\nKeep at least 2 positions because no forecast can be done with less positions."},{"infiniteLoopWarning":true,"type":"BuiltinCommonInstructions::While","whileConditions":[{"type":{"value":"Egal"},"parameters":["Object.VariableChildCount(__SmoothCamera.ForecastHistoryTime)",">=","3"]},{"type":{"value":"VarObjet"},"parameters":["Object","__SmoothCamera.ForecastHistoryTime[0]","<","TimeFromStart() - Object.Behavior::PropertyCameraDelay() - Object.Behavior::PropertyCameraExtraDelay() - Object.Behavior::PropertyForecastHistoryDuration()"]}],"conditions":[],"actions":[{"type":{"value":"ObjectVariableRemoveAt"},"parameters":["Object","__SmoothCamera.ForecastHistoryTime","0"]},{"type":{"value":"ObjectVariableRemoveAt"},"parameters":["Object","__SmoothCamera.ForecastHistoryX","0"]},{"type":{"value":"ObjectVariableRemoveAt"},"parameters":["Object","__SmoothCamera.ForecastHistoryY","0"]}]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"Time","name":"Time","type":"expression"},{"description":"Object X","name":"ObjectX","type":"expression"},{"description":"Object Y","name":"ObjectY","type":"expression"}],"objectGroups":[]},{"description":"Update forecasted position. This is called in doStepPreEvents.","fullName":"Update forecasted position","functionType":"Action","group":"Private","name":"UpdateForecastedPosition","private":true,"sentence":"Update forecasted position of _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastedX"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyDelayedCenterX()"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastedY"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyDelayedCenterY()"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Simple linear regression\ny = A * x + B\n\nA = Covariance / VarianceX\nB = MeanY - A * MeanX\n\nNote than we could use only one position every N positions to reduce the process time,\nbut if we really need efficient process JavaScript and circular queues are a must."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["Object.VariableChildCount(__SmoothCamera.ForecastHistoryTime)",">=","2"]},{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"SmoothCamera::SmoothCamera::PropertyForecastHistoryDuration"},"parameters":["Object","Behavior",">","0"]},{"type":{"value":"SmoothCamera::SmoothCamera::PropertyForecastTime"},"parameters":["Object","Behavior",">","0"]}]}],"actions":[],"events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Mean X","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX"},"parameters":["Object","Behavior","=","0"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyIndex"},"parameters":["Object","Behavior","=","0"]}]},{"type":"BuiltinCommonInstructions::Repeat","repeatExpression":"Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX"},"parameters":["Object","Behavior","+","Object.Variable(__SmoothCamera.ForecastHistoryX[Object.Behavior::PropertyIndex()])"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyIndex"},"parameters":["Object","Behavior","+","1"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX"},"parameters":["Object","Behavior","/","Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)"]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Mean Y","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY"},"parameters":["Object","Behavior","=","0"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyIndex"},"parameters":["Object","Behavior","=","0"]}]},{"type":"BuiltinCommonInstructions::Repeat","repeatExpression":"Object.VariableChildCount(__SmoothCamera.ForecastHistoryY)","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY"},"parameters":["Object","Behavior","+","Object.Variable(__SmoothCamera.ForecastHistoryY[Object.Behavior::PropertyIndex()])"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyIndex"},"parameters":["Object","Behavior","+","1"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY"},"parameters":["Object","Behavior","/","Object.VariableChildCount(__SmoothCamera.ForecastHistoryY)"]}]},{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Mean: \" + ToString(Object.Behavior::PropertyForecastHistoryMeanX()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryMeanY())","",""]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Variance and Covariance","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"VarianceX = sum((X[i] - MeanX)²)\nVarianceY = sum((Y[i] - MeanY)²)\nCovariance = sum((X[i] - MeanX) * (Y[i] - MeanY))"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceX"},"parameters":["Object","Behavior","=","0"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceY"},"parameters":["Object","Behavior","=","0"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryCovariance"},"parameters":["Object","Behavior","=","0"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyIndex"},"parameters":["Object","Behavior","=","0"]}]},{"type":"BuiltinCommonInstructions::Repeat","repeatExpression":"Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceX"},"parameters":["Object","Behavior","+","pow(Object.Variable(__SmoothCamera.ForecastHistoryX[Object.Behavior::PropertyIndex()]) - Object.Behavior::PropertyForecastHistoryMeanX(), 2)"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceY"},"parameters":["Object","Behavior","+","pow(Object.Variable(__SmoothCamera.ForecastHistoryY[Object.Behavior::PropertyIndex()]) - Object.Behavior::PropertyForecastHistoryMeanY(), 2)"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryCovariance"},"parameters":["Object","Behavior","+","(Object.Variable(__SmoothCamera.ForecastHistoryX[Object.Behavior::PropertyIndex()]) - Object.Behavior::PropertyForecastHistoryMeanX())\n*\n(Object.Variable(__SmoothCamera.ForecastHistoryY[Object.Behavior::PropertyIndex()]) - Object.Behavior::PropertyForecastHistoryMeanY())"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyIndex"},"parameters":["Object","Behavior","+","1"]}]},{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Variances: \" + ToString(Object.Behavior::PropertyForecastHistoryVarianceX()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryVarianceY()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryCovariance())","\"info\"","\"SmoothCamera\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["abs(Object.Behavior::PropertyForecastHistoryVarianceX())","<","1"]},{"type":{"value":"Egal"},"parameters":["abs(Object.Behavior::PropertyForecastHistoryVarianceY())","<","1"]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastedX"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyDelayedCenterX()"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastedY"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyDelayedCenterY()"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"Egal"},"parameters":["abs(Object.Behavior::PropertyForecastHistoryVarianceX())",">=","1"]},{"type":{"value":"Egal"},"parameters":["abs(Object.Behavior::PropertyForecastHistoryVarianceY())",">=","1"]}]}],"actions":[],"events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Linear function parameters","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"y = A * x + B\n\nA = Covariance / VarianceX\nB = MeanY - A * MeanX"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["abs(Object.Behavior::PropertyForecastHistoryVarianceX())",">=","abs(Object.Behavior::PropertyForecastHistoryVarianceY())"]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearA"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyForecastHistoryCovariance() / Object.Behavior::PropertyForecastHistoryVarianceX()"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearB"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyForecastHistoryMeanY() - Object.Behavior::PropertyForecastHistoryLinearA() * Object.Behavior::PropertyForecastHistoryMeanX()"]}],"events":[{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Linear: \" + ToString(Object.Behavior::PropertyForecastHistoryLinearA()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryLinearB())","\"info\"","\"SmoothCamera\""]}]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Projection","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::ProjectHistoryEnds"},"parameters":["Object","Behavior","Object.Variable(__SmoothCamera.ForecastHistoryX[0])","Object.Variable(__SmoothCamera.ForecastHistoryY[0])","Object.Variable(__SmoothCamera.ForecastHistoryX[Object.VariableChildCount(__SmoothCamera.ForecastHistoryX) - 1])","Object.Variable(__SmoothCamera.ForecastHistoryY[Object.VariableChildCount(__SmoothCamera.ForecastHistoryY) - 1])",""]}]}],"parameters":[]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Axis permutation to avoid a ratio between 2 numbers near 0."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"Egal"},"parameters":["abs(Object.Behavior::PropertyForecastHistoryVarianceX())","<","abs(Object.Behavior::PropertyForecastHistoryVarianceY())"]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearA"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyForecastHistoryCovariance() / Object.Behavior::PropertyForecastHistoryVarianceY()"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearB"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyForecastHistoryMeanX() - Object.Behavior::PropertyForecastHistoryLinearA() * Object.Behavior::PropertyForecastHistoryMeanY()"]}],"events":[{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Linear: \" + ToString(Object.Behavior::PropertyForecastHistoryLinearA()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryLinearB())","\"info\"","\"SmoothCamera\""]}]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Projection","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::ProjectHistoryEnds"},"parameters":["Object","Behavior","Object.Variable(__SmoothCamera.ForecastHistoryY[0])","Object.Variable(__SmoothCamera.ForecastHistoryX[0])","Object.Variable(__SmoothCamera.ForecastHistoryY[Object.VariableChildCount(__SmoothCamera.ForecastHistoryY) - 1])","Object.Variable(__SmoothCamera.ForecastHistoryX[Object.VariableChildCount(__SmoothCamera.ForecastHistoryX) - 1])",""]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Permute back axis"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyIndex"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyProjectedOldestX()"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyProjectedOldestX"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyProjectedOldestY()"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyProjectedOldestY"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyIndex()"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyIndex"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyProjectedNewestX()"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyProjectedNewestX"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyProjectedNewestY()"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyProjectedNewestY"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyIndex()"]}]}],"parameters":[]},{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Oldest: \" + ToString(Object.Behavior::PropertyProjectedOldestX()) + \" \" + ToString(Object.Behavior::PropertyProjectedOldestY())","\"info\"","\"SmoothCamera\""]}]},{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Newest: \" + ToString(Object.Behavior::PropertyProjectedNewestX()) + \" \" + ToString(Object.Behavior::PropertyProjectedNewestY())","\"info\"","\"SmoothCamera\""]}]}]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Forecasted position","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastedX"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyProjectedNewestX() + ( Object.Behavior::PropertyProjectedNewestX() - Object.Behavior::PropertyProjectedOldestX()) * Object.Behavior::ForecastTimeRatio()"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyForecastedY"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyProjectedNewestY() + ( Object.Behavior::PropertyProjectedNewestY() - Object.Behavior::PropertyProjectedOldestY()) * Object.Behavior::ForecastTimeRatio()"]}]},{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Forecasted: \" + ToString(Object.Behavior::PropertyForecastedX()) + \" \" + ToString(Object.Behavior::PropertyForecastedY())","\"info\"","\"SmoothCamera\""]}]}],"parameters":[]}],"parameters":[]}]}],"parameters":[]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]},{"description":"Project history ends position to have the vector on the line from linear regression. This function is only called by UpdateForecastedPosition.","fullName":"Project history ends","functionType":"Action","group":"Private","name":"ProjectHistoryEnds","private":true,"sentence":"Project history oldest: _PARAM2_;_PARAM3_ and newest position: _PARAM4_;_PARAM5_ of _PARAM0_","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Perpendicular line:\npA = -1/a; \npB = -pA * x + y\n\nIntersection:\n/ ProjectedY = a * ProjectedX + b\n\\ ProjectedY = pA * ProjectedX + b\n\nSolution that is cleaned out from indeterminism (like 0 / 0 or infinity / infinity):\nProjectedX= (x + (y - b) * a) / (a² + 1)\nProjectedY = y + (x * a - y + b) / (a² + 1)"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyProjectedNewestX"},"parameters":["Object","Behavior","=","(GetArgumentAsNumber(\"NewestX\") + (GetArgumentAsNumber(\"NewestY\") - Object.Behavior::PropertyForecastHistoryLinearB()) * Object.Behavior::PropertyForecastHistoryLinearA()) / (1 + pow(Object.Behavior::PropertyForecastHistoryLinearA(), 2))"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyProjectedNewestY"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"NewestY\") + (GetArgumentAsNumber(\"NewestX\") * Object.Behavior::PropertyForecastHistoryLinearA() - GetArgumentAsNumber(\"NewestY\") \n+ Object.Behavior::PropertyForecastHistoryLinearB()) / (1 + pow(Object.Behavior::PropertyForecastHistoryLinearA(), 2))"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyProjectedOldestX"},"parameters":["Object","Behavior","=","(GetArgumentAsNumber(\"OldestX\") + (GetArgumentAsNumber(\"OldestY\") - Object.Behavior::PropertyForecastHistoryLinearB()) * Object.Behavior::PropertyForecastHistoryLinearA()) / (1 + pow(Object.Behavior::PropertyForecastHistoryLinearA(), 2))"]},{"type":{"value":"SmoothCamera::SmoothCamera::SetPropertyProjectedOldestY"},"parameters":["Object","Behavior","=","GetArgumentAsNumber(\"OldestY\") + (GetArgumentAsNumber(\"OldestX\") * Object.Behavior::PropertyForecastHistoryLinearA() - GetArgumentAsNumber(\"OldestY\") \n+ Object.Behavior::PropertyForecastHistoryLinearB()) / (1 + pow(Object.Behavior::PropertyForecastHistoryLinearA(), 2))"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"},{"description":"OldestX","name":"OldestX","type":"expression"},{"description":"OldestY","name":"OldestY","type":"expression"},{"description":"Newest X","name":"NewestX","type":"expression"},{"description":"Newest Y","name":"NewestY","type":"expression"}],"objectGroups":[]},{"description":"Return the ratio between forecast time and the duration of the history. This function is only called by UpdateForecastedPosition.","fullName":"Forecast time ratio","functionType":"Expression","group":"Private","name":"ForecastTimeRatio","private":true,"sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["- Object.Behavior::PropertyForecastTime() / (Object.Variable(__SmoothCamera.ForecastHistoryTime[0]) - Object.Variable(__SmoothCamera.ForecastHistoryTime[Object.VariableChildCount(__SmoothCamera.ForecastHistoryTime) - 1]))"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothCamera","type":"behavior"}],"objectGroups":[]}],"propertyDescriptors":[{"value":"0.9","type":"Number","label":"Leftward catch-up speed (in ratio per second)","description":"","group":"Catch-up speed","extraInformation":[],"hidden":false,"name":"LeftwardSpeed"},{"value":"0.9","type":"Number","label":"Rightward catch-up speed (in ratio per second)","description":"","group":"Catch-up speed","extraInformation":[],"hidden":false,"name":"RightwardSpeed"},{"value":"0.9","type":"Number","label":"Upward catch-up speed (in ratio per second)","description":"","group":"Catch-up speed","extraInformation":[],"hidden":false,"name":"UpwardSpeed"},{"value":"0.9","type":"Number","label":"Downward catch-up speed (in ratio per second)","description":"","group":"Catch-up speed","extraInformation":[],"hidden":false,"name":"DownwardSpeed"},{"value":"true","type":"Boolean","label":"Follow on X axis","description":"","group":"","extraInformation":[],"hidden":false,"name":"FollowOnX"},{"value":"true","type":"Boolean","label":"Follow on Y axis","description":"","group":"","extraInformation":[],"hidden":false,"name":"FollowOnY"},{"value":"0","type":"Number","unit":"Pixel","label":"Follow free area left border","description":"","group":"Position","extraInformation":[],"hidden":false,"name":"FollowFreeAreaLeft"},{"value":"0","type":"Number","unit":"Pixel","label":"Follow free area right border","description":"","group":"Position","extraInformation":[],"hidden":false,"name":"FollowFreeAreaRight"},{"value":"0","type":"Number","unit":"Pixel","label":"Follow free area top border","description":"","group":"Position","extraInformation":[],"hidden":false,"name":"FollowFreeAreaTop"},{"value":"0","type":"Number","unit":"Pixel","label":"Follow free area bottom border","description":"","group":"Position","extraInformation":[],"hidden":false,"name":"FollowFreeAreaBottom"},{"value":"0","type":"Number","unit":"Pixel","label":"Camera offset X","description":"","group":"Position","extraInformation":[],"hidden":false,"name":"CameraOffsetX"},{"value":"0","type":"Number","unit":"Pixel","label":"Camera offset Y","description":"","group":"Position","extraInformation":[],"hidden":false,"name":"CameraOffsetY"},{"value":"0","type":"Number","unit":"Second","label":"Camera delay","description":"","group":"Timing","extraInformation":[],"hidden":false,"name":"CameraDelay"},{"value":"0","type":"Number","unit":"Second","label":"Forecast time","description":"","group":"Timing","extraInformation":[],"hidden":false,"name":"ForecastTime"},{"value":"0","type":"Number","unit":"Second","label":"Forecast history duration","description":"","group":"Timing","extraInformation":[],"hidden":false,"name":"ForecastHistoryDuration"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"LogLeftwardSpeed"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"LogRightwardSpeed"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"LogDownwardSpeed"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"LogUpwardSpeed"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"DelayedCenterX"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"DelayedCenterY"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ForecastHistoryMeanX"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ForecastHistoryMeanY"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ForecastHistoryVarianceX"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ForecastHistoryCovariance"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ForecastHistoryLinearA"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ForecastHistoryLinearB"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ForecastedX"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ForecastedY"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ProjectedNewestX"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ProjectedNewestY"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ProjectedOldestX"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ProjectedOldestY"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"ForecastHistoryVarianceY"},{"value":"","type":"Number","label":"Index (local variable)","description":"","group":"","extraInformation":[],"hidden":true,"name":"Index"},{"value":"0","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"CameraDelayCatchUpSpeed"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"CameraExtraDelay"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"WaitingSpeedXMax"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"WaitingSpeedYMax"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"WaitingEnd"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"CameraDelayCatchUpDuration"},{"value":"9000","type":"Number","unit":"PixelSpeed","label":"Leftward maximum speed","description":"","group":"Maximum speed","extraInformation":[],"hidden":false,"name":"LeftwardSpeedMax"},{"value":"9000","type":"Number","unit":"PixelSpeed","label":"Rightward maximum speed","description":"","group":"Maximum speed","extraInformation":[],"hidden":false,"name":"RightwardSpeedMax"},{"value":"9000","type":"Number","unit":"PixelSpeed","label":"Upward maximum speed","description":"","group":"Maximum speed","extraInformation":[],"hidden":false,"name":"UpwardSpeedMax"},{"value":"9000","type":"Number","unit":"PixelSpeed","label":"Downward maximum speed","description":"","group":"Maximum speed","extraInformation":[],"hidden":false,"name":"DownwardSpeedMax"},{"value":"","type":"Number","label":"OldX (local variable)","description":"","group":"","extraInformation":[],"hidden":true,"name":"OldX"},{"value":"","type":"Number","label":"OldY (local variable)","description":"","group":"","extraInformation":[],"hidden":true,"name":"OldY"},{"value":"","type":"Boolean","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"IsCalledManually"}],"sharedPropertyDescriptors":[]},{"description":"Smoothly scroll to follow a character and stabilize the camera when jumping.","fullName":"Smooth platformer camera","name":"SmoothPlatformerCamera","objectType":"","eventsFunctions":[{"fullName":"","functionType":"Action","name":"doStepPreEvents","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"PlatformBehavior::IsJumping"},"parameters":["Object","PlatformerCharacter"]},{"type":{"inverted":true,"value":"PlatformBehavior::IsFalling"},"parameters":["Object","PlatformerCharacter"]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetFollowFreeAreaBottom"},"parameters":["Object","SmoothCamera","Object.Behavior::PropertyFloorFollowFreeAreaTop()",""]},{"type":{"value":"SmoothCamera::SmoothCamera::SetFollowFreeAreaTop"},"parameters":["Object","SmoothCamera","Object.Behavior::PropertyFloorFollowFreeAreaBottom()",""]},{"type":{"value":"SmoothCamera::SmoothCamera::SetUpwardSpeed"},"parameters":["Object","SmoothCamera","Object.Behavior::PropertyFloorUpwardSpeed()",""]},{"type":{"value":"SmoothCamera::SmoothCamera::SetDownwardSpeed"},"parameters":["Object","SmoothCamera","Object.Behavior::PropertyFloorDownwardSpeed()",""]},{"type":{"value":"SmoothCamera::SmoothCamera::SetUpwardSpeedMax"},"parameters":["Object","SmoothCamera","Object.Behavior::PropertyFloorUpwardSpeedMax()",""]},{"type":{"value":"SmoothCamera::SmoothCamera::SetDownwardSpeedMax"},"parameters":["Object","SmoothCamera","Object.Behavior::PropertyFloorDownwardSpeedMax()",""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"PlatformBehavior::IsJumping"},"parameters":["Object","PlatformerCharacter"]},{"type":{"value":"PlatformBehavior::IsFalling"},"parameters":["Object","PlatformerCharacter"]}]}],"actions":[{"type":{"value":"SmoothCamera::SmoothCamera::SetFollowFreeAreaBottom"},"parameters":["Object","SmoothCamera","Object.Behavior::PropertyAirFollowFreeAreaTop()",""]},{"type":{"value":"SmoothCamera::SmoothCamera::SetFollowFreeAreaTop"},"parameters":["Object","SmoothCamera","Object.Behavior::PropertyAirFollowFreeAreaBottom()",""]},{"type":{"value":"SmoothCamera::SmoothCamera::SetUpwardSpeed"},"parameters":["Object","SmoothCamera","Object.Behavior::PropertyAirUpwardSpeed()",""]},{"type":{"value":"SmoothCamera::SmoothCamera::SetDownwardSpeed"},"parameters":["Object","SmoothCamera","Object.Behavior::PropertyAirDownwardSpeed()",""]},{"type":{"value":"SmoothCamera::SmoothCamera::SetUpwardSpeedMax"},"parameters":["Object","SmoothCamera","Object.Behavior::PropertyAirUpwardSpeedMax()",""]},{"type":{"value":"SmoothCamera::SmoothCamera::SetDownwardSpeedMax"},"parameters":["Object","SmoothCamera","Object.Behavior::PropertyAirDownwardSpeedMax()",""]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"SmoothCamera::SmoothPlatformerCamera","type":"behavior"}],"objectGroups":[]}],"propertyDescriptors":[{"value":"","type":"Behavior","label":"Platformer character behavior","description":"","group":"","extraInformation":["PlatformBehavior::PlatformerObjectBehavior"],"hidden":false,"name":"PlatformerCharacter"},{"value":"","type":"Behavior","label":"Smooth camera behavior","description":"","group":"","extraInformation":["SmoothCamera::SmoothCamera"],"hidden":false,"name":"SmoothCamera"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"JumpOriginY"},{"value":"0","type":"Number","unit":"Pixel","label":"Follow free area top in the air","description":"","group":"Position","extraInformation":[],"hidden":false,"name":"AirFollowFreeAreaTop"},{"value":"0","type":"Number","unit":"Pixel","label":"Follow free area bottom in the air","description":"","group":"Position","extraInformation":[],"hidden":false,"name":"AirFollowFreeAreaBottom"},{"value":"0","type":"Number","unit":"Pixel","label":"Follow free area top on the floor","description":"","group":"Position","extraInformation":[],"hidden":false,"name":"FloorFollowFreeAreaTop"},{"value":"0","type":"Number","unit":"Pixel","label":"Follow free area bottom on the floor","description":"","group":"Position","extraInformation":[],"hidden":false,"name":"FloorFollowFreeAreaBottom"},{"value":"0.95","type":"Number","label":"Upward speed in the air (in ratio per second)","description":"","group":"Catch-up speed","extraInformation":[],"hidden":false,"name":"AirUpwardSpeed"},{"value":"0.95","type":"Number","label":"Downward speed in the air (in ratio per second)","description":"","group":"Catch-up speed","extraInformation":[],"hidden":false,"name":"AirDownwardSpeed"},{"value":"0.9","type":"Number","label":"Upward speed on the floor (in ratio per second)","description":"","group":"Catch-up speed","extraInformation":[],"hidden":false,"name":"FloorUpwardSpeed"},{"value":"0.9","type":"Number","label":"Downward speed on the floor (in ratio per second)","description":"","group":"Catch-up speed","extraInformation":[],"hidden":false,"name":"FloorDownwardSpeed"},{"value":"9000","type":"Number","unit":"PixelSpeed","label":"Upward maximum speed in the air","description":"","group":"Maximum speed","extraInformation":[],"hidden":false,"name":"AirUpwardSpeedMax"},{"value":"9000","type":"Number","unit":"PixelSpeed","label":"Downward maximum speed in the air","description":"","group":"Maximum speed","extraInformation":[],"hidden":false,"name":"AirDownwardSpeedMax"},{"value":"9000","type":"Number","unit":"PixelSpeed","label":"Upward maximum speed on the floor","description":"","group":"Maximum speed","extraInformation":[],"hidden":false,"name":"FloorUpwardSpeedMax"},{"value":"9000","type":"Number","unit":"PixelSpeed","label":"Downward maximum speed on the floor","description":"","group":"Maximum speed","extraInformation":[],"hidden":false,"name":"FloorDownwardSpeedMax"}],"sharedPropertyDescriptors":[]}],"eventsBasedObjects":[]},{"author":"","category":"Movement","extensionNamespace":"","fullName":"Pixel perfect movement","helpPath":"","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO30NCgkuc3Qye2ZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MjtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTo2LDY7fQ0KCS5zdDN7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtZGFzaGFycmF5OjQsNDt9DQoJLnN0NHtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7fQ0KCS5zdDV7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1kYXNoYXJyYXk6My4xMDgxLDMuMTA4MTt9DQoJDQoJCS5zdDZ7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2UtZGFzaGFycmF5OjQsMzt9DQo8L3N0eWxlPg0KPHJlY3QgeD0iNCIgeT0iNCIgY2xhc3M9InN0MCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMTIiIHkxPSIyOCIgeDI9IjEyIiB5Mj0iNCIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjIwIiB5MT0iMjgiIHgyPSIyMCIgeTI9IjQiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOCIgeTE9IjIwIiB4Mj0iNCIgeTI9IjIwIi8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMjgiIHkxPSIxMiIgeDI9IjQiIHkyPSIxMiIvPg0KPC9zdmc+DQo=","name":"PixelPerfectMovement","previewIconUrl":"https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Graphic Design/Graphic Design_grid.svg","shortDescription":"Grid-based or pixel perfect platformer and top-down movements.","version":"0.2.0","description":["Games with pixel art usually use pixels bigger than actual pixels of the screen. This can lead to big pixels partially overlapping each other which doesn't look good.","","This extension allows to seamlessly keep big pixels aligned when the object is stopped and still beneficiate from the high resolution of the screen to have smooth movements.","","It can be used for:","* Pixel-perfect platformers ([open the project online](https://editor.gdevelop.io/?project=example://platformer-with-tilemap))","* Align top-down characters on a grid ([open the project online](https://editor.gdevelop.io/?project=example://top-down-grid-movement))"],"origin":{"identifier":"PixelPerfectMovement","name":"gdevelop-extension-store"},"tags":["pixel perfect","platform","top down","movement","grid"],"authorIds":["IWykYNRvhCZBN3vEgKEbBPOR3Oc2","mkJFlZEo4aXeAZxt8CsXjEkW4Oq1","mMR36hCjO5dlcYmhNSuVtcREM473"],"dependencies":[],"eventsFunctions":[{"description":"Return the speed necessary to cover a distance according to the deceleration.","fullName":"Speed to reach","functionType":"Expression","name":"SpeedToReach","private":true,"sentence":"Braking distance from an initial speed: _PARAM2_ and a deceleration: _PARAM3_ is less than _PARAM1_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::CompareNumbers"},"parameters":["GetArgumentAsNumber(\"Distance\")",">=","0"]}],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["sqrt(2 * GetArgumentAsNumber(\"Distance\") * GetArgumentAsNumber(\"Deceleration\"))"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::CompareNumbers"},"parameters":["GetArgumentAsNumber(\"Distance\")","<","0"]}],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["-sqrt(-2 * GetArgumentAsNumber(\"Distance\") * GetArgumentAsNumber(\"Deceleration\"))"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Distance","name":"Distance","type":"expression"},{"description":"Deceleration","name":"Deceleration","type":"expression"}],"objectGroups":[]},{"description":"Return the braking distance according to an initial speed and a deceleration.","fullName":"Braking distance","functionType":"Expression","name":"BrakingDistance","private":true,"sentence":"Braking distance from an initial speed: _PARAM2_ and a deceleration: _PARAM3_ is less than _PARAM1_","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"SetReturnNumber"},"parameters":["GetArgumentAsNumber(\"Speed\") * GetArgumentAsNumber(\"Speed\") / (2 * GetArgumentAsNumber(\"Deceleration\"))"]}]}],"expressionType":{"type":"expression"},"parameters":[{"description":"Speed","name":"Speed","type":"expression"},{"description":"Deceleration","name":"Deceleration","type":"expression"}],"objectGroups":[]},{"description":"Define JavaScript classes for top-down.","fullName":"Define JavaScript classes for top-down","functionType":"Action","name":"DefineJavaScriptForTopDown","private":true,"sentence":"Define JavaScript classes for top-down","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"GlobalVariableAsBoolean"},"parameters":["__pixelPerfect.TopDownClassesDefined",""]}],"actions":[{"type":{"value":"SetGlobalVariableAsBoolean"},"parameters":["__pixelPerfect.TopDownClassesDefined","True"]}],"events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["gdjs.__pixelPerfectExtension = gdjs.__pixelPerfectExtension || {};","","gdjs.__pixelPerfectExtension.PixelPerfectTopDownMovement = /** @class */ (function () {",""," /**"," * @param {gdjs.RuntimeBehavior} pixelPerfectBehavior"," * @param {gdjs.TopDownMovementRuntimeBehavior} topDownBehavior"," */"," function PixelPerfectTopDownMovement(pixelPerfectBehavior, topDownBehavior) {"," /** @type {gdjs.RuntimeBehavior} */"," this.pixelPerfectBehavior = pixelPerfectBehavior;"," /** @type {gdjs.TopDownMovementRuntimeBehavior} */"," this.topDownBehavior = topDownBehavior;",""," topDownBehavior.registerHook(this);",""," /** @type {number | null} */"," this.targetX = null;"," /** @type {number | null} */"," this.targetY = null;"," this.targetDirectionX = 0;"," this.targetDirectionY = 0;"," this.lastDirection = -1;"," this.isVelocityAdjusted = false;"," this.isVelocityAdjustedOnX = false;"," this.isVelocityAdjustedOnY = false;"," }",""," /**"," * Return the direction to use instead of the direction given in"," * parameter."," * @param {gdjs.TopDownMovementRuntimeBehavior.TopDownMovementHookContext} context"," * @return {number}"," */"," PixelPerfectTopDownMovement.prototype.overrideDirection = function (context) {"," let direction = context.getDirection();"," if (!this.pixelPerfectBehavior.activated()) {"," return direction;"," }",""," /** @type {number} */"," const cellSize = this.pixelPerfectBehavior._getPixelSize();"," const that = this.topDownBehavior;"," const object = that.owner;",""," if (cellSize <= 0 || that._allowDiagonals) {"," return direction;"," }",""," // Forbid to turn before being aligned on the grid.",""," const timeDelta = object.getElapsedTime() / 1000;"," const deltaX = Math.abs(that._xVelocity * timeDelta);"," const deltaY = Math.abs(that._yVelocity * timeDelta);",""," const isTryingToMoveOnX = direction === 4 || direction === 0;"," const isTryingToMoveOnY = direction === 6 || direction === 2;"," if (isTryingToMoveOnX) {"," if (that._yVelocity < 0) {"," if (Math.abs(this.ceilToCellY(object.y) - object.y) > deltaY) {"," direction = 6;"," } else {"," object.y = this.ceilToCellY(object.y);"," }"," }"," if (that._yVelocity > 0) {"," if (Math.abs(this.floorToCellY(object.y) - object.y) > deltaY) {"," direction = 2;"," } else {"," object.y = this.floorToCellY(object.y);"," }"," }"," } else if (isTryingToMoveOnY) {"," if (that._xVelocity < 0) {"," if (Math.abs(this.ceilToCellX(object.x) - object.x) > deltaX) {"," direction = 4;"," } else {"," object.x = this.ceilToCellX(object.x);"," }"," }"," if (that._xVelocity > 0) {"," if (Math.abs(this.floorToCellX(object.x) - object.x) > deltaX) {"," direction = 0;"," } else {"," object.x = this.floorToCellX(object.x);"," }"," }"," }",""," // Ensure sharp turn even with Verlet integrations."," const speed = Math.abs(that._xVelocity + that._yVelocity);"," if (direction === 0) {"," that._xVelocity = speed;"," that._yVelocity = 0;"," } else if (direction === 4) {"," that._xVelocity = -speed;"," that._yVelocity = 0;"," } else if (direction === 2) {"," that._yVelocity = speed;"," that._xVelocity = 0;"," } else if (direction === 6) {"," that._yVelocity = -speed;"," that._xVelocity = 0;"," }",""," this.lastDirection = direction;"," return direction;"," }",""," /**"," * Called before the acceleration and new direction is applied to the"," * velocity."," * @param {gdjs.TopDownMovementRuntimeBehavior.TopDownMovementHookContext} context"," */"," PixelPerfectTopDownMovement.prototype.beforeSpeedUpdate = function (context) {"," if (!this.pixelPerfectBehavior.activated()) {"," return;"," }",""," const direction = context.getDirection();"," /** @type {number} */"," const cellSize = this.pixelPerfectBehavior._getPixelSize();"," const that = this.topDownBehavior;"," const object = that.owner;",""," if (cellSize <= 0) {"," return;"," }",""," const isMovingOnX ="," direction !== -1 && direction !== 2 && direction !== 6;"," if (isMovingOnX) {"," this.targetX = null;"," } else if (this.targetX === null) {"," // Find where the deceleration should stop the object."," if (that._xVelocity > 0) {"," this.targetX = this.ceilToCellX("," object.x + this.getBreakingDistanceX()"," );"," this.targetDirectionX = 1;"," }"," if (that._xVelocity < 0) {"," this.targetX = this.floorToCellX("," object.x - this.getBreakingDistanceX()"," );"," this.targetDirectionX = -1;"," }"," }",""," const isMovingOnY ="," direction !== -1 && direction !== 0 && direction !== 4;"," if (isMovingOnY) {"," this.targetY = null;"," } else if (this.targetY === null) {"," // Find where the deceleration should stop the object."," if (that._yVelocity > 0) {"," this.targetY = this.ceilToCellY("," object.y + this.getBreakingDistanceY()"," );"," this.targetDirectionY = 1;"," }"," if (that._yVelocity < 0) {"," this.targetY = this.floorToCellY("," object.y - this.getBreakingDistanceY()"," );"," this.targetDirectionY = -1;"," }"," }",""," // Make as if the player had press button a bit longer to reach exactly"," // the next cell.",""," this.isVelocityAdjustedOnX = this.targetX !== null;"," if (this.isVelocityAdjustedOnX) {"," if (this.targetDirectionX > 0) {"," if (this.targetX > object.getX()) {"," that._xVelocity = Math.min("," that._xVelocity + that._acceleration,"," that._maxSpeed,"," this.getSpeedToReach(this.targetX - object.getX())"," );"," }"," const nextFrameX = object.getX() + that._xVelocity * object.getElapsedTime() / 1000;"," if (this.targetX <= nextFrameX) {"," that._xVelocity = 0;"," object.setX(this.roundToCellX(object.getX()));"," this.targetX = null;"," }"," }"," if (this.targetDirectionX < 0) {"," if (this.targetX < object.getX()) {"," that._xVelocity = Math.max("," that._xVelocity - that._acceleration,"," -that._maxSpeed,"," this.getSpeedToReach(this.targetX - object.getX())"," );"," }"," const nextFrameX = object.getX() + that._xVelocity * object.getElapsedTime() / 1000;"," if (this.targetX >= nextFrameX) {"," that._xVelocity = 0;"," object.setX(this.roundToCellX(object.getX()));"," this.targetX = null;"," }"," }"," // The velocity is exact. There no need for Verlet integration."," this.previousVelocityX = that._xVelocity;"," }",""," this.isVelocityAdjustedOnY = this.targetY !== null;"," if (this.isVelocityAdjustedOnY) {"," if (this.targetDirectionY > 0) {"," if (this.targetY > object.getY()) {"," that._yVelocity = Math.min("," that._yVelocity + that._acceleration,"," that._maxSpeed,"," this.getSpeedToReach(this.targetY - object.getY())"," );"," }"," const nextFrameY = object.getY() + that._yVelocity * object.getElapsedTime() / 1000;"," if (this.targetY <= nextFrameY) {"," that._yVelocity = 0;"," object.setY(this.roundToCellY(object.getY()));"," this.targetY = null;"," }"," }"," if (this.targetDirectionY < 0) {"," if (this.targetY < object.getY()) {"," that._yVelocity = Math.max("," that._yVelocity - that._acceleration,"," -that._maxSpeed,"," this.getSpeedToReach(this.targetY - object.getY())"," );"," }"," const nextFrameY = object.getY() + that._yVelocity * object.getElapsedTime() / 1000;"," if (this.targetY >= nextFrameY) {"," that._yVelocity = 0;"," object.setY(this.roundToCellY(object.getY()));"," this.targetY = null;"," }"," }"," // The velocity is exact. There no need for Verlet integration."," this.previousVelocityY = that._yVelocity;"," }"," }",""," /**"," * Called before the velocity is applied to the object position and"," * angle."," */"," PixelPerfectTopDownMovement.prototype.beforePositionUpdate = function () {"," if (!this.pixelPerfectBehavior.activated()) {"," return;"," }",""," /** @type {number} */"," const cellSize = this.pixelPerfectBehavior._getPixelSize();"," if (cellSize <= 0) {"," return;"," }",""," const that = this.topDownBehavior;",""," if (this.isVelocityAdjustedOnX) {"," // The velocity is exact. There no need for Verlet integration."," that._xVelocity = this.previousVelocityX;"," }"," if (this.isVelocityAdjustedOnY) {"," // The velocity is exact. There no need for Verlet integration."," that._yVelocity = this.previousVelocityY;"," }"," }",""," const epsilon = 1 / (1 << 20);",""," PixelPerfectTopDownMovement.prototype.doStepPostEvents = function (instanceContainer) {"," /** @type {number} */"," const cellSize = this.pixelPerfectBehavior._getPixelSize();"," if (cellSize <= 0) {"," return;"," }",""," const that = this.topDownBehavior;"," const object = that.owner;",""," const isMovingOnX ="," this.lastDirection !== -1 &&"," this.lastDirection !== 2 &&"," this.lastDirection !== 6;"," const isMovingOnY ="," this.lastDirection !== -1 &&"," this.lastDirection !== 0 &&"," this.lastDirection !== 4;",""," // Avoid rounding errors after a call to \"separate\" to make characters"," // move indefinitely in front of a wall because they can't reach the cell."," if (!isMovingOnX && that._xVelocity !== 0) {"," const x = object.getX();"," const roundedX = this.roundToCellX(x);"," if (Math.abs(roundedX - x) < epsilon) {"," object.setX(roundedX);"," this.targetDirectionX = 0;"," that._xVelocity = 0;"," }"," }"," if (!isMovingOnY && that._yVelocity !== 0) {"," const y = object.getY();"," const roundedY = this.roundToCellY(y);"," if (Math.abs(roundedY - y) < epsilon) {"," object.setY(roundedY);"," this.targetDirectionY = 0;"," that._yVelocity = 0;"," }"," }"," }",""," /**"," * @returns {number} the braking distance according to an initial speed and a deceleration."," */"," PixelPerfectTopDownMovement.prototype.getBreakingDistanceX = function () {"," const that = this.topDownBehavior;"," return (that._xVelocity * that._xVelocity) / (2 * that._deceleration);"," }",""," /**"," * @returns {number} the braking distance according to an initial speed and a deceleration."," */"," PixelPerfectTopDownMovement.prototype.getBreakingDistanceY = function () {"," const that = this.topDownBehavior;"," return (that._yVelocity * that._yVelocity) / (2 * that._deceleration);"," }",""," /**"," * @param {number} displacement"," * @returns {number} the speed necessary to cover a distance according to the deceleration."," */"," PixelPerfectTopDownMovement.prototype.getSpeedToReach = function (displacement) {"," const that = this.topDownBehavior;"," return ("," Math.sign(displacement) *"," Math.sqrt(2 * Math.abs(displacement) * that._deceleration)"," );"," }",""," /**"," * @param {number} x"," * @return {number}"," */"," PixelPerfectTopDownMovement.prototype.ceilToCellX = function (x) {"," /** @type {number} */"," const cellSize = this.pixelPerfectBehavior._getPixelSize();"," /** @type {number} */"," const gridOffsetX = this.pixelPerfectBehavior._getOffsetX();",""," return ("," gridOffsetX +"," cellSize * Math.ceil((x - gridOffsetX) / cellSize)"," );"," }",""," /**"," * @param {number} x"," * @return {number}"," */"," PixelPerfectTopDownMovement.prototype.roundToCellX = function (x) {"," /** @type {number} */"," const cellSize = this.pixelPerfectBehavior._getPixelSize();"," /** @type {number} */"," const gridOffsetX = this.pixelPerfectBehavior._getOffsetX();",""," return ("," gridOffsetX +"," cellSize * Math.round((x - gridOffsetX) / cellSize)"," );"," }",""," /**"," * @param {number} x"," * @return {number}"," */"," PixelPerfectTopDownMovement.prototype.floorToCellX = function (x) {"," /** @type {number} */"," const cellSize = this.pixelPerfectBehavior._getPixelSize();"," /** @type {number} */"," const gridOffsetX = this.pixelPerfectBehavior._getOffsetX();",""," return ("," gridOffsetX +"," cellSize * Math.floor((x - gridOffsetX) / cellSize)"," );"," }",""," /**"," * @param {number} y"," * @return {number}"," */"," PixelPerfectTopDownMovement.prototype.ceilToCellY = function (y) {"," /** @type {number} */"," const cellSize = this.pixelPerfectBehavior._getPixelSize();"," /** @type {number} */"," const gridOffsetY = this.pixelPerfectBehavior._getOffsetY();",""," return ("," gridOffsetY +"," cellSize * Math.ceil((y - gridOffsetY) / cellSize)"," );"," }",""," /**"," * @param {number} y"," * @return {number}"," */"," PixelPerfectTopDownMovement.prototype.roundToCellY = function (y) {"," /** @type {number} */"," const cellSize = this.pixelPerfectBehavior._getPixelSize();"," /** @type {number} */"," const gridOffsetY = this.pixelPerfectBehavior._getOffsetY();",""," return ("," gridOffsetY +"," cellSize * Math.round((y - gridOffsetY) / cellSize)"," );"," }",""," /**"," * @param {number} y"," * @return {number}"," */"," PixelPerfectTopDownMovement.prototype.floorToCellY = function (y) {"," /** @type {number} */"," const cellSize = this.pixelPerfectBehavior._getPixelSize();"," /** @type {number} */"," const gridOffsetY = this.pixelPerfectBehavior._getOffsetY();",""," return ("," gridOffsetY +"," cellSize * Math.floor((y - gridOffsetY) / cellSize)"," );"," }",""," return PixelPerfectTopDownMovement;","}());","",""],"parameterObjects":"","useStrict":true,"eventsSheetExpanded":true}]}],"parameters":[],"objectGroups":[]}],"eventsBasedBehaviors":[{"description":"Seamlessly align big pixels using a top-down movement.","fullName":"Pixel perfect top-down movement","name":"PixelPerfectTopDownMovement","objectType":"","eventsFunctions":[{"fullName":"","functionType":"Action","name":"onCreated","sentence":"","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PixelPerfectMovement::DefineJavaScriptForTopDown"},"parameters":["",""]}]},{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["\r","const object = objects[0];\r","const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");\r","const behavior = object.getBehavior(behaviorName);\r","\r","/** @type {gdjs.TopDownMovementRuntimeBehavior} */\r","const topDownBehavior = object.getBehavior(behavior._getTopDownMovement());\r","\r","const pixelPerfect = new gdjs.__pixelPerfectExtension.PixelPerfectTopDownMovement(behavior, topDownBehavior);\r","topDownBehavior.__pixelPerfect = pixelPerfect;\r","behavior.__pixelPerfect = pixelPerfect;\r",""],"parameterObjects":"Object","useStrict":true,"eventsSheetExpanded":true}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PixelPerfectMovement::PixelPerfectTopDownMovement","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"Action","name":"doStepPostEvents","sentence":"","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["const object = objects[0];","const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");","const behavior = object.getBehavior(behaviorName);","","behavior.__pixelPerfect.doStepPostEvents(runtimeScene);"],"parameterObjects":"Object","useStrict":true,"eventsSheetExpanded":true}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PixelPerfectMovement::PixelPerfectTopDownMovement","type":"behavior"}],"objectGroups":[]}],"propertyDescriptors":[{"value":"","type":"Behavior","label":"Top-down movement behavior","description":"","group":"","extraInformation":["TopDownMovementBehavior::TopDownMovementBehavior"],"hidden":false,"name":"TopDownMovement"},{"value":"1","type":"Number","label":"Pixel size","description":"","group":"","extraInformation":[],"hidden":false,"name":"PixelSize"},{"value":"0","type":"Number","label":"Pixel grid offset X","description":"","group":"","extraInformation":[],"hidden":false,"name":"OffsetX"},{"value":"0","type":"Number","label":"Pixel grid offset Y","description":"","group":"","extraInformation":[],"hidden":false,"name":"OffsetY"}],"sharedPropertyDescriptors":[]},{"description":"Seamlessly align big pixels using a platformer character movement.","fullName":"Pixel perfect platformer character","name":"PixelPerfectPlatformerCharacter","objectType":"","eventsFunctions":[{"fullName":"","functionType":"Action","name":"doStepPreEvents","sentence":"","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"X axis","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"We don't know if the deceleration was already applied or not this step, but if the speed drifted from more than 1%, another extension is probably modifying the speed and it must not be overridden."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::PropertyIsDecelerating"},"parameters":["Object","Behavior"]},{"type":{"value":"BuiltinCommonInstructions::CompareNumbers"},"parameters":["abs(Object.PlatformerCharacter::CurrentSpeed() - Object.Behavior::PropertyPreviousSpeedX())","<","Object.PlatformerCharacter::CurrentSpeed() * 0.01 + Object.PlatformerCharacter::Deceleration() * TimeDelta()"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Find how far to go to reach a pixel."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PlatformBehavior::CurrentSpeed"},"parameters":["Object","PlatformerCharacter",">","0"]}],"actions":[{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyTargetX"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyOffsetX() + Object.Behavior::PropertyPixelSize() * ceil((Object.X() + PixelPerfectMovement::BrakingDistance(Object.PlatformerCharacter::CurrentSpeed(), Object.PlatformerCharacter::Deceleration()) - Object.Behavior::PropertyOffsetX()) / Object.Behavior::PropertyPixelSize())"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyTargetDirectionX"},"parameters":["Object","Behavior","=","1"]}],"events":[{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Target: \" + ToString(Object.X()) + \"-->\" + ToString(Object.Behavior::PropertyTargetX())","",""]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PlatformBehavior::CurrentSpeed"},"parameters":["Object","PlatformerCharacter","<","0"]}],"actions":[{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyTargetX"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyOffsetX() + Object.Behavior::PropertyPixelSize() * floor((Object.X() - PixelPerfectMovement::BrakingDistance(Object.PlatformerCharacter::CurrentSpeed(), Object.PlatformerCharacter::Deceleration()) - Object.Behavior::PropertyOffsetX()) / Object.Behavior::PropertyPixelSize())"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyTargetDirectionX"},"parameters":["Object","Behavior","=","-1"]}],"events":[{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Target: \" + ToString(Object.X()) + \"-->\" + ToString(Object.Behavior::PropertyTargetX())","",""]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Move to the target as the movement behavior would do."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PosX"},"parameters":["Object","<","Object.Behavior::PropertyTargetX()"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::PropertyTargetDirectionX"},"parameters":["Object","Behavior","=","1"]}],"actions":[{"type":{"value":"PlatformBehavior::PlatformerObjectBehavior::SetCurrentSpeed"},"parameters":["Object","PlatformerCharacter","=","min(Object.PlatformerCharacter:: CurrentSpeed() + Object.PlatformerCharacter::Acceleration(), min(Object.PlatformerCharacter::MaxSpeed(), PixelPerfectMovement::SpeedToReach(Object.Behavior::PropertyTargetX() - Object.X(), Object.PlatformerCharacter::Deceleration())))"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PosX"},"parameters":["Object",">","Object.Behavior::PropertyTargetX()"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::PropertyTargetDirectionX"},"parameters":["Object","Behavior","=","-1"]}],"actions":[{"type":{"value":"PlatformBehavior::PlatformerObjectBehavior::SetCurrentSpeed"},"parameters":["Object","PlatformerCharacter","=","max(Object.PlatformerCharacter:: CurrentSpeed() - Object.PlatformerCharacter::Acceleration(), max(-Object.PlatformerCharacter::MaxSpeed(), PixelPerfectMovement::SpeedToReach(Object.Behavior::PropertyTargetX() - Object.X(), Object.PlatformerCharacter::Deceleration())))"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"BuiltinCommonInstructions::And"},"parameters":[],"subInstructions":[{"type":{"value":"PosX"},"parameters":["Object",">=","Object.Behavior::PropertyTargetX()"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::PropertyTargetDirectionX"},"parameters":["Object","Behavior","=","1"]}]},{"type":{"value":"BuiltinCommonInstructions::And"},"parameters":[],"subInstructions":[{"type":{"value":"PosX"},"parameters":["Object","<=","Object.Behavior::PropertyTargetX()"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::PropertyTargetDirectionX"},"parameters":["Object","Behavior","=","-1"]}]}]}],"actions":[{"type":{"value":"MettreX"},"parameters":["Object","=","Object.Behavior::PropertyOffsetX() + Object.Behavior::PropertyPixelSize() * round((Object.X() - Object.Behavior::PropertyOffsetX()) / Object.Behavior::PropertyPixelSize())"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyTargetDirectionX"},"parameters":["Object","Behavior","=","0"]},{"type":{"value":"PlatformBehavior::PlatformerObjectBehavior::SetCurrentSpeed"},"parameters":["Object","PlatformerCharacter","=","0"]}],"events":[{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"X: \" + ToString(Object.X()) + \" Speed: \" + ToString(Object.PlatformerCharacter::CurrentSpeed())","",""]}]}]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Ladder","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PlatformBehavior::IsOnLadder"},"parameters":["Object","PlatformerCharacter"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Find how far to go to reach a pixel."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"},"parameters":["Object","PlatformerCharacter","\"Down\""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"},"parameters":["Object","PlatformerCharacter","\"Up\""]}],"actions":[{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyTargetY"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyOffsetY() + Object.Behavior::PropertyPixelSize() * ceil((Object.Y() - Object.Behavior::PropertyOffsetY()) / Object.Behavior::PropertyPixelSize())"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyTargetDirectionY"},"parameters":["Object","Behavior","=","1"]}],"events":[{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Target: \" + ToString(Object.Y()) + \"-->\" + ToString(Object.Behavior::PropertyTargetY())","",""]}]}]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"},"parameters":["Object","PlatformerCharacter","\"Up\""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"},"parameters":["Object","PlatformerCharacter","\"Down\""]}],"actions":[{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyTargetY"},"parameters":["Object","Behavior","=","Object.Behavior::PropertyOffsetY() + Object.Behavior::PropertyPixelSize() * floor((Object.Y() - Object.Behavior::PropertyOffsetY()) / Object.Behavior::PropertyPixelSize())"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyTargetDirectionY"},"parameters":["Object","Behavior","=","-1"]}],"events":[{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"Target: \" + ToString(Object.Y()) + \"-->\" + ToString(Object.Behavior::PropertyTargetY())","",""]}]}]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Move to the target as the movement behavior would do."},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"},"parameters":["Object","PlatformerCharacter","\"Up\""]},{"type":{"inverted":true,"value":"PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"},"parameters":["Object","PlatformerCharacter","\"Down\""]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PosY"},"parameters":["Object","<","Object.Behavior::PropertyTargetY()"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::PropertyTargetDirectionY"},"parameters":["Object","Behavior","=","1"]}],"actions":[{"type":{"value":"MettreY"},"parameters":["Object","+","Object.PlatformerCharacter::MaxSpeed() * TimeDelta()"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"PosY"},"parameters":["Object",">","Object.Behavior::PropertyTargetY()"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::PropertyTargetDirectionY"},"parameters":["Object","Behavior","=","-1"]}],"actions":[{"type":{"value":"MettreY"},"parameters":["Object","-","Object.PlatformerCharacter::MaxSpeed() * TimeDelta()"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"BuiltinCommonInstructions::And"},"parameters":[],"subInstructions":[{"type":{"value":"PosY"},"parameters":["Object",">=","Object.Behavior::PropertyTargetY()"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::PropertyTargetDirectionY"},"parameters":["Object","Behavior","=","1"]}]},{"type":{"value":"BuiltinCommonInstructions::And"},"parameters":[],"subInstructions":[{"type":{"value":"PosY"},"parameters":["Object","<=","Object.Behavior::PropertyTargetY()"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::PropertyTargetDirectionY"},"parameters":["Object","Behavior","=","-1"]}]}]}],"actions":[{"type":{"value":"MettreY"},"parameters":["Object","=","Object.Behavior::PropertyOffsetY() + Object.Behavior::PropertyPixelSize() * round((Object.Y() - Object.Behavior::PropertyOffsetY()) / Object.Behavior::PropertyPixelSize())"]},{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyTargetDirectionY"},"parameters":["Object","Behavior","=","0"]}]},{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["\"X: \" + ToString(Object.X()) + \" Speed: \" + ToString(Object.PlatformerCharacter::CurrentSpeed())","",""]}]}]}]}],"parameters":[]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PixelPerfectMovement::PixelPerfectPlatformerCharacter","type":"behavior"}],"objectGroups":[]},{"fullName":"","functionType":"Action","name":"doStepPostEvents","sentence":"","events":[{"disabled":true,"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::CompareNumbers"},"parameters":["abs(Object.PlatformerCharacter::CurrentSpeed())","!=","0"]},{"type":{"value":"BuiltinCommonInstructions::CompareNumbers"},"parameters":["abs(Object.PlatformerCharacter::CurrentSpeed())","!=","Object.PlatformerCharacter::MaxSpeed()"]}],"actions":[{"type":{"value":"DebuggerTools::ConsoleLog"},"parameters":["ToString(abs(Object.Behavior::PropertyPreviousSpeedX()) - Object.PlatformerCharacter::Deceleration() * TimeDelta() - abs(Object.PlatformerCharacter::CurrentSpeed()))","",""]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Check if the character is decelerating.\nIt's done in doStepPostEvent because there is no way to know if the doStepPreEvents of this behavior is executed before or after the one of PlatformerCharcter.\nAs TimeDelta is used, we have to be sure the last PlatformerCharcter.doStepPreEvents call used the same TimeDelta. Which means this must be done after PlatformerCharcter.doStepPreEvents."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyIsDecelerating"},"parameters":["Object","Behavior","no"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"PlatformBehavior::CurrentSpeed"},"parameters":["Object","PlatformerCharacter","=","0"]},{"type":{"value":"BuiltinCommonInstructions::CompareNumbers"},"parameters":["abs(Object.PlatformerCharacter::CurrentSpeed())","=","abs(Object.Behavior::PropertyPreviousSpeedX()) - Object.PlatformerCharacter::Deceleration() * TimeDelta()"]}]}],"actions":[{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyIsDecelerating"},"parameters":["Object","Behavior","yes"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save the speed to detect speed changes from outside."},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"PixelPerfectMovement::PixelPerfectPlatformerCharacter::SetPropertyPreviousSpeedX"},"parameters":["Object","Behavior","=","Object.PlatformerCharacter::CurrentSpeed()"]}]}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"PixelPerfectMovement::PixelPerfectPlatformerCharacter","type":"behavior"}],"objectGroups":[]}],"propertyDescriptors":[{"value":"","type":"Behavior","label":"Platformer character behavior","description":"","group":"","extraInformation":["PlatformBehavior::PlatformerObjectBehavior"],"hidden":false,"name":"PlatformerCharacter"},{"value":"1","type":"Number","label":"Pixel size","description":"","group":"","extraInformation":[],"hidden":false,"name":"PixelSize"},{"value":"0","type":"Number","label":"Pixel grid offset X","description":"","group":"","extraInformation":[],"hidden":false,"name":"OffsetX"},{"value":"0","type":"Number","label":"Pixel grid offset Y","description":"","group":"","extraInformation":[],"hidden":false,"name":"OffsetY"},{"value":"0","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"TargetX"},{"value":"0","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"TargetDirectionX"},{"value":"0","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"TargetY"},{"value":"0","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"TargetDirectionY"},{"value":"","type":"Number","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"PreviousSpeedX"},{"value":"","type":"Boolean","label":"","description":"","group":"","extraInformation":[],"hidden":true,"name":"IsDecelerating"}],"sharedPropertyDescriptors":[]}],"eventsBasedObjects":[]}],"externalLayouts":[],"externalSourceFiles":[]}