diff --git a/examples/absorbus/assets/audio/Downshifter - Slowdown (Space).aac b/examples/absorbus/assets/audio/Downshifter - Slowdown (Space).aac new file mode 100644 index 000000000..fe5cfb658 Binary files /dev/null and b/examples/absorbus/assets/audio/Downshifter - Slowdown (Space).aac differ diff --git a/examples/absorbus/assets/audio/Space Ambience.aac b/examples/absorbus/assets/audio/Space Ambience.aac new file mode 100644 index 000000000..5e6cc6ca9 Binary files /dev/null and b/examples/absorbus/assets/audio/Space Ambience.aac differ diff --git a/examples/absorbus/assets/audio/magic space.mp3 b/examples/absorbus/assets/audio/magic space.mp3 new file mode 100644 index 000000000..b64611e12 Binary files /dev/null and b/examples/absorbus/assets/audio/magic space.mp3 differ diff --git a/examples/absorbus/assets/images/Orb_01.png b/examples/absorbus/assets/images/Orb_01.png new file mode 100644 index 000000000..8372fe196 Binary files /dev/null and b/examples/absorbus/assets/images/Orb_01.png differ diff --git a/examples/absorbus/assets/images/Orb_02.png b/examples/absorbus/assets/images/Orb_02.png new file mode 100644 index 000000000..999566e02 Binary files /dev/null and b/examples/absorbus/assets/images/Orb_02.png differ diff --git a/examples/absorbus/assets/images/Orb_03.png b/examples/absorbus/assets/images/Orb_03.png new file mode 100644 index 000000000..d528ff89a Binary files /dev/null and b/examples/absorbus/assets/images/Orb_03.png differ diff --git a/examples/absorbus/assets/images/Orb_04.png b/examples/absorbus/assets/images/Orb_04.png new file mode 100644 index 000000000..13de43834 Binary files /dev/null and b/examples/absorbus/assets/images/Orb_04.png differ diff --git a/examples/absorbus/assets/images/Orb_05.png b/examples/absorbus/assets/images/Orb_05.png new file mode 100644 index 000000000..91ca6c1fc Binary files /dev/null and b/examples/absorbus/assets/images/Orb_05.png differ diff --git a/examples/absorbus/assets/images/Orb_06.png b/examples/absorbus/assets/images/Orb_06.png new file mode 100644 index 000000000..030aba5f6 Binary files /dev/null and b/examples/absorbus/assets/images/Orb_06.png differ diff --git a/examples/absorbus/assets/images/Orb_07.png b/examples/absorbus/assets/images/Orb_07.png new file mode 100644 index 000000000..deb7b6d19 Binary files /dev/null and b/examples/absorbus/assets/images/Orb_07.png differ diff --git a/examples/absorbus/assets/images/Orb_08.png b/examples/absorbus/assets/images/Orb_08.png new file mode 100644 index 000000000..5ac33496d Binary files /dev/null and b/examples/absorbus/assets/images/Orb_08.png differ diff --git a/examples/absorbus/assets/images/Orb_09.png b/examples/absorbus/assets/images/Orb_09.png new file mode 100644 index 000000000..369a739d5 Binary files /dev/null and b/examples/absorbus/assets/images/Orb_09.png differ diff --git a/examples/absorbus/assets/images/Orb_10.png b/examples/absorbus/assets/images/Orb_10.png new file mode 100644 index 000000000..cd4047b9b Binary files /dev/null and b/examples/absorbus/assets/images/Orb_10.png differ diff --git a/examples/absorbus/assets/images/Orb_11.png b/examples/absorbus/assets/images/Orb_11.png new file mode 100644 index 000000000..84f0c1ebe Binary files /dev/null and b/examples/absorbus/assets/images/Orb_11.png differ diff --git a/examples/absorbus/assets/images/Orb_12.png b/examples/absorbus/assets/images/Orb_12.png new file mode 100644 index 000000000..4391393d7 Binary files /dev/null and b/examples/absorbus/assets/images/Orb_12.png differ diff --git a/examples/absorbus/assets/images/Orb_13.png b/examples/absorbus/assets/images/Orb_13.png new file mode 100644 index 000000000..86aabcb6b Binary files /dev/null and b/examples/absorbus/assets/images/Orb_13.png differ diff --git a/examples/absorbus/assets/images/Orb_14.png b/examples/absorbus/assets/images/Orb_14.png new file mode 100644 index 000000000..0a16562e2 Binary files /dev/null and b/examples/absorbus/assets/images/Orb_14.png differ diff --git a/examples/absorbus/assets/images/Orb_15.png b/examples/absorbus/assets/images/Orb_15.png new file mode 100644 index 000000000..54131205d Binary files /dev/null and b/examples/absorbus/assets/images/Orb_15.png differ diff --git a/examples/absorbus/assets/images/Orb_16.png b/examples/absorbus/assets/images/Orb_16.png new file mode 100644 index 000000000..d59e7de6c Binary files /dev/null and b/examples/absorbus/assets/images/Orb_16.png differ diff --git a/examples/absorbus/assets/images/Orb_17.png b/examples/absorbus/assets/images/Orb_17.png new file mode 100644 index 000000000..fdc7114c3 Binary files /dev/null and b/examples/absorbus/assets/images/Orb_17.png differ diff --git a/examples/absorbus/assets/images/Orb_18.png b/examples/absorbus/assets/images/Orb_18.png new file mode 100644 index 000000000..368082ae2 Binary files /dev/null and b/examples/absorbus/assets/images/Orb_18.png differ diff --git a/examples/ball-cup-boom/README.md b/examples/ball-cup-boom/README.md new file mode 100644 index 000000000..68e6fe9e6 --- /dev/null +++ b/examples/ball-cup-boom/README.md @@ -0,0 +1,4 @@ +Sort 4 balls of the same color into a cup to make it explode. +Complete all 10 levels to complete the game and climb the leaderboards! + +This game was inspired by "Sort It 3D" and is a game template for GDevelop, a no-code, open-source, free, and easy game-making app. \ No newline at end of file diff --git a/examples/ball-cup-boom/android-icon-144.png b/examples/ball-cup-boom/android-icon-144.png new file mode 100644 index 000000000..26baf071b Binary files /dev/null and b/examples/ball-cup-boom/android-icon-144.png differ diff --git a/examples/ball-cup-boom/android-icon-192.png b/examples/ball-cup-boom/android-icon-192.png new file mode 100644 index 000000000..d1add4f0f Binary files /dev/null and b/examples/ball-cup-boom/android-icon-192.png differ diff --git a/examples/ball-cup-boom/android-icon-36.png b/examples/ball-cup-boom/android-icon-36.png new file mode 100644 index 000000000..166b81d63 Binary files /dev/null and b/examples/ball-cup-boom/android-icon-36.png differ diff --git a/examples/ball-cup-boom/android-icon-48.png b/examples/ball-cup-boom/android-icon-48.png new file mode 100644 index 000000000..5487b1b6a Binary files /dev/null and b/examples/ball-cup-boom/android-icon-48.png differ diff --git a/examples/ball-cup-boom/android-icon-72.png b/examples/ball-cup-boom/android-icon-72.png new file mode 100644 index 000000000..ee51c0535 Binary files /dev/null and b/examples/ball-cup-boom/android-icon-72.png differ diff --git a/examples/ball-cup-boom/android-icon-96.png b/examples/ball-cup-boom/android-icon-96.png new file mode 100644 index 000000000..c17574366 Binary files /dev/null and b/examples/ball-cup-boom/android-icon-96.png differ diff --git a/examples/ball-cup-boom/assets/PartyConfettiRegular-eZOn3.ttf b/examples/ball-cup-boom/assets/PartyConfettiRegular-eZOn3.ttf new file mode 100644 index 000000000..42fe0719b Binary files /dev/null and b/examples/ball-cup-boom/assets/PartyConfettiRegular-eZOn3.ttf differ diff --git a/examples/ball-cup-boom/assets/audio/Generdyn - 13.aac b/examples/ball-cup-boom/assets/audio/Generdyn - 13.aac new file mode 100644 index 000000000..2c63e91aa Binary files /dev/null and b/examples/ball-cup-boom/assets/audio/Generdyn - 13.aac differ diff --git a/examples/ball-cup-boom/assets/audio/Nikolay Overchenko - Whoosh, cartoon, whirring 2.aac b/examples/ball-cup-boom/assets/audio/Nikolay Overchenko - Whoosh, cartoon, whirring 2.aac new file mode 100644 index 000000000..16ff97c3d Binary files /dev/null and b/examples/ball-cup-boom/assets/audio/Nikolay Overchenko - Whoosh, cartoon, whirring 2.aac differ diff --git a/examples/ball-cup-boom/assets/audio/audience_cheers_13.aac b/examples/ball-cup-boom/assets/audio/audience_cheers_13.aac new file mode 100644 index 000000000..6ff3ab17a Binary files /dev/null and b/examples/ball-cup-boom/assets/audio/audience_cheers_13.aac differ diff --git a/examples/ball-cup-boom/assets/audio/audio - AlexBouncyMaster.aac b/examples/ball-cup-boom/assets/audio/audio - AlexBouncyMaster.aac new file mode 100644 index 000000000..07da472b1 Binary files /dev/null and b/examples/ball-cup-boom/assets/audio/audio - AlexBouncyMaster.aac differ diff --git a/examples/ball-cup-boom/assets/audio/audio - BLLTImpt Hit Marker 07.aac b/examples/ball-cup-boom/assets/audio/audio - BLLTImpt Hit Marker 07.aac new file mode 100644 index 000000000..23723bba2 Binary files /dev/null and b/examples/ball-cup-boom/assets/audio/audio - BLLTImpt Hit Marker 07.aac differ diff --git a/examples/ball-cup-boom/assets/audio/audio - Glass,Bottle,Break,Smash,Messy.aac b/examples/ball-cup-boom/assets/audio/audio - Glass,Bottle,Break,Smash,Messy.aac new file mode 100644 index 000000000..2967ae8c6 Binary files /dev/null and b/examples/ball-cup-boom/assets/audio/audio - Glass,Bottle,Break,Smash,Messy.aac differ diff --git a/examples/ball-cup-boom/assets/audio/audio - Glass,Shards,Smash,Medium Impact,Lots of Large Shards.aac b/examples/ball-cup-boom/assets/audio/audio - Glass,Shards,Smash,Medium Impact,Lots of Large Shards.aac new file mode 100644 index 000000000..b6a98f007 Binary files /dev/null and b/examples/ball-cup-boom/assets/audio/audio - Glass,Shards,Smash,Medium Impact,Lots of Large Shards.aac differ diff --git a/examples/ball-cup-boom/assets/audio/audio - Hit Rock Debris RBD 02.aac b/examples/ball-cup-boom/assets/audio/audio - Hit Rock Debris RBD 02.aac new file mode 100644 index 000000000..f8f8dccc6 Binary files /dev/null and b/examples/ball-cup-boom/assets/audio/audio - Hit Rock Debris RBD 02.aac differ diff --git a/examples/ball-cup-boom/assets/audio/audio - Success 2a.aac b/examples/ball-cup-boom/assets/audio/audio - Success 2a.aac new file mode 100644 index 000000000..4213b221b Binary files /dev/null and b/examples/ball-cup-boom/assets/audio/audio - Success 2a.aac differ diff --git a/examples/ball-cup-boom/assets/images/166px-Zombie_Glass.svg.png b/examples/ball-cup-boom/assets/images/166px-Zombie_Glass.svg.png new file mode 100644 index 000000000..1c0078774 Binary files /dev/null and b/examples/ball-cup-boom/assets/images/166px-Zombie_Glass.svg.png differ diff --git a/examples/ball-cup-boom/assets/images/BlueSphere.png b/examples/ball-cup-boom/assets/images/BlueSphere.png new file mode 100644 index 000000000..1ddc1ce60 Binary files /dev/null and b/examples/ball-cup-boom/assets/images/BlueSphere.png differ diff --git a/examples/ball-cup-boom/assets/images/GDevelop G logo (black).png b/examples/ball-cup-boom/assets/images/GDevelop G logo (black).png new file mode 100644 index 000000000..ad28d2b11 Binary files /dev/null and b/examples/ball-cup-boom/assets/images/GDevelop G logo (black).png differ diff --git a/examples/ball-cup-boom/assets/images/GDevelop G logo (white).png b/examples/ball-cup-boom/assets/images/GDevelop G logo (white).png new file mode 100644 index 000000000..34d045e6f Binary files /dev/null and b/examples/ball-cup-boom/assets/images/GDevelop G logo (white).png differ diff --git a/examples/ball-cup-boom/assets/images/GreenSphere.png b/examples/ball-cup-boom/assets/images/GreenSphere.png new file mode 100644 index 000000000..9fcfd302d Binary files /dev/null and b/examples/ball-cup-boom/assets/images/GreenSphere.png differ diff --git a/examples/ball-cup-boom/assets/images/Grey Button.png b/examples/ball-cup-boom/assets/images/Grey Button.png new file mode 100644 index 000000000..418973ac5 Binary files /dev/null and b/examples/ball-cup-boom/assets/images/Grey Button.png differ diff --git a/examples/ball-cup-boom/assets/images/MagentaSphere.png b/examples/ball-cup-boom/assets/images/MagentaSphere.png new file mode 100644 index 000000000..ae70a50ef Binary files /dev/null and b/examples/ball-cup-boom/assets/images/MagentaSphere.png differ diff --git a/examples/ball-cup-boom/assets/images/Menu.png b/examples/ball-cup-boom/assets/images/Menu.png new file mode 100644 index 000000000..d6e0ee54a Binary files /dev/null and b/examples/ball-cup-boom/assets/images/Menu.png differ diff --git a/examples/ball-cup-boom/assets/images/PurpleSphere.png b/examples/ball-cup-boom/assets/images/PurpleSphere.png new file mode 100644 index 000000000..e92dd1951 Binary files /dev/null and b/examples/ball-cup-boom/assets/images/PurpleSphere.png differ diff --git a/examples/ball-cup-boom/assets/images/WhiteBall.png b/examples/ball-cup-boom/assets/images/WhiteBall.png new file mode 100644 index 000000000..b389ef334 Binary files /dev/null and b/examples/ball-cup-boom/assets/images/WhiteBall.png differ diff --git a/examples/ball-cup-boom/assets/images/World.png b/examples/ball-cup-boom/assets/images/World.png new file mode 100644 index 000000000..e1cae14a6 Binary files /dev/null and b/examples/ball-cup-boom/assets/images/World.png differ diff --git a/examples/ball-cup-boom/assets/images/YellowBall.png b/examples/ball-cup-boom/assets/images/YellowBall.png new file mode 100644 index 000000000..3904e7f6d Binary files /dev/null and b/examples/ball-cup-boom/assets/images/YellowBall.png differ diff --git a/examples/ball-cup-boom/assets/images/cloud (1).png b/examples/ball-cup-boom/assets/images/cloud (1).png new file mode 100644 index 000000000..1b882d0c2 Binary files /dev/null and b/examples/ball-cup-boom/assets/images/cloud (1).png differ diff --git a/examples/ball-cup-boom/assets/images/cloud (2).png b/examples/ball-cup-boom/assets/images/cloud (2).png new file mode 100644 index 000000000..9dd22faf8 Binary files /dev/null and b/examples/ball-cup-boom/assets/images/cloud (2).png differ diff --git a/examples/ball-cup-boom/assets/images/cloud (3).png b/examples/ball-cup-boom/assets/images/cloud (3).png new file mode 100644 index 000000000..b4e1006b9 Binary files /dev/null and b/examples/ball-cup-boom/assets/images/cloud (3).png differ diff --git a/examples/ball-cup-boom/assets/images/cloud (4).png b/examples/ball-cup-boom/assets/images/cloud (4).png new file mode 100644 index 000000000..d9df7e51b Binary files /dev/null and b/examples/ball-cup-boom/assets/images/cloud (4).png differ diff --git a/examples/ball-cup-boom/ball-cup-boom.json b/examples/ball-cup-boom/ball-cup-boom.json new file mode 100644 index 000000000..dfa5c2ffc --- /dev/null +++ b/examples/ball-cup-boom/ball-cup-boom.json @@ -0,0 +1,23631 @@ +{ + "firstLayout": "Title Screen", + "gdVersion": { + "build": 99, + "major": 4, + "minor": 0, + "revision": 0 + }, + "properties": { + "adaptGameResolutionAtRuntime": true, + "folderProject": false, + "orientation": "portrait", + "packageName": "com.example.BallCupBoom", + "pixelsRounding": false, + "projectUuid": "9ea9e8e4-b8f5-49fb-bd27-735f9d3884f0", + "scaleMode": "linear", + "sizeOnStartupMode": "", + "templateSlug": "", + "useExternalSourceFiles": false, + "version": "1.0.0", + "name": "Ball Cup Boom!", + "description": "Sort 4 balls of the same color into a cup to make it explode. \nComplete all 10 levels to complete the game and climb the leaderboards!\n\nThis game was inspired by \"Sort It 3D\" and is a game template for GDevelop, a no-code, open-source, free, and easy game-making app.", + "author": "GDevelop", + "windowWidth": 720, + "windowHeight": 1280, + "latestCompilationDirectory": "", + "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", + "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": "thumbnail.png" + }, + "loadingScreen": { + "backgroundColor": 0, + "backgroundFadeInDuration": 0.2, + "backgroundImageResourceName": "", + "gdevelopLogoStyle": "light", + "logoAndProgressFadeInDuration": 0.2, + "logoAndProgressLogoFadeInDelay": 0.2, + "minDuration": 1.5, + "progressBarColor": 16777215, + "progressBarHeight": 20, + "progressBarMaxWidth": 200, + "progressBarMinWidth": 40, + "progressBarWidthPercent": 30, + "showGDevelopSplash": true, + "showProgressBar": true + }, + "authorIds": [ + "gqDaZjCfevOOxBYkK6zlhtZnXCg1", + "R0F5QGNCzgOY5w2cxGeKJOq2UaD2" + ], + "categories": [ + "puzzle" + ], + "playableDevices": [ + "keyboard", + "mobile" + ], + "extensionProperties": [], + "platforms": [ + { + "name": "GDevelop JS platform" + } + ], + "currentPlatform": "GDevelop JS platform" + }, + "resources": { + "resources": [ + { + "alwaysLoaded": false, + "file": "assets/images/WhiteBall.png", + "kind": "image", + "metadata": "", + "name": "WhiteBall.png", + "smoothed": true, + "userAdded": false + }, + { + "alwaysLoaded": false, + "file": "assets/images/PurpleSphere.png", + "kind": "image", + "metadata": "", + "name": "PurpleSphere.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/images/BlueSphere.png", + "kind": "image", + "metadata": "", + "name": "BlueSphere.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/images/MagentaSphere.png", + "kind": "image", + "metadata": "", + "name": "MagentaSphere.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/images/GreenSphere.png", + "kind": "image", + "metadata": "", + "name": "GreenSphere.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/images/166px-Zombie_Glass.svg.png", + "kind": "image", + "metadata": "", + "name": "166px-Zombie_Glass.svg.png", + "smoothed": true, + "userAdded": true + }, + { + "file": "assets/audio/Nikolay Overchenko - Whoosh, cartoon, whirring 2.aac", + "kind": "audio", + "metadata": "", + "name": "assets\\audio\\Nikolay Overchenko - Whoosh, cartoon, whirring 2.aac", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": true + }, + { + "file": "assets/audio/audio - BLLTImpt Hit Marker 07.aac", + "kind": "audio", + "metadata": "", + "name": "assets\\audio\\audio - BLLTImpt Hit Marker 07.aac", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": true + }, + { + "file": "assets/audio/Generdyn - 13.aac", + "kind": "audio", + "metadata": "", + "name": "assets\\audio\\Generdyn - 13.aac", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": true + }, + { + "file": "assets/audio/audio - Hit Rock Debris RBD 02.aac", + "kind": "audio", + "metadata": "", + "name": "assets\\audio\\audio - Hit Rock Debris RBD 02.aac", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": true + }, + { + "file": "assets/audio/audio - Glass,Bottle,Break,Smash,Messy.aac", + "kind": "audio", + "metadata": "", + "name": "assets\\audio\\audio - Glass,Bottle,Break,Smash,Messy.aac", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/images/GDevelop G logo (white).png", + "kind": "image", + "metadata": "", + "name": "GDevelop G logo (white).png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/GDevelop/GDevelop G logo (white).png", + "name": "gdevelop-asset-store" + } + }, + { + "file": "assets/audio/audio - Glass,Shards,Smash,Medium Impact,Lots of Large Shards.aac", + "kind": "audio", + "metadata": "", + "name": "assets\\audio\\audio - Glass,Shards,Smash,Medium Impact,Lots of Large Shards.aac", + "preloadAsMusic": false, + "preloadAsSound": false, + "preloadInCache": false, + "userAdded": true + }, + { + "file": "assets/PartyConfettiRegular-eZOn3.ttf", + "kind": "font", + "metadata": "", + "name": "PartyConfettiRegular-eZOn3.ttf", + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/images/Grey Button.png", + "kind": "image", + "metadata": "", + "name": "Grey Button.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Rolling Ball Pack/Interface/Grey Button.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/images/cloud (1).png", + "kind": "image", + "metadata": "", + "name": "cloud (1).png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Generic Backgrounds/Background Objects/Retina/cloud (1).png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/images/cloud (2).png", + "kind": "image", + "metadata": "", + "name": "cloud (2).png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Generic Backgrounds/Background Objects/Retina/cloud (2).png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/images/cloud (3).png", + "kind": "image", + "metadata": "", + "name": "cloud (3).png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Generic Backgrounds/Background Objects/Retina/cloud (3).png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/images/cloud (4).png", + "kind": "image", + "metadata": "", + "name": "cloud (4).png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Generic Backgrounds/Background Objects/Retina/cloud (4).png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/images/World.png", + "kind": "image", + "metadata": "", + "name": "World.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Interface/Casual Buttons Pack/World.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "thumbnail.png", + "kind": "image", + "metadata": "", + "name": "thumbnail.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "desktop-icon-512.png", + "kind": "image", + "metadata": "", + "name": "desktop-icon-512.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "android-icon-192.png", + "kind": "image", + "metadata": "", + "name": "android-icon-192.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "android-icon-144.png", + "kind": "image", + "metadata": "", + "name": "android-icon-144.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "android-icon-96.png", + "kind": "image", + "metadata": "", + "name": "android-icon-96.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "android-icon-72.png", + "kind": "image", + "metadata": "", + "name": "android-icon-72.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "android-icon-48.png", + "kind": "image", + "metadata": "", + "name": "android-icon-48.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "android-icon-36.png", + "kind": "image", + "metadata": "", + "name": "android-icon-36.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-1024.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-1024.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-180.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-180.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-167.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-167.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-152.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-152.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-144.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-144.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-120.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-120.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-114.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-114.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-100.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-100.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-87.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-87.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-80.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-80.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-76.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-76.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-72.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-72.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-60.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-60.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-58.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-58.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-57.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-57.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-50.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-50.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-40.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-40.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-29.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-29.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "ios-icon-20.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-20.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/images/Menu.png", + "kind": "image", + "metadata": "", + "name": "Menu.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Interface/Casual Buttons Pack/Menu.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/images/YellowBall.png", + "kind": "image", + "metadata": "", + "name": "assets\\images\\YellowBall.png", + "smoothed": true, + "userAdded": false + }, + { + "alwaysLoaded": false, + "file": "assets/images/GDevelop G logo (black).png", + "kind": "image", + "metadata": "", + "name": "GDevelop G logo (black).png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/GDevelop/GDevelop G logo (black).png", + "name": "gdevelop-asset-store" + } + }, + { + "file": "assets/audio/audience_cheers_13.aac", + "kind": "audio", + "metadata": "", + "name": "audience_cheers_13.aac", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": false + }, + { + "file": "assets/audio/audio - AlexBouncyMaster.aac", + "kind": "audio", + "metadata": "", + "name": "assets\\audio\\audio - AlexBouncyMaster.aac", + "preloadAsMusic": true, + "preloadAsSound": false, + "preloadInCache": false, + "userAdded": true + }, + { + "file": "assets/audio/audio - Success 2a.aac", + "kind": "audio", + "metadata": "", + "name": "assets\\audio\\audio - Success 2a.aac", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/images/BlueSphere.png", + "kind": "image", + "metadata": "", + "name": "assets\\images\\BlueSphere.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/images/MagentaSphere.png", + "kind": "image", + "metadata": "", + "name": "assets\\images\\MagentaSphere.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/images/PurpleSphere.png", + "kind": "image", + "metadata": "", + "name": "assets\\images\\PurpleSphere.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/images/GreenSphere.png", + "kind": "image", + "metadata": "", + "name": "assets\\images\\GreenSphere.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/images/WhiteBall.png", + "kind": "image", + "metadata": "", + "name": "assets\\images\\WhiteBall.png", + "smoothed": true, + "userAdded": false + } + ], + "resourceFolders": [] + }, + "objects": [ + { + "assetStoreId": "", + "name": "Ball_1", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "animations": [ + { + "name": "White", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.07999999821186066, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "WhiteBall.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 32, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Blue", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\images\\BlueSphere.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Magenta", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\images\\MagentaSphere.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Purple", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\images\\PurpleSphere.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Yello", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\images\\YellowBall.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Green", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\images\\GreenSphere.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "name": "Ball_2", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "animations": [ + { + "name": "NewSprite", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.07999999821186066, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "PurpleSphere.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 32, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "name": "Ball_3", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "animations": [ + { + "name": "NewSprite", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.07999999821186066, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "BlueSphere.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 32, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "name": "Ball_4", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "animations": [ + { + "name": "NewSprite", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.07999999821186066, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "MagentaSphere.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 32, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "name": "Ball_5", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "animations": [ + { + "name": "NewSprite", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.07999999821186066, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "GreenSphere.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 32, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "name": "Ball_6", + "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\\images\\YellowBall.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 32, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "additive": false, + "assetStoreId": "", + "destroyWhenNoParticles": true, + "emitterAngleA": 0, + "emitterAngleB": 360, + "emitterForceMax": 800, + "emitterForceMin": 600, + "flow": 1000, + "maxParticleNb": 300, + "name": "GlassBreaking_Particles", + "particleAlpha1": 200, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": -400, + "particleAngle2": 400, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 255, + "particleBlue2": 255, + "particleGravityX": 0, + "particleGravityY": 1000, + "particleGreen1": 255, + "particleGreen2": 255, + "particleLifeTimeMax": 0.6000000238418579, + "particleLifeTimeMin": 0.30000001192092896, + "particleRed1": 255, + "particleRed2": 255, + "particleSize1": 100, + "particleSize2": 100, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "rendererParam1": 20, + "rendererParam2": 30, + "rendererType": "Line", + "tags": "", + "tank": 20, + "textureParticleName": "", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 32, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "assetStoreId": "", + "name": "Cup", + "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": "166px-Zombie_Glass.svg.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 80, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "name": "CupFront", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 5, + "thickness": 5 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [ + { + "name": "Sticker", + "type": "Sticker::Sticker", + "OnlyFollowPosition": false + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "166px-Zombie_Glass.svg.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 80, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "6e0bb6ed3d9b15390d252ea815ed2e0a3bc72036cb7efc1efcc7d72f3c7610f4", + "name": "GdevelopGLogoWhite", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 5, + "thickness": 5 + }, + "stringParameters": { + "color": "74;144;226" + }, + "booleanParameters": {} + } + ], + "behaviors": [ + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "GDevelop G logo (white).png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "16fb26e0b01ab4da29d5c7b6b637c07c012f51eb329f669dadc4eb4830911a5c", + "name": "Cloud1", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap", + "HorizontalWrapping": true, + "VerticalWrapping": false, + "BorderTop": 0, + "BorderLeft": 0, + "BorderRight": 0, + "BorderBottom": 0, + "TriggerOffset": 300 + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "cloud (1).png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "fcd8fcef73ef78bad57050880ece3ebe3ac0c0923c2740ecc01eb605598f084d", + "name": "Cloud2", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap", + "HorizontalWrapping": true, + "VerticalWrapping": true, + "BorderTop": 0, + "BorderLeft": 0, + "BorderRight": 0, + "BorderBottom": 0, + "TriggerOffset": 300 + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "cloud (2).png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "73ef526142f554560f6b4c2a6e23461ece1d6f797dc74aa3b1b52017ef84685c", + "name": "Cloud3", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap", + "HorizontalWrapping": true, + "VerticalWrapping": false, + "BorderTop": 0, + "BorderLeft": 0, + "BorderRight": 0, + "BorderBottom": 0, + "TriggerOffset": 300 + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "cloud (3).png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "88f8083115d66477d8e0901363f3b32f8b5e7131bd254f3e999c15e037b947b5", + "name": "Cloud4", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap", + "HorizontalWrapping": true, + "VerticalWrapping": false, + "BorderTop": 0, + "BorderLeft": 0, + "BorderRight": 0, + "BorderBottom": 0, + "TriggerOffset": 300 + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "cloud (4).png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "EditInGDevelop_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "string": " Edit in \nGDevelop", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 30, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "4283cd912472536d81de38a4ca8fa96a297a652c53bab71b9f974f9e7fecc251", + "name": "GreyButton", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 6, + "thickness": 6 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Grey Button.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "CurrentLevel_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 6, + "thickness": 6 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 0, + "leftEdgeAnchor": 0, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 0, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "string": "00", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 100, + "color": { + "b": 181, + "g": 91, + "r": 241 + } + }, + { + "assetStoreId": "903d374b9fd0edfd9e9b0bca311799884c7b24b350b18b5897b1caab8e008bec", + "name": "Menu", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 6, + "thickness": 6 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Menu.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "GameState_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "GameState: Idle", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "MovesMade_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Moves:", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 45, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "TimeSpent_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Time:", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 45, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BallsInCup_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "-10", + "font": "", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Play_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 6, + "thickness": 6 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "string": "Play ", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 100, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "be6522ef199ea6efc7977166ae2d77ca171b433e22e65c066336773a0f905495", + "name": "Leaderboard", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 6, + "thickness": 6 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "World.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "MainMenu_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 3, + "thickness": 3 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "string": "Main Menu", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 50, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "ResetProgress_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 3, + "thickness": 3 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "string": "Reset", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 50, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "StartOver_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 4, + "thickness": 4 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "string": "Start Over", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 60, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Submit_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 3, + "thickness": 3 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "string": "Submit Score", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 60, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + } + ], + "objectsGroups": [ + { + "name": "Balls", + "objects": [ + { + "name": "Ball_1" + }, + { + "name": "Ball_2" + }, + { + "name": "Ball_4" + }, + { + "name": "Ball_3" + }, + { + "name": "Ball_5" + }, + { + "name": "Ball_6" + } + ] + }, + { + "name": "Buttons", + "objects": [ + { + "name": "GreyButton" + }, + { + "name": "Leaderboard" + }, + { + "name": "GdevelopGLogoWhite" + }, + { + "name": "Menu" + } + ] + }, + { + "name": "Clouds", + "objects": [ + { + "name": "Cloud1" + }, + { + "name": "Cloud2" + }, + { + "name": "Cloud3" + }, + { + "name": "Cloud4" + } + ] + }, + { + "name": "ButtonText", + "objects": [ + { + "name": "Play_Text" + }, + { + "name": "MainMenu_Text" + }, + { + "name": "ResetProgress_Text" + }, + { + "name": "StartOver_Text" + }, + { + "name": "Submit_Text" + } + ] + } + ], + "variables": [ + { + "folded": true, + "name": "CameraMoveDuration", + "type": "number", + "value": 1.5 + } + ], + "layouts": [ + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "Title_32Screen", + "name": "Title Screen", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": true, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": true, + "zoomFactor": 0.47999999999999954, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "Ball_Text", + "persistentUuid": "9276f533-bc41-4a48-b8ba-8e9d5d7ede1a", + "width": 0, + "x": 64, + "y": 352, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "Cup_Text", + "persistentUuid": "8c05937a-f6dc-4747-9241-d238e36ce81d", + "width": 0, + "x": 448, + "y": 352, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "Boom_Text", + "persistentUuid": "56e87c53-edfb-465c-a115-0268e6fc3c40", + "width": 0, + "x": 160, + "y": 480, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 68, + "layer": "UI", + "locked": false, + "name": "GdevelopGLogoWhite", + "persistentUuid": "c1787273-7506-479a-9ab6-447dda94a0fc", + "width": 80, + "x": 96, + "y": 1152, + "zOrder": 5, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "EditInGDevelop_Text", + "persistentUuid": "06d4d59a-252d-4d6d-bfe8-0a161c6a08d5", + "width": 0, + "x": 192, + "y": 1276, + "zOrder": 6, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "ViewLeaderboards_Text", + "persistentUuid": "e5ef3c62-fac8-496c-987d-7d99cf8f192d", + "width": 0, + "x": 368, + "y": 1280, + "zOrder": 9, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 210, + "layer": "Clouds", + "locked": false, + "name": "Cloud1", + "persistentUuid": "c113942e-89cb-41bd-b80b-b4afd6b2eef4", + "width": 406, + "x": -32, + "y": 416, + "zOrder": 12, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 256, + "layer": "Clouds", + "locked": false, + "name": "Cloud3", + "persistentUuid": "4e77093b-5fed-49f3-90d3-6ac696731fc6", + "width": 432, + "x": -272, + "y": 960, + "zOrder": 13, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 260, + "layer": "Clouds", + "locked": false, + "name": "Cloud4", + "persistentUuid": "eebdd27b-169c-4f2a-8aae-4ed4ba4d3471", + "width": 500, + "x": 460, + "y": 64, + "zOrder": 14, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 248, + "layer": "Clouds", + "locked": false, + "name": "Cloud2", + "persistentUuid": "55058990-d4d6-46df-8735-2197c0b0a759", + "width": 392, + "x": 576, + "y": 648, + "zOrder": 15, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 80, + "layer": "UI", + "locked": false, + "name": "Leaderboard", + "persistentUuid": "d7d029e0-9e45-44c9-9d02-1bf0d81826f0", + "width": 80, + "x": 560, + "y": 1152, + "zOrder": 16, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 101, + "layer": "UI", + "locked": false, + "name": "Play_Text", + "persistentUuid": "7ff10ccb-f862-45a3-828b-70a0055ce5c5", + "width": 224, + "x": 287.132080078125, + "y": 832, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 128, + "layer": "UI", + "locked": false, + "name": "GreyButton", + "persistentUuid": "6480035a-99c2-43a0-a08d-cd44d7705954", + "width": 309.132080078125, + "x": 224, + "y": 832, + "zOrder": 11, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Ball_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Ball", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 150, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "ViewLeaderboards_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "string": " View\nLeaderboards", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 30, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Cup_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Cup", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 150, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Boom_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Boom", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 200, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + } + ], + "events": [ + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Initialize game", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PlayMusicCanal" + }, + "parameters": [ + "", + "assets\\audio\\audio - AlexBouncyMaster.aac", + "1", + "yes", + "50", + "1" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Clouds", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Clouds", + "180", + "RandomInRange(5,10)", + "1" + ] + }, + { + "type": { + "value": "Opacity" + }, + "parameters": [ + "Clouds", + "=", + "RandomInRange(128,196)" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Initialize variables", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Read previous saved level", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "LireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"CurrentLevel\"", + "", + "CurrentLevel" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "If no saved level, just start at 1", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarScene" + }, + "parameters": [ + "CurrentLevel", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "CurrentLevel", + "=", + "1" + ] + } + ] + }, + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"Initializing\"" + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Cup animation", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "GameState: \"SlideCupIn\"", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"SlideCupIn\"" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Cup", + "CameraBorderLeft() - 64", + "0.35 * CameraCenterY()", + "\"\"" + ] + }, + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "CupFront", + "Cup.X()", + "Cup.Y()", + "\"FrontCups\"" + ] + }, + { + "type": { + "value": "EnableEffect" + }, + "parameters": [ + "CupFront", + "\"Effect\"", + "no" + ] + }, + { + "type": { + "value": "Opacity" + }, + "parameters": [ + "Cup", + "=", + "128" + ] + }, + { + "type": { + "value": "Opacity" + }, + "parameters": [ + "CupFront", + "=", + "64" + ] + }, + { + "type": { + "value": "Sticker::Sticker::Stick" + }, + "parameters": [ + "CupFront", + "Sticker", + "Cup", + "" + ] + }, + { + "type": { + "value": "Tween::AddObjectPositionXTween" + }, + "parameters": [ + "Cup", + "Tween", + "\"SlideCupIn\"", + "CameraCenterX() + 30", + "\"easeOutQuad\"", + "1000", + "" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "1.0" + ] + }, + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"DropBalls\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "GameState: \"DropBalls\"", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"DropBalls\"" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,4))", + "Cup.CenterX()", + "CameraBorderTop() - 32", + "\"Balls\"" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PickNearest" + }, + "parameters": [ + "Balls", + "Cup.CenterX()", + "CameraBorderTop(\"\")", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\Nikolay Overchenko - Whoosh, cartoon, whirring 2.aac", + "", + "20", + "RandomFloatInRange(1.5,1.7)" + ] + }, + { + "type": { + "value": "Tween::AddObjectPositionYTween" + }, + "parameters": [ + "Balls", + "Tween", + "\"DropBall\"", + "Cup.Y() + Balls.Height() * 3", + "\"easeOutSine\"", + "500", + "" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.5" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\audio - BLLTImpt Hit Marker 07.aac", + "", + "30", + "RandomFloatInRange(0.9,1.1)" + ] + }, + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,4))", + "Cup.CenterX()", + "CameraBorderTop() - 32", + "\"Balls\"" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PickNearest" + }, + "parameters": [ + "Balls", + "Cup.CenterX()", + "CameraBorderTop(\"\")", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectPositionYTween" + }, + "parameters": [ + "Balls", + "Tween", + "\"DropBall\"", + "Cup.Y() + Balls.Height() * 2", + "\"easeOutSine\"", + "500", + "" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.5" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\audio - BLLTImpt Hit Marker 07.aac", + "", + "30", + "RandomFloatInRange(0.9,1.1)" + ] + }, + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,4))", + "Cup.CenterX()", + "CameraBorderTop() - 32", + "\"Balls\"" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PickNearest" + }, + "parameters": [ + "Balls", + "Cup.CenterX()", + "CameraBorderTop(\"\")", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectPositionYTween" + }, + "parameters": [ + "Balls", + "Tween", + "\"DropBall\"", + "Cup.Y() + Balls.Height() * 1", + "\"easeOutSine\"", + "500", + "" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.5" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\audio - BLLTImpt Hit Marker 07.aac", + "", + "30", + "RandomFloatInRange(0.9,1.1)" + ] + }, + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,4))", + "Cup.CenterX()", + "CameraBorderTop() - 32", + "\"Balls\"" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PickNearest" + }, + "parameters": [ + "Balls", + "Cup.CenterX()", + "CameraBorderTop(\"\")", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectPositionYTween" + }, + "parameters": [ + "Balls", + "Tween", + "\"DropBall\"", + "Cup.Y()", + "\"easeOutSine\"", + "500", + "" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.5" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\audio - BLLTImpt Hit Marker 07.aac", + "", + "30", + "RandomFloatInRange(0.9,1.1)" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.5" + ] + }, + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"CheckForMatch\"" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "GameState: \"CheckForMatch\"", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"CheckForMatch\"" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Balls", + "Cup", + "", + "", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "No match, so slide cup away and start over", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PickedInstancesCount" + }, + "parameters": [ + "Ball_1", + "!=", + "4" + ] + }, + { + "type": { + "value": "PickedInstancesCount" + }, + "parameters": [ + "Ball_2", + "!=", + "4" + ] + }, + { + "type": { + "value": "PickedInstancesCount" + }, + "parameters": [ + "Ball_3", + "!=", + "4" + ] + }, + { + "type": { + "value": "PickedInstancesCount" + }, + "parameters": [ + "Ball_4", + "!=", + "4" + ] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectPositionXTween" + }, + "parameters": [ + "Balls", + "Tween", + "\"SlideOut\"", + "CameraBorderRight(\"\",0) + 64", + "\"easeInCubic\"", + "1000", + "yes" + ] + }, + { + "type": { + "value": "Tween::AddObjectPositionXTween" + }, + "parameters": [ + "Cup", + "Tween", + "\"SlideOut\"", + "CameraBorderRight(\"\",0) + 64", + "\"easeInCubic\"", + "1000", + "yes" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "1" + ] + }, + { + "type": { + "value": "Delete" + }, + "parameters": [ + "CupFront", + "" + ] + }, + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"SlideCupIn\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "If 4 of same object, explode cup", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "PickedInstancesCount" + }, + "parameters": [ + "Ball_1", + "=", + "4" + ] + }, + { + "type": { + "value": "PickedInstancesCount" + }, + "parameters": [ + "Ball_2", + "=", + "4" + ] + }, + { + "type": { + "value": "PickedInstancesCount" + }, + "parameters": [ + "Ball_3", + "=", + "4" + ] + }, + { + "type": { + "value": "PickedInstancesCount" + }, + "parameters": [ + "Ball_4", + "=", + "4" + ] + } + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ExplodeCup" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "1" + ] + }, + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"SlideCupIn\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "GameState: \"StartGame\"", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"StartGame\"" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectOpacityTween" + }, + "parameters": [ + "Balls", + "Tween", + "\"FadeOut\"", + "0", + "\"linear\"", + "500", + "yes" + ] + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Slide camera out of scene", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Tween::TweenCameraPosition" + }, + "parameters": [ + "", + "\"SlideCameraOut\"", + "CameraCenterX(\"\",0) + CameraWidth(\"\",0) + Clouds.Width()", + "CameraCenterY(\"\",0)", + "\"\"", + "GlobalVariable(CameraMoveDuration) * 1000", + "\"easeInBack\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "GlobalVariable(CameraMoveDuration)" + ] + }, + { + "type": { + "value": "EcrireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"CurrentLevel\"", + "Variable(CurrentLevel)" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Level \" + ToString(Variable(CurrentLevel))", + "" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Border balls animation", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Create balls and send them towards center", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "!=", + "\"0\"" + ] + }, + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "!=", + "\"StartGame\"" + ] + }, + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Balls", + "<", + "100" + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Left", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,6))", + "CameraBorderLeft()-32", + "RandomInRange(CameraBorderTop(),CameraBorderBottom())", + "\"Balls\"" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "Balls.AngleToPosition(CameraCenterX(),CameraCenterY())", + "300", + "1" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Balls", + "BorderAnimation", + "True" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Right", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,6))", + "CameraBorderRight()+32", + "RandomInRange(CameraBorderTop(),CameraBorderBottom())", + "\"Balls\"" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "Balls.AngleToPosition(CameraCenterX(),CameraCenterY())", + "300", + "1" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Balls", + "BorderAnimation", + "True" + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Pull balls down", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Balls", + "BorderAnimation", + "True" + ] + } + ], + "actions": [ + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "180 + Balls.AngleToPosition(CameraCenterX(),CameraCenterY())", + "10", + "1" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Delete balls that leave the screen", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "Balls", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "abs(Balls.CenterX() - GreyButton.CenterX())", + ">", + "CameraWidth()/2 + 64" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "Balls", + "" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "User interface", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Camera", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Slide camera in", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Start with camera off to the side", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetCameraCenterX" + }, + "parameters": [ + "", + "-", + "CameraWidth(\"\",0) + Cloud.Width()", + "\"\"", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Slide camera into view", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Tween::TweenCameraPosition" + }, + "parameters": [ + "", + "\"SlideCameraIn\"", + "CameraCenterX(\"\",0) + CameraWidth(\"\",0)", + "CameraCenterY(\"\",0)", + "\"\"", + "GlobalVariable(CameraMoveDuration) * 1000", + "\"easeOutBack\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Wait to start cup animation until slide is done", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "GlobalVariable(CameraMoveDuration)" + ] + }, + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"SlideCupIn\"" + ] + } + ] + } + ], + "parameters": [] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make layers follow base layer", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CopyCameraSettings::CopyCameraSettings" + }, + "parameters": [ + "", + "\"\"", + "0", + "\"Balls\"", + "0", + "yes", + "yes", + "", + "", + "" + ] + }, + { + "type": { + "value": "CopyCameraSettings::CopyCameraSettings" + }, + "parameters": [ + "", + "\"\"", + "0", + "\"FrontCups\"", + "0", + "yes", + "yes", + "", + "", + "" + ] + }, + { + "type": { + "value": "CopyCameraSettings::CopyCameraSettings" + }, + "parameters": [ + "", + "\"\"", + "0", + "\"Debugging\"", + "0", + "yes", + "yes", + "", + "", + "" + ] + }, + { + "type": { + "value": "CopyCameraSettings::CopyCameraSettings" + }, + "parameters": [ + "", + "\"\"", + "0", + "\"Clouds\"", + "0", + "yes", + "yes", + "no", + "", + "" + ] + }, + { + "type": { + "value": "CopyCameraSettings::CopyCameraSettings" + }, + "parameters": [ + "", + "\"\"", + "0", + "\"UI\"", + "0", + "yes", + "yes", + "no", + "", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Play button", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ButtonEffects" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GreyButton", + "", + "", + "" + ] + }, + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"StartGame\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "GDevelop logo", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "GDevelopLogo" + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "View Leaderboard", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "Leaderboard", + "", + "", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectPositionYTween" + }, + "parameters": [ + "ViewLeaderboards_Text", + "Tween", + "\"SlideUp\"", + "Leaderboard.Y()", + "\"easeOutQuad\"", + "250", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + } + ], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.25" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"ViewLeaderboards\"", + "" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "SourisSurObjet" + }, + "parameters": [ + "Leaderboard", + "", + "", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectPositionYTween" + }, + "parameters": [ + "ViewLeaderboards_Text", + "Tween", + "\"SlideDown\"", + "Leaderboard.Y() + 128", + "\"easeOutQuad\"", + "250", + "" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 8032168, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9887856, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2, + "ambientLightColorG": 134217728, + "ambientLightColorR": 1597263169, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 10634072, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8691248, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 10634072, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8691248, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 9440496, + "ambientLightColorG": 6043312, + "ambientLightColorR": 11693272, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "Level_321", + "name": "Level 1", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.4199999999999997, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "5588b2f2-0185-42db-bbb7-1d5188c421f6", + "width": 96, + "x": 160, + "y": 672, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "996dd595-e93d-4a3a-90ab-e633a380f6bd", + "width": 96, + "x": 368, + "y": 672, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Ball_3", + "persistentUuid": "a7aa1977-fc53-4049-942a-9f5461941f6e", + "width": 0, + "x": 144, + "y": 864, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Ball_4", + "persistentUuid": "8c2644aa-de10-42ee-af69-2ca2263797ea", + "width": 0, + "x": 144, + "y": 672, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Ball_3", + "persistentUuid": "5f3c94ba-3099-4e34-b00e-a1468b0cee4a", + "width": 0, + "x": 560, + "y": 800, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Ball_3", + "persistentUuid": "32f710bc-ce51-4759-abd7-4d430446fdb5", + "width": 0, + "x": 144, + "y": 800, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Ball_3", + "persistentUuid": "5e26206c-a64c-4a17-9a96-197e3e09b9be", + "width": 0, + "x": 560, + "y": 864, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Ball_4", + "persistentUuid": "d1d6cfa6-a08d-470a-8c8e-b1cd14e46c2a", + "width": 0, + "x": 560, + "y": 672, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Ball_4", + "persistentUuid": "112bc27c-4bdb-4807-91f4-a618056fd01a", + "width": 0, + "x": 144, + "y": 736, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Ball_4", + "persistentUuid": "79de201d-4552-4880-8b2f-a7a2a847e148", + "width": 0, + "x": 560, + "y": 736, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 320, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "5d38ba75-87e7-4dbd-8d1f-f0809e5864be", + "width": 128, + "x": 576, + "y": 672, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 440, + "layer": "UI", + "locked": false, + "name": "Tutorial_Text", + "persistentUuid": "095809a3-1ded-44be-91c6-1dedfb6d32ef", + "width": 592, + "x": 128, + "y": 160, + "zOrder": 36, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Tutorial_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "string": "Sort 4 balls of the \nsame color into a cup\n\nOnce a cup is complete \nit will explode\n\nLevel is complete when\nall cups have exploded\n\nGood luck!", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 45, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "GameLogic" + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Events for this level", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::SetTextAlignment" + }, + "parameters": [ + "Tutorial_Text", + "\"center\"" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Tutorial_Text" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Visible" + }, + "parameters": [ + "Tutorial_Text" + ] + }, + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"Idle\"" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "MettreX" + }, + "parameters": [ + "Tutorial_Text", + "-", + "CameraWidth(\"UI\", 0)" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Tutorial_Text", + "" + ] + }, + { + "type": { + "value": "Tween::AddObjectPositionXTween" + }, + "parameters": [ + "Tutorial_Text", + "Tween", + "\"SlideInText\"", + "CameraCenterX(\"UI\",0) - Tutorial_Text.Width()/2", + "\"easeOutQuad\"", + "500", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"LevelComplete\"" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectOpacityTween" + }, + "parameters": [ + "Tutorial_Text", + "Tween", + "\"FadeOut\"", + "0", + "\"linear\"", + "500", + "yes" + ] + } + ] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "Level_322", + "name": "Level 2", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.43999999999999967, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e4bdf3a3-3002-46aa-bbfd-7cc1d6e5192d", + "width": 96, + "x": 96, + "y": 544, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "5588b2f2-0185-42db-bbb7-1d5188c421f6", + "width": 96, + "x": 288, + "y": 544, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "996dd595-e93d-4a3a-90ab-e633a380f6bd", + "width": 96, + "x": 480, + "y": 544, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "fa2ec756-beba-4e9f-95e6-b0cc694b1c22", + "width": 96, + "x": 672, + "y": 544, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "a7aa1977-fc53-4049-942a-9f5461941f6e", + "width": 0, + "x": 656, + "y": 736, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "55186179-b8bb-4a8a-a314-ae2a7d97d536", + "width": 0, + "x": 464, + "y": 672, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "45e22d24-94d7-4e71-9aaf-13528e653ded", + "width": 0, + "x": 272, + "y": 672, + "zOrder": 26, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "e2d6ae8b-06ab-4fd8-a522-ae1675c9562b", + "width": 0, + "x": 80, + "y": 736, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "d74a5eca-8a6f-464a-996c-87cda2394b19", + "width": 0, + "x": 272, + "y": 608, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "df07d9f9-1237-4f6c-bd6a-23d4dc739f7c", + "width": 0, + "x": 464, + "y": 544, + "zOrder": 33, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "8c2644aa-de10-42ee-af69-2ca2263797ea", + "width": 0, + "x": 656, + "y": 672, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "712ebee8-3946-4c0b-a514-6077d92d724b", + "width": 0, + "x": 80, + "y": 672, + "zOrder": 36, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "95c2b68f-caec-4544-8587-cf8c855e6446", + "width": 0, + "x": 272, + "y": 736, + "zOrder": 33, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "070d4e3b-78a4-41ed-bd22-626cbd038253", + "width": 0, + "x": 464, + "y": 736, + "zOrder": 33, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "d090d348-1b89-474d-9629-77c627982fbc", + "width": 0, + "x": 272, + "y": 544, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "b2b71407-0b0c-4d0a-8a1d-ac410894d9c6", + "width": 0, + "x": 464, + "y": 608, + "zOrder": 33, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BallsInCup_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "-10", + "font": "", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "GameLogic" + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Events for this level", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "Level_323", + "name": "Level 3", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.43999999999999967, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e4bdf3a3-3002-46aa-bbfd-7cc1d6e5192d", + "width": 96, + "x": 96, + "y": 544, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "5588b2f2-0185-42db-bbb7-1d5188c421f6", + "width": 96, + "x": 288, + "y": 544, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "996dd595-e93d-4a3a-90ab-e633a380f6bd", + "width": 96, + "x": 480, + "y": 544, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "fa2ec756-beba-4e9f-95e6-b0cc694b1c22", + "width": 96, + "x": 672, + "y": 544, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "a7aa1977-fc53-4049-942a-9f5461941f6e", + "width": 0, + "x": 656, + "y": 736, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "55186179-b8bb-4a8a-a314-ae2a7d97d536", + "width": 0, + "x": 464, + "y": 736, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "45e22d24-94d7-4e71-9aaf-13528e653ded", + "width": 0, + "x": 272, + "y": 608, + "zOrder": 26, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "e2d6ae8b-06ab-4fd8-a522-ae1675c9562b", + "width": 0, + "x": 80, + "y": 736, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "d74a5eca-8a6f-464a-996c-87cda2394b19", + "width": 0, + "x": 656, + "y": 672, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 357.2422180175781, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "6499259e-5791-461d-9035-d821a5f525c4", + "width": 0, + "x": 465.5025939941406, + "y": 670.4974365234375, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "765e1974-4400-4c86-826c-ed79e8fe1dc2", + "width": 0, + "x": 272, + "y": 672, + "zOrder": 30, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "1b83ef41-4c4b-4488-84b1-aa75b26b9ca0", + "width": 0, + "x": 656, + "y": 608, + "zOrder": 31, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "e0bf10c0-158e-4578-a6b5-946803d07385", + "width": 0, + "x": 272, + "y": 736, + "zOrder": 32, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "df07d9f9-1237-4f6c-bd6a-23d4dc739f7c", + "width": 0, + "x": 80, + "y": 608, + "zOrder": 33, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "8c2644aa-de10-42ee-af69-2ca2263797ea", + "width": 0, + "x": 464, + "y": 608, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "712ebee8-3946-4c0b-a514-6077d92d724b", + "width": 0, + "x": 80, + "y": 672, + "zOrder": 36, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BallsInCup_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "-10", + "font": "", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "GameLogic" + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Events for this level", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "Level_324", + "name": "Level 4", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.43999999999999967, + "windowMask": false + }, + "objectsGroups": [ + { + "name": "Balls", + "objects": [ + { + "name": "Ball_1" + }, + { + "name": "Ball_2" + }, + { + "name": "Ball_4" + }, + { + "name": "Ball_3" + }, + { + "name": "Ball_5" + }, + { + "name": "Ball_6" + } + ] + }, + { + "name": "Clouds", + "objects": [ + { + "name": "Cloud1" + }, + { + "name": "Cloud2" + }, + { + "name": "Cloud3" + }, + { + "name": "Cloud4" + } + ] + } + ], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e4bdf3a3-3002-46aa-bbfd-7cc1d6e5192d", + "width": 96, + "x": 160, + "y": 352, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "5588b2f2-0185-42db-bbb7-1d5188c421f6", + "width": 96, + "x": 384, + "y": 352, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "996dd595-e93d-4a3a-90ab-e633a380f6bd", + "width": 96, + "x": 608, + "y": 352, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "1bcaabeb-611a-44f3-bd38-baa1c1d1cddc", + "width": 88, + "x": 160, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "67e72733-efa6-4cee-a9c2-b3434ef28ed6", + "width": 88, + "x": 384, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "ec7dad92-1943-4e30-8e1a-0baeb7a18cca", + "width": 88, + "x": 608, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "55186179-b8bb-4a8a-a314-ae2a7d97d536", + "width": 0, + "x": 592, + "y": 992, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "45e22d24-94d7-4e71-9aaf-13528e653ded", + "width": 0, + "x": 368, + "y": 992, + "zOrder": 26, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "e2d6ae8b-06ab-4fd8-a522-ae1675c9562b", + "width": 0, + "x": 144, + "y": 544, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "d74a5eca-8a6f-464a-996c-87cda2394b19", + "width": 0, + "x": 368, + "y": 864, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 357.2422180175781, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "6499259e-5791-461d-9035-d821a5f525c4", + "width": 0, + "x": 593.5025634765625, + "y": 545.5025634765625, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "765e1974-4400-4c86-826c-ed79e8fe1dc2", + "width": 0, + "x": 144, + "y": 992, + "zOrder": 30, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "1b83ef41-4c4b-4488-84b1-aa75b26b9ca0", + "width": 0, + "x": 368, + "y": 928, + "zOrder": 31, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "df07d9f9-1237-4f6c-bd6a-23d4dc739f7c", + "width": 0, + "x": 144, + "y": 928, + "zOrder": 33, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "8c2644aa-de10-42ee-af69-2ca2263797ea", + "width": 0, + "x": 592, + "y": 480, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "712ebee8-3946-4c0b-a514-6077d92d724b", + "width": 0, + "x": 144, + "y": 864, + "zOrder": 36, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "d2e235cf-5559-45cc-ad22-dca49af2487f", + "width": 0, + "x": 368, + "y": 544, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "d2fc904d-d7a5-4747-aa67-5278a4bb4582", + "width": 0, + "x": 144, + "y": 480, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 357.2422180175781, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "00bcfdcf-0b0e-404a-8e17-96873230c0c8", + "width": 0, + "x": 369.5025939941406, + "y": 481.5025939941406, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "07ca75c0-6abb-4a41-8c0d-60153f549bc6", + "width": 0, + "x": 592, + "y": 928, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "18ea3202-cbda-428b-8665-aae9ade8e563", + "width": 0, + "x": 592, + "y": 864, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "5236d038-0a38-4596-9c4f-430e75187408", + "width": 0, + "x": 368, + "y": 416, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BallsInCup_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "-10", + "font": "", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "GameLogic" + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Events for this level", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "Level_325", + "name": "Level 5", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.43999999999999967, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e4bdf3a3-3002-46aa-bbfd-7cc1d6e5192d", + "width": 96, + "x": 160, + "y": 352, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "5588b2f2-0185-42db-bbb7-1d5188c421f6", + "width": 96, + "x": 384, + "y": 352, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "996dd595-e93d-4a3a-90ab-e633a380f6bd", + "width": 96, + "x": 608, + "y": 352, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "1bcaabeb-611a-44f3-bd38-baa1c1d1cddc", + "width": 88, + "x": 160, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "67e72733-efa6-4cee-a9c2-b3434ef28ed6", + "width": 88, + "x": 384, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "ec7dad92-1943-4e30-8e1a-0baeb7a18cca", + "width": 88, + "x": 608, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "55186179-b8bb-4a8a-a314-ae2a7d97d536", + "width": 0, + "x": 592, + "y": 992, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "45e22d24-94d7-4e71-9aaf-13528e653ded", + "width": 0, + "x": 368, + "y": 992, + "zOrder": 26, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "e2d6ae8b-06ab-4fd8-a522-ae1675c9562b", + "width": 0, + "x": 144, + "y": 544, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "d74a5eca-8a6f-464a-996c-87cda2394b19", + "width": 0, + "x": 368, + "y": 800, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 357.2422180175781, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "6499259e-5791-461d-9035-d821a5f525c4", + "width": 0, + "x": 590.4974365234375, + "y": 481.5025939941406, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "765e1974-4400-4c86-826c-ed79e8fe1dc2", + "width": 0, + "x": 144, + "y": 992, + "zOrder": 30, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "1b83ef41-4c4b-4488-84b1-aa75b26b9ca0", + "width": 0, + "x": 368, + "y": 928, + "zOrder": 31, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "df07d9f9-1237-4f6c-bd6a-23d4dc739f7c", + "width": 0, + "x": 144, + "y": 928, + "zOrder": 33, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "8c2644aa-de10-42ee-af69-2ca2263797ea", + "width": 0, + "x": 592, + "y": 416, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "712ebee8-3946-4c0b-a514-6077d92d724b", + "width": 0, + "x": 144, + "y": 864, + "zOrder": 36, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "d2e235cf-5559-45cc-ad22-dca49af2487f", + "width": 0, + "x": 368, + "y": 544, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "d2fc904d-d7a5-4747-aa67-5278a4bb4582", + "width": 0, + "x": 144, + "y": 480, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 357.2422180175781, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "00bcfdcf-0b0e-404a-8e17-96873230c0c8", + "width": 0, + "x": 369.5025939941406, + "y": 478.4974060058594, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "07ca75c0-6abb-4a41-8c0d-60153f549bc6", + "width": 0, + "x": 592, + "y": 928, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "18ea3202-cbda-428b-8665-aae9ade8e563", + "width": 0, + "x": 592, + "y": 864, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "5236d038-0a38-4596-9c4f-430e75187408", + "width": 0, + "x": 368, + "y": 416, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "423f70c0-53f1-4677-9d0b-3779444d768e", + "width": 0, + "x": 592, + "y": 544, + "zOrder": 37, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "6c81b6dc-23b1-4024-bd91-49f206c49798", + "width": 0, + "x": 368, + "y": 352, + "zOrder": 38, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "706aba2a-9c94-4303-bf84-8816a4137a02", + "width": 0, + "x": 144, + "y": 416, + "zOrder": 39, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "1a09a9ad-dcee-48e5-beca-9f434be85022", + "width": 0, + "x": 368, + "y": 864, + "zOrder": 40, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BallsInCup_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "-10", + "font": "", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "GameLogic" + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Events for this level", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "Level_326", + "name": "Level 6", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.43999999999999967, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e4bdf3a3-3002-46aa-bbfd-7cc1d6e5192d", + "width": 96, + "x": 96, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "f4c19652-752f-4c1d-96d7-9d273b8f7b88", + "width": 0, + "x": 272, + "y": 352, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "ac6321e9-31c8-43f9-b180-582e30fffa02", + "width": 0, + "x": 80, + "y": 288, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "5588b2f2-0185-42db-bbb7-1d5188c421f6", + "width": 96, + "x": 288, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "996dd595-e93d-4a3a-90ab-e633a380f6bd", + "width": 96, + "x": 480, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "fa2ec756-beba-4e9f-95e6-b0cc694b1c22", + "width": 96, + "x": 672, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "1bcaabeb-611a-44f3-bd38-baa1c1d1cddc", + "width": 88, + "x": 96, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "53a05885-cdc9-4fc3-99be-8cde514428b4", + "width": 0, + "x": 80, + "y": 992, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "67e72733-efa6-4cee-a9c2-b3434ef28ed6", + "width": 88, + "x": 288, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "ec7dad92-1943-4e30-8e1a-0baeb7a18cca", + "width": 88, + "x": 480, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "c63ac508-47dd-46da-9a59-0cafaab413c7", + "width": 88, + "x": 672, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "a7aa1977-fc53-4049-942a-9f5461941f6e", + "width": 0, + "x": 656, + "y": 352, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "55186179-b8bb-4a8a-a314-ae2a7d97d536", + "width": 0, + "x": 464, + "y": 352, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "45e22d24-94d7-4e71-9aaf-13528e653ded", + "width": 0, + "x": 272, + "y": 992, + "zOrder": 26, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "e2d6ae8b-06ab-4fd8-a522-ae1675c9562b", + "width": 0, + "x": 80, + "y": 352, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "d74a5eca-8a6f-464a-996c-87cda2394b19", + "width": 0, + "x": 464, + "y": 992, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 357.2422180175781, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "6499259e-5791-461d-9035-d821a5f525c4", + "width": 0, + "x": 465.5025939941406, + "y": 286.4974060058594, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "765e1974-4400-4c86-826c-ed79e8fe1dc2", + "width": 0, + "x": 80, + "y": 928, + "zOrder": 30, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "1b83ef41-4c4b-4488-84b1-aa75b26b9ca0", + "width": 0, + "x": 272, + "y": 928, + "zOrder": 31, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "e0bf10c0-158e-4578-a6b5-946803d07385", + "width": 0, + "x": 656, + "y": 992, + "zOrder": 32, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "df07d9f9-1237-4f6c-bd6a-23d4dc739f7c", + "width": 0, + "x": 80, + "y": 864, + "zOrder": 33, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "e189c340-e507-44fe-863b-f47c1fb1526c", + "width": 0, + "x": 464, + "y": 928, + "zOrder": 34, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "8c2644aa-de10-42ee-af69-2ca2263797ea", + "width": 0, + "x": 656, + "y": 288, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "712ebee8-3946-4c0b-a514-6077d92d724b", + "width": 0, + "x": 656, + "y": 864, + "zOrder": 36, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "bb8e150c-6a3a-4d16-9306-29de4fb973d4", + "width": 0, + "x": 272, + "y": 288, + "zOrder": 37, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "ca526145-a934-44b7-9c63-58a973816b5f", + "width": 0, + "x": 656, + "y": 928, + "zOrder": 38, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "830797ad-d174-46df-b335-d776d90e7469", + "width": 0, + "x": 272, + "y": 864, + "zOrder": 39, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "cd34d8a6-bb10-484c-8eed-fb4fc616fd86", + "width": 0, + "x": 464, + "y": 864, + "zOrder": 40, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BallsInCup_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "-10", + "font": "", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "GameLogic" + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Events for this level", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "Level_327", + "name": "Level 7", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.43999999999999967, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e4bdf3a3-3002-46aa-bbfd-7cc1d6e5192d", + "width": 96, + "x": 96, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "f4c19652-752f-4c1d-96d7-9d273b8f7b88", + "width": 0, + "x": 272, + "y": 352, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "ac6321e9-31c8-43f9-b180-582e30fffa02", + "width": 0, + "x": 80, + "y": 288, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "5588b2f2-0185-42db-bbb7-1d5188c421f6", + "width": 96, + "x": 288, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "996dd595-e93d-4a3a-90ab-e633a380f6bd", + "width": 96, + "x": 480, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "fa2ec756-beba-4e9f-95e6-b0cc694b1c22", + "width": 96, + "x": 672, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "1bcaabeb-611a-44f3-bd38-baa1c1d1cddc", + "width": 88, + "x": 96, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "53a05885-cdc9-4fc3-99be-8cde514428b4", + "width": 0, + "x": 80, + "y": 992, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "67e72733-efa6-4cee-a9c2-b3434ef28ed6", + "width": 88, + "x": 288, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "ec7dad92-1943-4e30-8e1a-0baeb7a18cca", + "width": 88, + "x": 480, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "c63ac508-47dd-46da-9a59-0cafaab413c7", + "width": 88, + "x": 672, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "a7aa1977-fc53-4049-942a-9f5461941f6e", + "width": 0, + "x": 656, + "y": 352, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "55186179-b8bb-4a8a-a314-ae2a7d97d536", + "width": 0, + "x": 464, + "y": 352, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "45e22d24-94d7-4e71-9aaf-13528e653ded", + "width": 0, + "x": 80, + "y": 800, + "zOrder": 26, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "e2d6ae8b-06ab-4fd8-a522-ae1675c9562b", + "width": 0, + "x": 272, + "y": 800, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "d74a5eca-8a6f-464a-996c-87cda2394b19", + "width": 0, + "x": 464, + "y": 992, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 357.2422180175781, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "6499259e-5791-461d-9035-d821a5f525c4", + "width": 0, + "x": 465.5025939941406, + "y": 286.4974060058594, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "765e1974-4400-4c86-826c-ed79e8fe1dc2", + "width": 0, + "x": 80, + "y": 928, + "zOrder": 30, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "1b83ef41-4c4b-4488-84b1-aa75b26b9ca0", + "width": 0, + "x": 272, + "y": 928, + "zOrder": 31, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "e0bf10c0-158e-4578-a6b5-946803d07385", + "width": 0, + "x": 656, + "y": 992, + "zOrder": 32, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "df07d9f9-1237-4f6c-bd6a-23d4dc739f7c", + "width": 0, + "x": 80, + "y": 864, + "zOrder": 33, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "e189c340-e507-44fe-863b-f47c1fb1526c", + "width": 0, + "x": 464, + "y": 928, + "zOrder": 34, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "8c2644aa-de10-42ee-af69-2ca2263797ea", + "width": 0, + "x": 656, + "y": 288, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "712ebee8-3946-4c0b-a514-6077d92d724b", + "width": 0, + "x": 656, + "y": 864, + "zOrder": 36, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "bb8e150c-6a3a-4d16-9306-29de4fb973d4", + "width": 0, + "x": 272, + "y": 288, + "zOrder": 37, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "ca526145-a934-44b7-9c63-58a973816b5f", + "width": 0, + "x": 656, + "y": 928, + "zOrder": 38, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "830797ad-d174-46df-b335-d776d90e7469", + "width": 0, + "x": 272, + "y": 864, + "zOrder": 39, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "cd34d8a6-bb10-484c-8eed-fb4fc616fd86", + "width": 0, + "x": 464, + "y": 864, + "zOrder": 40, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "cb15ede2-1f9b-4183-82f5-490940dd406b", + "width": 0, + "x": 272, + "y": 992, + "zOrder": 41, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "51fb4c79-0c1b-45a9-857d-7247d2a843f4", + "width": 0, + "x": 656, + "y": 800, + "zOrder": 42, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "aee34923-0228-4c2b-8183-d5a6ab08e8ef", + "width": 0, + "x": 464, + "y": 800, + "zOrder": 43, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "480fc1a1-3114-4149-8f1e-4dde195aa63b", + "width": 0, + "x": 80, + "y": 352, + "zOrder": 44, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BallsInCup_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "-10", + "font": "", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "GameLogic" + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Events for this level", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "Level_328", + "name": "Level 8", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.43999999999999967, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e4bdf3a3-3002-46aa-bbfd-7cc1d6e5192d", + "width": 96, + "x": 96, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "f4c19652-752f-4c1d-96d7-9d273b8f7b88", + "width": 0, + "x": 464, + "y": 224, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "ac6321e9-31c8-43f9-b180-582e30fffa02", + "width": 0, + "x": 80, + "y": 288, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "5588b2f2-0185-42db-bbb7-1d5188c421f6", + "width": 96, + "x": 288, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "996dd595-e93d-4a3a-90ab-e633a380f6bd", + "width": 96, + "x": 480, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "fa2ec756-beba-4e9f-95e6-b0cc694b1c22", + "width": 96, + "x": 672, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "1bcaabeb-611a-44f3-bd38-baa1c1d1cddc", + "width": 88, + "x": 96, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "53a05885-cdc9-4fc3-99be-8cde514428b4", + "width": 0, + "x": 80, + "y": 992, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "67e72733-efa6-4cee-a9c2-b3434ef28ed6", + "width": 88, + "x": 288, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "ec7dad92-1943-4e30-8e1a-0baeb7a18cca", + "width": 88, + "x": 480, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "c63ac508-47dd-46da-9a59-0cafaab413c7", + "width": 88, + "x": 672, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "a7aa1977-fc53-4049-942a-9f5461941f6e", + "width": 0, + "x": 656, + "y": 352, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "55186179-b8bb-4a8a-a314-ae2a7d97d536", + "width": 0, + "x": 464, + "y": 352, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "45e22d24-94d7-4e71-9aaf-13528e653ded", + "width": 0, + "x": 272, + "y": 224, + "zOrder": 26, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "e2d6ae8b-06ab-4fd8-a522-ae1675c9562b", + "width": 0, + "x": 272, + "y": 800, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "d74a5eca-8a6f-464a-996c-87cda2394b19", + "width": 0, + "x": 464, + "y": 992, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 357.2422180175781, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "6499259e-5791-461d-9035-d821a5f525c4", + "width": 0, + "x": 465.5025939941406, + "y": 286.4974060058594, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "765e1974-4400-4c86-826c-ed79e8fe1dc2", + "width": 0, + "x": 80, + "y": 928, + "zOrder": 30, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "1b83ef41-4c4b-4488-84b1-aa75b26b9ca0", + "width": 0, + "x": 272, + "y": 928, + "zOrder": 31, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "e0bf10c0-158e-4578-a6b5-946803d07385", + "width": 0, + "x": 656, + "y": 992, + "zOrder": 32, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "df07d9f9-1237-4f6c-bd6a-23d4dc739f7c", + "width": 0, + "x": 80, + "y": 864, + "zOrder": 33, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "e189c340-e507-44fe-863b-f47c1fb1526c", + "width": 0, + "x": 464, + "y": 928, + "zOrder": 34, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "8c2644aa-de10-42ee-af69-2ca2263797ea", + "width": 0, + "x": 656, + "y": 288, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "712ebee8-3946-4c0b-a514-6077d92d724b", + "width": 0, + "x": 656, + "y": 864, + "zOrder": 36, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "bb8e150c-6a3a-4d16-9306-29de4fb973d4", + "width": 0, + "x": 272, + "y": 288, + "zOrder": 37, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "ca526145-a934-44b7-9c63-58a973816b5f", + "width": 0, + "x": 80, + "y": 224, + "zOrder": 38, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "830797ad-d174-46df-b335-d776d90e7469", + "width": 0, + "x": 656, + "y": 224, + "zOrder": 39, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "cd34d8a6-bb10-484c-8eed-fb4fc616fd86", + "width": 0, + "x": 464, + "y": 864, + "zOrder": 40, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "cb15ede2-1f9b-4183-82f5-490940dd406b", + "width": 0, + "x": 272, + "y": 992, + "zOrder": 41, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "51fb4c79-0c1b-45a9-857d-7247d2a843f4", + "width": 0, + "x": 656, + "y": 800, + "zOrder": 42, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "aee34923-0228-4c2b-8183-d5a6ab08e8ef", + "width": 0, + "x": 464, + "y": 800, + "zOrder": 43, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "480fc1a1-3114-4149-8f1e-4dde195aa63b", + "width": 0, + "x": 80, + "y": 352, + "zOrder": 44, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_6", + "persistentUuid": "799d3f02-a753-47e2-bac4-eff8c3af5e53", + "width": 0, + "x": 272, + "y": 352, + "zOrder": 45, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_6", + "persistentUuid": "8a17031a-34e1-4bf2-964e-672ffcea0392", + "width": 0, + "x": 656, + "y": 928, + "zOrder": 46, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_6", + "persistentUuid": "934a7dcf-be38-4873-87e7-2603a73ae1eb", + "width": 0, + "x": 272, + "y": 864, + "zOrder": 47, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_6", + "persistentUuid": "249ac31d-4e57-414a-90a2-4d63153d6d0d", + "width": 0, + "x": 80, + "y": 800, + "zOrder": 48, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BallsInCup_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "-10", + "font": "", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "GameLogic" + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Events for this level", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "Level_329", + "name": "Level 9", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.43999999999999967, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e4bdf3a3-3002-46aa-bbfd-7cc1d6e5192d", + "width": 96, + "x": 176, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "f4c19652-752f-4c1d-96d7-9d273b8f7b88", + "width": 0, + "x": 352, + "y": 352, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "ac6321e9-31c8-43f9-b180-582e30fffa02", + "width": 0, + "x": 160, + "y": 288, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "5588b2f2-0185-42db-bbb7-1d5188c421f6", + "width": 96, + "x": 368, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "996dd595-e93d-4a3a-90ab-e633a380f6bd", + "width": 96, + "x": 560, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "fa2ec756-beba-4e9f-95e6-b0cc694b1c22", + "width": 96, + "x": 752, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "53a05885-cdc9-4fc3-99be-8cde514428b4", + "width": 0, + "x": 160, + "y": 992, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "a7aa1977-fc53-4049-942a-9f5461941f6e", + "width": 0, + "x": 736, + "y": 352, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "55186179-b8bb-4a8a-a314-ae2a7d97d536", + "width": 0, + "x": 544, + "y": 352, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "45e22d24-94d7-4e71-9aaf-13528e653ded", + "width": 0, + "x": 160, + "y": 864, + "zOrder": 26, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "e2d6ae8b-06ab-4fd8-a522-ae1675c9562b", + "width": 0, + "x": 544, + "y": 224, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "d74a5eca-8a6f-464a-996c-87cda2394b19", + "width": 0, + "x": 544, + "y": 992, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 357.2422180175781, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "6499259e-5791-461d-9035-d821a5f525c4", + "width": 0, + "x": 545.5025634765625, + "y": 286.4974060058594, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "765e1974-4400-4c86-826c-ed79e8fe1dc2", + "width": 0, + "x": 160, + "y": 928, + "zOrder": 30, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "1b83ef41-4c4b-4488-84b1-aa75b26b9ca0", + "width": 0, + "x": 352, + "y": 928, + "zOrder": 31, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "e0bf10c0-158e-4578-a6b5-946803d07385", + "width": 0, + "x": 736, + "y": 992, + "zOrder": 32, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "e189c340-e507-44fe-863b-f47c1fb1526c", + "width": 0, + "x": -32, + "y": 928, + "zOrder": 34, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "8c2644aa-de10-42ee-af69-2ca2263797ea", + "width": 0, + "x": 736, + "y": 288, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "712ebee8-3946-4c0b-a514-6077d92d724b", + "width": 0, + "x": 736, + "y": 864, + "zOrder": 36, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "830797ad-d174-46df-b335-d776d90e7469", + "width": 0, + "x": 352, + "y": 864, + "zOrder": 39, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "cd34d8a6-bb10-484c-8eed-fb4fc616fd86", + "width": 0, + "x": 544, + "y": 864, + "zOrder": 40, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "cb15ede2-1f9b-4183-82f5-490940dd406b", + "width": 0, + "x": 352, + "y": 992, + "zOrder": 41, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "aee34923-0228-4c2b-8183-d5a6ab08e8ef", + "width": 0, + "x": -32, + "y": 864, + "zOrder": 43, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "0991e97f-9f7c-402a-8599-c98d9ad4295d", + "width": 0, + "x": -16, + "y": 160, + "zOrder": 45, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_6", + "persistentUuid": "c53981e5-0c66-4752-8c00-64725fa278d5", + "width": 0, + "x": 352, + "y": 224, + "zOrder": 48, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_6", + "persistentUuid": "2bd3bb78-ab37-48a1-88a8-8d5ad58d9693", + "width": 0, + "x": 544, + "y": 928, + "zOrder": 49, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "79106ba1-ea90-4cc2-9186-0596a912df91", + "width": 88, + "x": 176, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e51eb644-d2bc-4bcf-8859-f431a3152754", + "width": 88, + "x": 368, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "87653dd7-b400-4681-85d3-41a268f59ec4", + "width": 88, + "x": 560, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e103450a-af01-433d-9997-33e3b44f450b", + "width": 88, + "x": 752, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "6cfa671c-eb57-4289-b20f-be9e277619f6", + "width": 0, + "x": 160, + "y": 224, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "1c7eded0-3e34-4a2b-ad3d-6e1ebe182ee3", + "width": 0, + "x": -32, + "y": 288, + "zOrder": 32, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "c689976f-f3bc-4bbd-b838-4ccb397e46ab", + "width": 0, + "x": 352, + "y": 288, + "zOrder": 37, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "491b4204-ae8d-4bc7-8c86-bafb07fd7f0a", + "width": 0, + "x": 736, + "y": 928, + "zOrder": 38, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "ada23315-9ab8-4243-b579-69697a7e52cf", + "width": 0, + "x": 160, + "y": 352, + "zOrder": 44, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "562be04a-cabf-41dd-bf34-a97a15c244d7", + "width": 0, + "x": -16, + "y": 800, + "zOrder": 46, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_6", + "persistentUuid": "9eaa5410-0639-4216-9cf4-9139149e044e", + "width": 0, + "x": -32, + "y": 352, + "zOrder": 47, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_6", + "persistentUuid": "ccacd524-23c0-4974-8bb0-1b5234926532", + "width": 0, + "x": -32, + "y": 992, + "zOrder": 49, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BallsInCup_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "-10", + "font": "", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "GameLogic" + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Events for this level", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "Level_3210", + "name": "Level 10", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.41999999999999965, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e4bdf3a3-3002-46aa-bbfd-7cc1d6e5192d", + "width": 96, + "x": 176, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "f4c19652-752f-4c1d-96d7-9d273b8f7b88", + "width": 0, + "x": 352, + "y": 352, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "ac6321e9-31c8-43f9-b180-582e30fffa02", + "width": 0, + "x": 160, + "y": 288, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "5588b2f2-0185-42db-bbb7-1d5188c421f6", + "width": 96, + "x": 368, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "996dd595-e93d-4a3a-90ab-e633a380f6bd", + "width": 96, + "x": 560, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "fa2ec756-beba-4e9f-95e6-b0cc694b1c22", + "width": 96, + "x": 752, + "y": 160, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "53a05885-cdc9-4fc3-99be-8cde514428b4", + "width": 0, + "x": -32, + "y": 800, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "a7aa1977-fc53-4049-942a-9f5461941f6e", + "width": 0, + "x": 736, + "y": 352, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "55186179-b8bb-4a8a-a314-ae2a7d97d536", + "width": 0, + "x": 544, + "y": 352, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 64, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "45e22d24-94d7-4e71-9aaf-13528e653ded", + "width": 64, + "x": 160, + "y": 864, + "zOrder": 26, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "e2d6ae8b-06ab-4fd8-a522-ae1675c9562b", + "width": 0, + "x": 544, + "y": 224, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "d74a5eca-8a6f-464a-996c-87cda2394b19", + "width": 0, + "x": 544, + "y": 992, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 357.2422180175781, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "6499259e-5791-461d-9035-d821a5f525c4", + "width": 0, + "x": 545.5025634765625, + "y": 286.4974060058594, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "765e1974-4400-4c86-826c-ed79e8fe1dc2", + "width": 0, + "x": 160, + "y": 928, + "zOrder": 30, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "1b83ef41-4c4b-4488-84b1-aa75b26b9ca0", + "width": 0, + "x": 352, + "y": 992, + "zOrder": 31, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "e0bf10c0-158e-4578-a6b5-946803d07385", + "width": 0, + "x": 736, + "y": 992, + "zOrder": 32, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_1", + "persistentUuid": "e189c340-e507-44fe-863b-f47c1fb1526c", + "width": 0, + "x": -32, + "y": 928, + "zOrder": 34, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "8c2644aa-de10-42ee-af69-2ca2263797ea", + "width": 0, + "x": 736, + "y": 288, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_4", + "persistentUuid": "712ebee8-3946-4c0b-a514-6077d92d724b", + "width": 0, + "x": 736, + "y": 864, + "zOrder": 36, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "830797ad-d174-46df-b335-d776d90e7469", + "width": 0, + "x": 352, + "y": 864, + "zOrder": 39, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "cd34d8a6-bb10-484c-8eed-fb4fc616fd86", + "width": 0, + "x": 544, + "y": 864, + "zOrder": 40, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "aee34923-0228-4c2b-8183-d5a6ab08e8ef", + "width": 0, + "x": -32, + "y": 864, + "zOrder": 43, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "0991e97f-9f7c-402a-8599-c98d9ad4295d", + "width": 0, + "x": -16, + "y": 160, + "zOrder": 45, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_6", + "persistentUuid": "c53981e5-0c66-4752-8c00-64725fa278d5", + "width": 0, + "x": 736, + "y": 224, + "zOrder": 48, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_6", + "persistentUuid": "2bd3bb78-ab37-48a1-88a8-8d5ad58d9693", + "width": 0, + "x": 544, + "y": 928, + "zOrder": 49, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "79106ba1-ea90-4cc2-9186-0596a912df91", + "width": 88, + "x": 176, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e51eb644-d2bc-4bcf-8859-f431a3152754", + "width": 88, + "x": 368, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "87653dd7-b400-4681-85d3-41a268f59ec4", + "width": 88, + "x": 560, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 280, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "e103450a-af01-433d-9997-33e3b44f450b", + "width": 88, + "x": 752, + "y": 800, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "6cfa671c-eb57-4289-b20f-be9e277619f6", + "width": 0, + "x": 160, + "y": 224, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "1c7eded0-3e34-4a2b-ad3d-6e1ebe182ee3", + "width": 0, + "x": -32, + "y": 288, + "zOrder": 32, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "c689976f-f3bc-4bbd-b838-4ccb397e46ab", + "width": 0, + "x": 352, + "y": 288, + "zOrder": 37, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_3", + "persistentUuid": "491b4204-ae8d-4bc7-8c86-bafb07fd7f0a", + "width": 0, + "x": 736, + "y": 928, + "zOrder": 38, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "70eed4ef-d180-4f44-835f-4a1438c363e2", + "width": 0, + "x": 736, + "y": 800, + "zOrder": 41, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_2", + "persistentUuid": "ada23315-9ab8-4243-b579-69697a7e52cf", + "width": 0, + "x": 160, + "y": 352, + "zOrder": 44, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Cup", + "persistentUuid": "562be04a-cabf-41dd-bf34-a97a15c244d7", + "width": 0, + "x": -16, + "y": 800, + "zOrder": 46, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_6", + "persistentUuid": "9eaa5410-0639-4216-9cf4-9139149e044e", + "width": 0, + "x": -32, + "y": 352, + "zOrder": 47, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Balls", + "locked": false, + "name": "Ball_6", + "persistentUuid": "ccacd524-23c0-4974-8bb0-1b5234926532", + "width": 0, + "x": -32, + "y": 992, + "zOrder": 49, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Ball_4", + "persistentUuid": "a525e7c2-befa-4350-8cbb-615bcf16599d", + "width": 0, + "x": 352, + "y": 928, + "zOrder": 50, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Ball_4", + "persistentUuid": "47230187-a004-4a73-831c-51dc03ef94a6", + "width": 0, + "x": -32, + "y": 224, + "zOrder": 51, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Ball_4", + "persistentUuid": "4e0e9172-eafd-481f-84ab-ca17ba102e8b", + "width": 0, + "x": 160, + "y": 992, + "zOrder": 52, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Ball_4", + "persistentUuid": "6af1f77f-a250-4efa-b779-a2265ea0d85a", + "width": 0, + "x": 352, + "y": 224, + "zOrder": 53, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BallsInCup_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "-10", + "font": "", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "GameLogic" + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Events for this level", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "Level_3211", + "name": "Level 11", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.43999999999999967, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": true, + "height": 313, + "layer": "", + "locked": false, + "name": "Victory_Text", + "persistentUuid": "50719ab6-2498-45fb-9d89-4139e7747873", + "width": 640, + "x": 64, + "y": 103, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 106, + "layer": "UI", + "locked": false, + "name": "GreyButton", + "persistentUuid": "16264e9d-26c5-4553-95a2-9599f2c05c11", + "width": 323, + "x": 208, + "y": 1078, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "StartOver_Text", + "persistentUuid": "6217b622-8b2e-4d09-89f8-72dbbf8e1350", + "width": 0, + "x": 244, + "y": 1094, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 106, + "layer": "UI", + "locked": false, + "name": "GreyButton", + "persistentUuid": "f4633c74-ff21-4322-8bf0-beaab58718ea", + "width": 384, + "x": 176, + "y": 502, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "Submit_Text", + "persistentUuid": "574676a4-0b7e-4b1c-a44a-f0444dab25fb", + "width": 0, + "x": 208, + "y": 519, + "zOrder": 4, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Victory_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Congrats!\nYou made all the cups go BOOM.", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 80, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "903d374b9fd0edfd9e9b0bca311799884c7b24b350b18b5897b1caab8e008bec", + "name": "Menu", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 6, + "thickness": 6 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Menu.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + } + ], + "events": [ + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Events for this level", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Initialize", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "MaxBalls", + "=", + "100" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "BallsCreatedPerFrame", + "=", + "1" + ] + }, + { + "type": { + "value": "TextObject::SetTextAlignment" + }, + "parameters": [ + "Victory_Text", + "\"center\"" + ] + }, + { + "type": { + "value": "SetCenterX" + }, + "parameters": [ + "Victory_Text", + "=", + "CameraCenterX(\"UI\", 0)" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "audience_cheers_13.aac", + "", + "50", + "1" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Animate balls", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Throw balls into the air", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Balls", + "<", + "Variable(MaxBalls)" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "Variable(BallsCreatedPerFrame)", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,6))", + "RandomInRange(CameraBorderLeft(),CameraBorderRight())", + "CameraBorderBottom() - 32", + "\"Balls\"" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "270", + "800", + "1" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Pull balls down", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "90", + "10", + "1" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Delete balls that fall too low", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PosY" + }, + "parameters": [ + "Balls", + ">", + "CameraBorderBottom() + 64" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "Balls", + "" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "User Interface", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ButtonEffects" + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Submit Score button", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GreyButton", + "", + "", + "" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Submit_Text", + "GreyButton", + "", + "", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.25" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"SubmitScore\"", + "" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Start Over button", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GreyButton", + "", + "", + "" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "StartOver_Text", + "GreyButton", + "", + "", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "EcrireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"CurrentLevel\"", + "0" + ] + }, + { + "type": { + "value": "EcrireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"PlayTimer\"", + "0" + ] + }, + { + "type": { + "value": "EcrireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"MovesMade\"", + "0" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.25" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Title Screen\"", + "" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "SubmitScore", + "name": "SubmitScore", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.5999999999999996, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": true, + "height": 106, + "layer": "UI", + "locked": false, + "name": "GreyButton", + "persistentUuid": "f7d77978-4859-4d0d-838b-9c684daecb68", + "width": 272, + "x": 224, + "y": 1082, + "zOrder": 7, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "MainMenu_Text", + "persistentUuid": "d55acc50-f0d3-4e18-8ba2-ced5aa97f6f6", + "width": 0, + "x": 248, + "y": 1105, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "SubmitScore_Text", + "persistentUuid": "1b9b5239-1e1b-4164-aac3-5dd56db6f52c", + "width": 0, + "x": 258, + "y": 32, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 106, + "layer": "UI", + "locked": false, + "name": "GreyButton", + "persistentUuid": "b1fc63cb-439f-4eac-94f3-3166e45b008e", + "width": 416, + "x": 144, + "y": 566, + "zOrder": 11, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 64, + "layer": "UI", + "locked": false, + "name": "PlayerName_Input", + "persistentUuid": "94677b3d-f1d4-4ba6-a4c7-cdd835e5e62a", + "width": 624, + "x": 48, + "y": 449, + "zOrder": 13, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "Submit_Text", + "persistentUuid": "9da14278-fce4-4018-8961-50ed48603708", + "width": 0, + "x": 190, + "y": 584, + "zOrder": 14, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "MovesMade_Text", + "persistentUuid": "fac238b3-1961-429e-b4b7-dd10907d885b", + "width": 0, + "x": 206, + "y": 292, + "zOrder": 15, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "TimeSpent_Text", + "persistentUuid": "e6be919b-870b-4567-a03e-73ac421f080b", + "width": 0, + "x": 240, + "y": 361, + "zOrder": 16, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "MovesValue_Text", + "persistentUuid": "e11391aa-eed5-4899-95d8-ce7e4f9767ab", + "width": 0, + "x": 352, + "y": 289, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "TimeValue_Text", + "persistentUuid": "479de729-43d9-497f-a613-f4a817c4f9de", + "width": 0, + "x": 352, + "y": 356, + "zOrder": 18, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "MovesValue_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 3, + "thickness": 3 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "string": "000", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 50, + "color": { + "b": 229, + "g": 93, + "r": 155 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "TimeValue_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 3, + "thickness": 3 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "string": "000.00 seconds", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 50, + "color": { + "b": 229, + "g": 93, + "r": 155 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "SubmitScore_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 6, + "thickness": 6 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "string": "Submit\nScore", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 80, + "color": { + "b": 181, + "g": 91, + "r": 241 + } + }, + { + "assetStoreId": "", + "name": "PlayerName_Input", + "tags": "", + "type": "TextInput::TextInputObject", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "initialValue": "", + "placeholder": "Touch to enter Player name", + "fontResourceName": "PartyConfettiRegular-eZOn3.ttf", + "fontSize": 40, + "inputType": "text", + "textColor": "0;0;0", + "fillColor": "255;255;255", + "fillOpacity": 255, + "borderColor": "0;0;0", + "borderOpacity": 255, + "borderWidth": 4, + "readOnly": false, + "disabled": false + } + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ButtonEffects" + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Initialize", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::SetTextAlignment" + }, + "parameters": [ + "SubmitScore_Text", + "\"center\"" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "LireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"PlayTimer\"", + "", + "PlayTimer" + ] + }, + { + "type": { + "value": "LireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"MovesMade\"", + "", + "MovesMade" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "TimeValue_Text", + "=", + "ExtendedMath::ToFixedString(Variable(PlayTimer) + TimerElapsedTime(\"PlayTimer\"),1) + \" seconds\"" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "MovesValue_Text", + "=", + "ToString(Variable(MovesMade))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "MaxBalls", + "=", + "100" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "BallsCreatedPerFrame", + "=", + "1" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Submit Score", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "SceneVariableAsBoolean" + }, + "parameters": [ + "ScoreSubmitted", + "False" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GreyButton", + "", + "", + "" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Submit_Text", + "GreyButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Leaderboards::SavePlayerScore" + }, + "parameters": [ + "", + "\"8b7b2756-7747-4b0d-85b5-2024bc7e69b5\"", + "Variable(PlayTimer)", + "PlayerName_Input.Text()" + ] + }, + { + "type": { + "value": "Leaderboards::SavePlayerScore" + }, + "parameters": [ + "", + "\"433763ac-db9e-4116-97b6-bc91c98c7dff\"", + "Variable(MovesMade)", + "PlayerName_Input.Text()" + ] + }, + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "ScoreSubmitted", + "True" + ] + }, + { + "type": { + "value": "TextInput::TextInputObject::SetDisabled" + }, + "parameters": [ + "PlayerName_Input", + "yes" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Submit_Text" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "GreyButton" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Verify Score was submitted", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneVariableAsBoolean" + }, + "parameters": [ + "ScoreSubmitted", + "True" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "inverted": true, + "value": "Leaderboards::IsSaving" + }, + "parameters": [ + "\"8b7b2756-7747-4b0d-85b5-2024bc7e69b5\"" + ] + }, + { + "type": { + "inverted": true, + "value": "Leaderboards::IsSaving" + }, + "parameters": [ + "\"433763ac-db9e-4116-97b6-bc91c98c7dff\"" + ] + } + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "Leaderboards::HasLastSaveErrored" + }, + "parameters": [ + "\"8b7b2756-7747-4b0d-85b5-2024bc7e69b5\"" + ] + }, + { + "type": { + "value": "Leaderboards::HasLastSaveErrored" + }, + "parameters": [ + "\"433763ac-db9e-4116-97b6-bc91c98c7dff\"" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "GreyButton", + "" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Submit_Text", + "" + ] + }, + { + "type": { + "value": "TextInput::TextInputObject::SetDisabled" + }, + "parameters": [ + "PlayerName_Input", + "no" + ] + }, + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "ScoreSubmitted", + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Leaderboards::HasLastSaveSucceeded" + }, + "parameters": [ + "\"8b7b2756-7747-4b0d-85b5-2024bc7e69b5\"" + ] + }, + { + "type": { + "value": "Leaderboards::HasLastSaveSucceeded" + }, + "parameters": [ + "\"433763ac-db9e-4116-97b6-bc91c98c7dff\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.25" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Title Screen\"", + "" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Main menu", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GreyButton", + "", + "", + "" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "MainMenu_Text", + "GreyButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.25" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Title Screen\"", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Animate balls", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Throw balls into the air", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Balls", + "<", + "Variable(MaxBalls)" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "Variable(BallsCreatedPerFrame)", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,6))", + "RandomInRange(CameraBorderLeft(),CameraBorderRight())", + "CameraBorderBottom() - 32", + "\"Balls\"" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "270", + "800", + "1" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Pull balls down", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "90", + "10", + "1" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Delete balls that fall too low", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PosY" + }, + "parameters": [ + "Balls", + ">", + "CameraBorderBottom() + 64" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "Balls", + "" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "ViewLeaderboards", + "name": "ViewLeaderboards", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.45999999999999963, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": true, + "height": 106, + "layer": "", + "locked": false, + "name": "GreyButton", + "persistentUuid": "d0228f1d-a8c6-441f-af1c-d6fa1ee8350d", + "width": 400, + "x": 160, + "y": 416, + "zOrder": 6, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 106, + "layer": "", + "locked": false, + "name": "GreyButton", + "persistentUuid": "f7d77978-4859-4d0d-838b-9c684daecb68", + "width": 400, + "x": 160, + "y": 1085, + "zOrder": 7, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "MainMenu_Text", + "persistentUuid": "d55acc50-f0d3-4e18-8ba2-ced5aa97f6f6", + "width": 0, + "x": 248, + "y": 1105, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "FewestMoves_Text", + "persistentUuid": "ba813346-0f32-4aaf-a0bd-ea197c91ce38", + "width": 0, + "x": 240, + "y": 438, + "zOrder": 9, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "ViewLeaderboards_Text", + "persistentUuid": "1b9b5239-1e1b-4164-aac3-5dd56db6f52c", + "width": 0, + "x": 160, + "y": 96, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 106, + "layer": "", + "locked": false, + "name": "GreyButton", + "persistentUuid": "b1fc63cb-439f-4eac-94f3-3166e45b008e", + "width": 400, + "x": 160, + "y": 630, + "zOrder": 11, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "FastestTime_Text", + "persistentUuid": "b906f877-a358-4c4a-9290-556488f2d217", + "width": 0, + "x": 240, + "y": 654, + "zOrder": 12, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "FastestTime_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Fastest Time", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "FewestMoves_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Least Moves", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "ViewLeaderboards_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 6, + "thickness": 6 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "string": "View\nLeaderboards", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 80, + "color": { + "b": 181, + "g": 91, + "r": 241 + } + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ButtonEffects" + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Pause Menu", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::SetTextAlignment" + }, + "parameters": [ + "ViewLeaderboards_Text", + "\"center\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Go back to ", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "BuiltinCommonInstructions::And" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GreyButton", + "", + "", + "" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "Menu", + "", + "", + "" + ] + } + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Play_Text", + "GreyButton", + "", + "", + "" + ] + } + ] + }, + { + "type": { + "value": "KeyReleased" + }, + "parameters": [ + "", + "Escape" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "PopScene" + }, + "parameters": [ + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Main menu", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GreyButton", + "", + "", + "" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "MainMenu_Text", + "GreyButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.5" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Title Screen\"", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "View Leaderboard", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GreyButton", + "", + "", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "FewestMoves_Text", + "GreyButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.25" + ] + }, + { + "type": { + "value": "Leaderboards::DisplayLeaderboard" + }, + "parameters": [ + "", + "\"433763ac-db9e-4116-97b6-bc91c98c7dff\"", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "FastestTime_Text", + "GreyButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.25" + ] + }, + { + "type": { + "value": "Leaderboards::DisplayLeaderboard" + }, + "parameters": [ + "", + "\"8b7b2756-7747-4b0d-85b5-2024bc7e69b5\"", + "yes" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "ScreenSaver", + "name": "ScreenSaver", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.47999999999999965, + "windowMask": false + }, + "objectsGroups": [ + { + "name": "G", + "objects": [ + { + "name": "BouncerG" + }, + { + "name": "GdevelopGLogoBlack" + } + ] + } + ], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": true, + "height": 128, + "layer": "", + "locked": false, + "name": "BouncerG", + "persistentUuid": "dedbbd2c-28ec-49d4-8f2e-3494fc62d2b1", + "width": 160, + "x": 208, + "y": 416, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 128, + "layer": "", + "locked": false, + "name": "GdevelopGLogoBlack", + "persistentUuid": "218a87eb-3c12-4d40-9fca-1e02d4ca81d3", + "width": 160, + "x": 368, + "y": 416, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "ResetWarning_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Are you sure you want to \nreset progress and start over?\n\nIf so, click \"Reset\" button again.", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Paused_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 6, + "thickness": 6 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "string": "Game Paused", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 100, + "color": { + "b": 181, + "g": 91, + "r": 241 + } + }, + { + "assetStoreId": "6e0bb6ed3d9b15390d252ea815ed2e0a3bc72036cb7efc1efcc7d72f3c7610f4", + "name": "BouncerG", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "GDevelop G logo (white).png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "a162e10d1363b9f979a3788061f167d3ab55ebf75a4ee0daa62f30ed10ad09ba", + "name": "GdevelopGLogoBlack", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "GDevelop G logo (black).png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + } + ], + "events": [ + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Animate balls (Circle)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Throw balls into the air", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Balls", + "<", + "500" + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Bottom", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,6))", + "RandomInRange(CameraBorderLeft(),CameraBorderRight())", + "CameraBorderBottom() + 32", + "\"Balls\"" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "Balls.AngleToPosition(CameraCenterX(),CameraCenterY())", + "700", + "1" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Top", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,6))", + "RandomInRange(CameraBorderLeft(),CameraBorderRight())", + "CameraBorderTop()-32", + "\"Balls\"" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "Balls.AngleToPosition(CameraCenterX(),CameraCenterY())", + "700", + "1" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Left", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "2", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,6))", + "CameraBorderLeft()", + "RandomInRange(CameraBorderTop(),CameraBorderBottom())", + "\"Balls\"" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "Balls.AngleToPosition(CameraCenterX(),CameraCenterY())", + "400", + "1" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Right", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "2", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,6))", + "CameraBorderRight()", + "RandomInRange(CameraBorderTop(),CameraBorderBottom())", + "\"Balls\"" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "Balls.AngleToPosition(CameraCenterX(),CameraCenterY())", + "400", + "1" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Pull balls down", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "180 + Balls.AngleToPosition(CameraCenterX(),CameraCenterY())", + "10", + "1" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Delete balls that fall too low", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PosY" + }, + "parameters": [ + "Balls", + ">", + "CameraBorderBottom() + 64" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "Balls", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PosY" + }, + "parameters": [ + "Balls", + "<", + "CameraBorderTop()-64" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "Balls", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PosX" + }, + "parameters": [ + "Balls", + "<", + "CameraBorderLeft()-64" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "Balls", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PosX" + }, + "parameters": [ + "Balls", + ">", + "CameraBorderRight()+64" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "Balls", + "" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "GDevelop logo", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "Balls", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Balls", + "G", + "", + "", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AddForceVers" + }, + "parameters": [ + "Balls", + "G", + "-200", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AddForceVers" + }, + "parameters": [ + "G", + "Balls", + "-200", + "1" + ] + } + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "G", + "90", + "4", + "1" + ] + } + ] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "b": 194, + "disableInputWhenNotFocused": true, + "mangledName": "PauseMenu", + "name": "PauseMenu", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 80, + "standardSortMethod": true, + "stopSoundsOnStartup": false, + "title": "", + "v": 227, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 64, + "gridOffsetX": 0, + "gridOffsetY": 32, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.47999999999999965, + "windowMask": false + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": true, + "height": 128, + "layer": "UI", + "locked": false, + "name": "GreyButton", + "persistentUuid": "d0ffdca1-4e94-4636-a753-05fbce6cb1b1", + "width": 400, + "x": 176, + "y": 480, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "UI", + "locked": false, + "name": "GreyButton", + "persistentUuid": "0fffbb75-2bd0-4743-b459-428d01117ec9", + "width": 144, + "x": 432, + "y": 1078, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "ResetProgress_Text", + "persistentUuid": "e2fc95d2-fd3f-4136-8e58-bc3f1b8e3549", + "width": 0, + "x": 506, + "y": 1100, + "zOrder": 4, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "UI", + "locked": false, + "name": "GreyButton", + "persistentUuid": "0facac56-d2c2-4efc-b56b-d6b4dfa8c88d", + "width": 224, + "x": 64, + "y": 1078, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "MainMenu_Text", + "persistentUuid": "a09c6123-d39c-4fea-8d9b-4f2a9c5f46d1", + "width": 0, + "x": 83, + "y": 1102, + "zOrder": 5, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "Play_Text", + "persistentUuid": "77c837c7-510d-47ca-97f8-9461413105c1", + "width": 0, + "x": 281, + "y": 482, + "zOrder": 6, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 320, + "layer": "UI", + "locked": false, + "name": "ResetWarning_Text", + "persistentUuid": "93d7035e-d099-46c7-b6d6-fc3cd51e7180", + "width": 576, + "x": 96, + "y": 672, + "zOrder": 7, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "Paused_Text", + "persistentUuid": "f7dfda13-b14d-49a6-93a4-3ebe9d3942e2", + "width": 0, + "x": 112, + "y": 59, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "ResetWarning_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Are you sure you want to \nreset progress and start over?\n\nIf so, click \"Reset\" button again.", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 50, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Paused_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 6, + "thickness": 6 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "string": "Game Paused", + "font": "PartyConfettiRegular-eZOn3.ttf", + "characterSize": 100, + "color": { + "b": 181, + "g": 91, + "r": 241 + } + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ButtonEffects" + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Initialize", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "ResetWarning_Text" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PauseMusicCanal" + }, + "parameters": [ + "", + "1" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Go back to game", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "BuiltinCommonInstructions::And" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GreyButton", + "", + "", + "" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "Menu", + "", + "", + "" + ] + } + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Play_Text", + "GreyButton", + "", + "", + "" + ] + } + ] + }, + { + "type": { + "value": "KeyReleased" + }, + "parameters": [ + "", + "Escape" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "RePlayMusicCanal" + }, + "parameters": [ + "", + "1" + ] + }, + { + "type": { + "value": "PopScene" + }, + "parameters": [ + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reset progress", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GreyButton", + "", + "", + "" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "ResetProgress_Text", + "GreyButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "AddForceVers" + }, + "parameters": [ + "Balls", + "ResetWarning_Text", + "1200", + "1" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.1" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "ResetWarning_Text", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "Visible" + }, + "parameters": [ + "ResetWarning_Text" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GreyButton", + "", + "", + "" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "ResetProgress_Text", + "GreyButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "EcrireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"CurrentLevel\"", + "0" + ] + }, + { + "type": { + "value": "EcrireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"PlayTimer\"", + "0" + ] + }, + { + "type": { + "value": "EcrireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"MovesMade\"", + "0" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.5" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Title Screen\"", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Main menu", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GreyButton", + "", + "", + "" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "MainMenu_Text", + "GreyButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.5" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Title Screen\"", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Animate balls (Bottom)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Throw balls into the air", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Balls", + ">=", + "100" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "StopThrowingBalls", + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Visible" + }, + "parameters": [ + "ResetWarning_Text" + ] + }, + { + "type": { + "value": "SceneVariableAsBoolean" + }, + "parameters": [ + "StopThrowingBalls", + "False" + ] + }, + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Balls", + "<", + "100" + ] + } + ], + "actions": [ + { + "type": { + "value": "CreateByName" + }, + "parameters": [ + "", + "Balls", + "\"Ball_\" + ToString(RandomInRange(1,6))", + "RandomInRange(CameraBorderLeft(),CameraBorderRight())", + "CameraBorderBottom() - 32", + "\"Balls\"" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "270", + "800", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Balls", + "=", + "0" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "2" + ] + }, + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "StopThrowingBalls", + "False" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Pull balls down", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Balls", + "90", + "5", + "1" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Delete balls that fall too low", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PosY" + }, + "parameters": [ + "Balls", + ">", + "CameraBorderBottom() + 64" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "Balls", + "" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 9749240, + "ambientLightColorG": 6043312, + "ambientLightColorR": 9951280, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Clouds", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 32, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 8672424, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8228416, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Balls", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 2824416, + "ambientLightColorG": 6043312, + "ambientLightColorR": 19983432, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "FrontCups", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 12, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8451152, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "UI", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 18247312, + "ambientLightColorG": 6043312, + "ambientLightColorR": 8236192, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Debugging", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + }, + { + "name": "ScreenWrap", + "type": "ScreenWrap::ScreenWrap" + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + } + ], + "externalEvents": [ + { + "associatedLayout": "Level 1", + "lastChangeTimeStamp": 0, + "name": "ExplodeCup", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Juicy effects", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Screen shake", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CameraShake::CameraShake" + }, + "parameters": [ + "", + "20", + "20", + "\"\"", + "0", + "0.4", + "0", + "0", + "0.10", + "", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Particles act like glass debris", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "GlassBreaking_Particles", + "Cup.CenterX()", + "Cup.Y() + Cup.Height()*0.25", + "\"FrontCups\"" + ] + }, + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "GlassBreaking_Particles", + "Cup.CenterX()", + "Cup.Y() + Cup.Height()*0.50", + "\"FrontCups\"" + ] + }, + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "GlassBreaking_Particles", + "Cup.CenterX()", + "Cup.Y() + Cup.Height()*0.75", + "\"FrontCups\"" + ] + }, + { + "type": { + "value": "ChangePlan" + }, + "parameters": [ + "GlassBreaking_Particles", + "=", + "Cup.ZOrder() + 1" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Play sounds", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "These play every time", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\Generdyn - 13.aac", + "", + "50", + "1.3" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.100" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\audio - Glass,Bottle,Break,Smash,Messy.aac", + "", + "20", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "50% chance each of these will play", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "RandomInRange(1,2)", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\audio - Hit Rock Debris RBD 02.aac", + "", + "50", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "RandomInRange(1,2)", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\audio - Glass,Shards,Smash,Medium Impact,Lots of Large Shards.aac", + "", + "20", + "1" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Remove cups and ball objects", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Balls", + "Cup", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "Balls", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Sticker::IsStuck" + }, + "parameters": [ + "", + "CupFront", + "Sticker", + "Cup", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "CupFront", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "Cup", + "" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ] + }, + { + "associatedLayout": "Level 1", + "lastChangeTimeStamp": 0, + "name": "DropBall", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Tween::AddObjectPositionTween" + }, + "parameters": [ + "Balls", + "Tween", + "\"MoveBall\"", + "Cup.CenterX()", + "Cup.Y() - (1.5 * Balls.Height())", + "\"linear\"", + "Variable(MoveBall_Duration)", + "" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "Variable(MoveBall_Duration)/1000" + ] + }, + { + "type": { + "value": "ChangeLayer" + }, + "parameters": [ + "Balls", + "\"Balls\"" + ] + }, + { + "type": { + "value": "Tween::AddObjectPositionTween" + }, + "parameters": [ + "Balls", + "Tween", + "\"DropBall\"", + "Cup.CenterX()", + "Cup.Y() + (Variable(MaxBallsPerCup) - Cup.Variable(Balls) - 1) * Balls.Height()", + "\"linear\"", + "Variable(DropBall_Duration)", + "" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Cup", + "Balls", + "+", + "1" + ] + } + ] + } + ] + }, + { + "associatedLayout": "Level 1", + "lastChangeTimeStamp": 0, + "name": "GDevelopLogo", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "GDevelop logo", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "SourisSurObjet" + }, + "parameters": [ + "GdevelopGLogoWhite", + "", + "", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectPositionYTween" + }, + "parameters": [ + "EditInGDevelop_Text", + "Tween", + "\"SlideDown\"", + "GdevelopGLogoWhite.Y() + 128", + "\"easeOutQuad\"", + "250", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "GdevelopGLogoWhite", + "", + "", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectPositionYTween" + }, + "parameters": [ + "EditInGDevelop_Text", + "Tween", + "\"SlideUp\"", + "GdevelopGLogoWhite.Y()", + "\"easeOutQuad\"", + "250", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + } + ], + "actions": [ + { + "type": { + "value": "LaunchFile" + }, + "parameters": [ + "\"https://gdevelop.io/\"", + "" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.25" + ] + }, + { + "type": { + "value": "PushScene" + }, + "parameters": [ + "", + "\"PauseMenu\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Spin logo", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "RepeatEveryXSeconds::Repeat" + }, + "parameters": [ + "", + "\"SpinLogo\"", + "20", + "" + ] + }, + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectAngleTween" + }, + "parameters": [ + "GdevelopGLogoWhite", + "Tween", + "\"SpinLogo\"", + "360", + "\"swingFromTo\"", + "1000", + "" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "9" + ] + }, + { + "type": { + "value": "Tween::AddObjectAngleTween" + }, + "parameters": [ + "GdevelopGLogoWhite", + "Tween", + "\"SpinLogo\"", + "0", + "\"swingFromTo\"", + "1000", + "" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "9" + ] + } + ] + } + ], + "parameters": [] + } + ] + }, + { + "associatedLayout": "Level 1", + "lastChangeTimeStamp": 0, + "name": "GameLogic", + "events": [ + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "GameLogic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Initialize game", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Read from storage", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "LireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"PlayTimer\"", + "", + "PlayTimer" + ] + }, + { + "type": { + "value": "LireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"MovesMade\"", + "", + "MovesMade" + ] + }, + { + "type": { + "value": "LireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"CurrentLevel\"", + "", + "CurrentLevel" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Setup UI", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "BuiltinExternalLayouts::CreateObjectsFromExternalLayout" + }, + "parameters": [ + "", + "\"Shared UI\"", + "0", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "HideLayer" + }, + "parameters": [ + "", + "\"Debugging\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "CurrentLevel_Text", + "=", + "ToString(Variable(CurrentLevel))" + ] + }, + { + "type": { + "value": "SetCenterX" + }, + "parameters": [ + "CurrentLevel_Text", + "=", + "CameraCenterX(CurrentLevel_Text.Layer())" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "MovesMade_Text", + "=", + "\"Moves: \" + ToString(Variable(MovesMade))" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Prepare timer (it will start on first ball move)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "", + "\"PlayTimer\"" + ] + }, + { + "type": { + "value": "PauseTimer" + }, + "parameters": [ + "", + "\"PlayTimer\"" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Create Clouds", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "BuiltinExternalLayouts::CreateObjectsFromExternalLayout" + }, + "parameters": [ + "", + "\"Clouds\"", + "0", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Clouds", + "180", + "RandomInRange(5,10)", + "1" + ] + }, + { + "type": { + "value": "Opacity" + }, + "parameters": [ + "Clouds", + "=", + "RandomInRange(128,196)" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Set starting zoom for the scene", + "comment2": "" + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Camera", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "StartingZoom", + "=", + "0.65" + ] + }, + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "Variable(StartingZoom)", + "\"\"", + "" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Slide camera in", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Start with camera off to the side", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetCameraCenterX" + }, + "parameters": [ + "", + "-", + "CameraWidth(\"\",0) + Cloud.Width()", + "\"\"", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Slide camera into view", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Tween::TweenCameraPosition" + }, + "parameters": [ + "", + "\"SlideCameraIn\"", + "CameraCenterX(\"\",0) + CameraWidth(\"\",0)", + "CameraCenterY(\"\",0)", + "\"\"", + "GlobalVariable(CameraMoveDuration) * 1000", + "\"easeOutBack\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "GlobalVariable(CameraMoveDuration)" + ] + }, + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"Idle\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Start timer", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "", + "\"ExplosionDelay\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Initialize variables", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "PickupBall_Duration", + "=", + "125" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "MoveBall_Duration", + "=", + "150" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "DropBall_Duration", + "=", + "150" + ] + }, + { + "type": { + "value": "Opacity" + }, + "parameters": [ + "Cup", + "=", + "128" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "MaxBallsPerCup", + "=", + "4" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Create front cups automatically", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "Cup", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "CupFront", + "Cup.X()", + "Cup.Y()", + "\"FrontCups\"" + ] + }, + { + "type": { + "value": "ChangeHeight" + }, + "parameters": [ + "CupFront", + "=", + "Cup.Height()" + ] + }, + { + "type": { + "value": "ChangeWidth" + }, + "parameters": [ + "CupFront", + "=", + "Cup.Width()" + ] + }, + { + "type": { + "value": "Opacity" + }, + "parameters": [ + "CupFront", + "=", + "64" + ] + }, + { + "type": { + "value": "Sticker::Sticker::Stick" + }, + "parameters": [ + "CupFront", + "Sticker", + "Cup", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make sure balls start in center of cups", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Balls", + "Cup", + "", + "", + "yes" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCenterX" + }, + "parameters": [ + "Balls", + "=", + "Cup.CenterX()" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Count balls per cup", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "Cup", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Balls", + "Cup", + "", + "", + "yes" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Cup", + "Balls", + "=", + "PickedInstancesCount(Balls)" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "GameState: Idle", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"Idle\"" + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reset variables", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Cup", + "StartingCup", + "False" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Select ball to pickup", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "Cup", + "", + "", + "" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Balls", + "Cup", + "", + "", + "yes" + ] + }, + { + "type": { + "value": "PickNearest" + }, + "parameters": [ + "Balls", + "Cup.CenterX()", + "Cup.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "inverted": true, + "value": "Tween::IsPlaying" + }, + "parameters": [ + "Balls", + "Tween", + "\"PickupBall\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectPositionYTween" + }, + "parameters": [ + "Balls", + "Tween", + "\"PickupBall\"", + "Cup.Y() - 1.1 * Balls.Height()", + "\"easeInQuad\"", + "Variable(PickupBall_Duration)", + "" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Balls", + "PickedUp", + "True" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Cup", + "StartingCup", + "True" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Cup", + "Balls", + "-", + "1" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "HoverOffsetX", + "=", + "MouseX(\"\") - Cup.CenterX()" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "HoverOffsetY", + "=", + "MouseY(\"\") - Cup.BoundingBoxTop() + 1.1 * Balls.Height()" + ] + }, + { + "type": { + "value": "ChangeLayer" + }, + "parameters": [ + "Balls", + "\"FrontCups\"" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\Nikolay Overchenko - Whoosh, cartoon, whirring 2.aac", + "", + "20", + "RandomFloatInRange(1.5,1.7)" + ] + }, + { + "type": { + "value": "DeviceVibration::StartVibration" + }, + "parameters": [ + "10" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Start play timer the first time a ball is moved", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "TimerPaused" + }, + "parameters": [ + "", + "\"PlayTimer\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "UnPauseTimer" + }, + "parameters": [ + "", + "\"PlayTimer\"" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Transition", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "Variable(PickupBall_Duration)/1000" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Left" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"DraggingBall\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Left" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"BallFloating\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "GameState: BallFloating", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"BallFloating\"" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"DroppingBall\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "GameState: DraggingBall", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"DraggingBall\"" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Balls", + "PickedUp", + "True" + ] + } + ], + "actions": [ + { + "type": { + "value": "MettreXY" + }, + "parameters": [ + "Balls", + "=", + "lerp(Balls.X(), MouseX() - Variable(HoverOffsetX), 0.3)", + "=", + "lerp(Balls.Y(), MouseY() - Variable(HoverOffsetY), 0.3)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"DroppingBall\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "GameState: DroppingBall", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"DroppingBall\"" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reset variables", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "ValidDropLocation", + "False" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Cup", + "DropTarget", + "False" + ] + } + ] + } + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Balls", + "PickedUp", + "True" + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Check for valid drop", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "A drop is valid when the ball or cursor is over a cup with remaining space. If cursor and ball are both over a cup, select the cup that has the ball over it.", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Cup", + "Balls", + "<", + "Variable(MaxBallsPerCup)" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Balls", + "Cup", + "", + "", + "yes" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "ValidDropLocation", + "True" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Cup", + "DropTarget", + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "The cursor will be used only if the ball was not over a cup. ", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Cup", + "DropTarget", + "False" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "Cup", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "ValidDropLocation", + "True" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Cup", + "DropTarget", + "True" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Perform valid drop", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneVariableAsBoolean" + }, + "parameters": [ + "ValidDropLocation", + "True" + ] + }, + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Cup", + "DropTarget", + "True" + ] + }, + { + "type": { + "value": "PickNearest" + }, + "parameters": [ + "Cup", + "Ball.CenterX()", + "Ball.CenterY()", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Cup", + "StartingCup", + "False" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "MovesMade", + "+", + "1" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "MovesMade_Text", + "=", + "\"Moves: \" + ToString(Variable(MovesMade))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "DropBall" + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Invalid drops go back into starting cup", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneVariableAsBoolean" + }, + "parameters": [ + "ValidDropLocation", + "False" + ] + }, + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Cup", + "StartingCup", + "True" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "DropBall" + } + ] + } + ], + "parameters": [] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Transition", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reset variables", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Balls", + "PickedUp", + "False" + ] + } + ] + } + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "(Variable(MoveBall_Duration) + Variable(DropBall_Duration))/1000" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\audio - BLLTImpt Hit Marker 07.aac", + "", + "40", + "RandomFloatInRange(0.9,1.1)" + ] + }, + { + "type": { + "value": "DeviceVibration::StartVibration" + }, + "parameters": [ + "10" + ] + }, + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"CheckIfComplete\"" + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "GameState: CheckIfComplete", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"CheckIfComplete\"" + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Test all possible colors", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "Cup", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 194, + "g": 227, + "r": 80, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "NOTE: If you add new ball objects, you need to add another event at the bottom of this event group. \nYou can copy and paste an event and then update the object name everywhere in the event. \nYou will also need to add the new objects to the object group called \"Balls\"", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Ball_1", + "Cup", + "", + "", + "no" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "PickedInstancesCount(Ball_1)", + "=", + "Variable(MaxBallsPerCup)" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ExplodeCup" + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Ball_2", + "Cup", + "", + "", + "no" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "PickedInstancesCount(Ball_2)", + "=", + "Variable(MaxBallsPerCup)" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ExplodeCup" + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Ball_3", + "Cup", + "", + "", + "no" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "PickedInstancesCount(Ball_3)", + "=", + "Variable(MaxBallsPerCup)" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ExplodeCup" + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Ball_4", + "Cup", + "", + "", + "no" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "PickedInstancesCount(Ball_4)", + "=", + "Variable(MaxBallsPerCup)" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ExplodeCup" + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Ball_5", + "Cup", + "", + "", + "no" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "PickedInstancesCount(Ball_5)", + "=", + "Variable(MaxBallsPerCup)" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ExplodeCup" + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Ball_6", + "Cup", + "", + "", + "no" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "PickedInstancesCount(Ball_6)", + "=", + "Variable(MaxBallsPerCup)" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ExplodeCup" + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Transition", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "If balls still exist, go back to \"Idle\"", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Balls", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"Idle\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "If no balls exist, explode a random cup", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Balls", + "=", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Timers must be started manually", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "", + "\"ExplosionDelay\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Cup", + ">", + "0" + ] + }, + { + "type": { + "value": "CompareTimer" + }, + "parameters": [ + "", + "\"ExplosionDelay\"", + ">", + "0.2" + ] + }, + { + "type": { + "value": "AjoutHasard" + }, + "parameters": [ + "", + "Cup" + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "", + "\"ExplosionDelay\"" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ExplodeCup" + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "If no cups exist, go to \"LevelComplete\"", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Cup", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"LevelComplete\"" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "GameState: LevelComplete", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"LevelComplete\"" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "CurrentLevel", + "+", + "1" + ] + }, + { + "type": { + "value": "EcrireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"CurrentLevel\"", + "Variable(CurrentLevel)" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "PlayTimer", + "+", + "TimerElapsedTime(\"PlayTimer\")" + ] + }, + { + "type": { + "value": "EcrireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"PlayTimer\"", + "Variable(PlayTimer)" + ] + }, + { + "type": { + "value": "EcrireFichierExp" + }, + "parameters": [ + "\"BallCupBoom\"", + "\"MovesMade\"", + "Variable(MovesMade)" + ] + }, + { + "type": { + "value": "PauseTimer" + }, + "parameters": [ + "", + "\"PlayTimer\"" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "1.3" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\audio - Success 2a.aac", + "", + "100", + "1" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Slide camera out of scene", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Tween::TweenCameraPosition" + }, + "parameters": [ + "", + "\"SlideCameraOut\"", + "CameraCenterX(\"\",0) + CameraWidth(\"\",0) + Clouds.Width()", + "CameraCenterY(\"\",0)", + "\"\"", + "GlobalVariable(CameraMoveDuration) * 1000", + "\"easeInBack\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "GlobalVariable(CameraMoveDuration)" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Level \" + ToString(Variable(CurrentLevel))", + "" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "UI", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "GDevelopLogo" + }, + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ButtonEffects" + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Pause Menu", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "KeyReleased" + }, + "parameters": [ + "", + "Escape" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::And" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "Menu", + "", + "", + "" + ] + }, + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + } + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.25" + ] + }, + { + "type": { + "value": "PushScene" + }, + "parameters": [ + "", + "\"PauseMenu\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Color the starting cup", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Cup", + "StartingCup", + "False" + ] + } + ], + "actions": [ + { + "type": { + "value": "ChangeColor" + }, + "parameters": [ + "Cup", + "\"255;255;255\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Cup", + "StartingCup", + "True" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "ChangeColor" + }, + "parameters": [ + "Cup", + "\"74;144;226\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Outline on hover", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "EnableEffect" + }, + "parameters": [ + "CupFront", + "\"Effect\"", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "CupFront", + "", + "", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::And" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Balls", + "PickedUp", + "True" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Balls", + "CupFront", + "", + "", + "yes" + ] + } + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "EnableEffect" + }, + "parameters": [ + "CupFront", + "\"Effect\"", + "yes" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update timer text", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "inverted": true, + "value": "TimerPaused" + }, + "parameters": [ + "", + "\"PlayTimer\"" + ] + }, + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "TimeSpent_Text", + "=", + "\"Time: \" + ExtendedMath::ToFixedString(Variable(PlayTimer) + TimerElapsedTime(\"PlayTimer\"),1)" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Camera", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CopyCameraSettings::CopyCameraSettings" + }, + "parameters": [ + "", + "\"\"", + "0", + "\"Balls\"", + "0", + "yes", + "yes", + "", + "", + "" + ] + }, + { + "type": { + "value": "CopyCameraSettings::CopyCameraSettings" + }, + "parameters": [ + "", + "\"\"", + "0", + "\"FrontCups\"", + "0", + "yes", + "yes", + "", + "", + "" + ] + }, + { + "type": { + "value": "CopyCameraSettings::CopyCameraSettings" + }, + "parameters": [ + "", + "\"\"", + "0", + "\"Debugging\"", + "0", + "yes", + "yes", + "", + "", + "" + ] + }, + { + "type": { + "value": "CopyCameraSettings::CopyCameraSettings" + }, + "parameters": [ + "", + "\"\"", + "0", + "\"Clouds\"", + "0", + "yes", + "yes", + "no", + "", + "" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ], + "parameters": [] + }, + { + "colorB": 255, + "colorG": 55, + "colorR": 17, + "creationTime": 0, + "disabled": true, + "name": "Debugging and Testing (enable this to show debugging info)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ShowLayer" + }, + "parameters": [ + "", + "\"Debugging\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "GameState_Text", + "=", + "\"GameState: \" + NewLine() + VariableString(GameState)" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Draw numbers on cups", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "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": "Create text objects and link with cup", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "Cup", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "BallsInCup_Text", + "Cup.X()-Cup.Width()/4", + "Cup.Y()", + "\"Debugging\"" + ] + }, + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "BallsInCup_Text", + "Cup" + ] + } + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "Cup", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "BallsInCup_Text", + "Cup", + "", + "", + "yes" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "BallsInCup_Text", + "=", + "ToString(Cup.Variable(Balls))" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Explode on demand", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "KeyReleased" + }, + "parameters": [ + "", + "e" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Cup", + "Balls", + "", + "", + "" + ] + }, + { + "type": { + "value": "AjoutHasard" + }, + "parameters": [ + "", + "Cup" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Link", + "include": { + "includeConfig": 0 + }, + "target": "ExplodeCup" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"CheckIfComplete\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ] + }, + { + "associatedLayout": "Title Screen", + "lastChangeTimeStamp": 0, + "name": "ButtonEffects", + "events": [ + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Button effects", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reset effects", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "SourisSurObjet" + }, + "parameters": [ + "Buttons", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ChangeColor" + }, + "parameters": [ + "Buttons", + "\"255;255;255\"" + ] + }, + { + "type": { + "value": "EnableEffect" + }, + "parameters": [ + "Buttons", + "\"Effect\"", + "no" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "ButtonText", + "Buttons", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::ChangeColor" + }, + "parameters": [ + "ButtonText", + "\"255;255;255\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Hover", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "Buttons", + "", + "", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "EnableEffect" + }, + "parameters": [ + "Buttons", + "\"Effect\"", + "yes" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\audio - BLLTImpt Hit Marker 07.aac", + "", + "15", + "4" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "ButtonText", + "Buttons", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::ChangeColor" + }, + "parameters": [ + "ButtonText", + "\"241;91;181\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Click", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "Buttons", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ChangeColor" + }, + "parameters": [ + "Buttons", + "\"74;74;74\"" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\audio - BLLTImpt Hit Marker 07.aac", + "", + "40", + "2" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "Buttons", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ChangeColor" + }, + "parameters": [ + "Buttons", + "\"255;255;255\"" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets\\audio\\audio - BLLTImpt Hit Marker 07.aac", + "", + "40", + "3" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ] + } + ], + "eventsFunctionsExtensions": [ + { + "author": "add_, @Jurfix", + "category": "", + "description": "Expressions:\n - Mathematical constants\n - Greatest common factor/Lowest common multiple\n - Factorial\n - Coordinates conversion for polar and isometric systems\n - ToFixedString: Formats a number into a string with the specified number of decimal places\n - ToFixed: (Deprecated) Formats a number to use the specified number of decimal places\n\nConditions:\n- IsEven: Check if the number is even (divisible by 2)\n\nRelease Notes:\n\nVersion 1.0.7\n- Added ToFixedString()\n- Deprecated ToFixed() because it does not show any trailing zeros for whole numbers. Prefer using ToFixedString() to set values in text objects.\n", + "extensionNamespace": "", + "fullName": "Extended math support", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWZ1bmN0aW9uLXZhcmlhbnQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNDIsNS4yOUMxMS4zMiw1LjE5IDEwLjM1LDYgMTAuMjUsNy4xMUwxMCwxMEgxMi44MlYxMkg5LjgyTDkuMzgsMTcuMDdDOS4xOCwxOS4yNyA3LjI0LDIwLjkgNS4wNCwyMC43QzMuNzksMjAuNTkgMi42NiwxOS45IDIsMTguODNMMy41LDE3LjMzQzMuODMsMTguMzggNC45NiwxOC45NyA2LDE4LjYzQzYuNzgsMTguMzkgNy4zMywxNy43IDcuNCwxNi44OUw3LjgyLDEySDQuODJWMTBIOEw4LjI3LDYuOTNDOC40Niw0LjczIDEwLjM5LDMuMSAxMi42LDMuMjhDMTMuODYsMy4zOSAxNSw0LjA5IDE1LjY2LDUuMTdMMTQuMTYsNi42N0MxMy45MSw1LjkgMTMuMjMsNS4zNiAxMi40Miw1LjI5TTIyLDEzLjY1TDIwLjU5LDEyLjI0TDE3Ljc2LDE1LjA3TDE0LjkzLDEyLjI0TDEzLjUsMTMuNjVMMTYuMzUsMTYuNUwxMy41LDE5LjMxTDE0LjkzLDIwLjcyTDE3Ljc2LDE3Ljg5TDIwLjU5LDIwLjcyTDIyLDE5LjMxTDE5LjE3LDE2LjVMMjIsMTMuNjVaIiAvPjwvc3ZnPg==", + "name": "ExtendedMath", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/function-variant.svg", + "shortDescription": "Additional math functions and constants as expressions and conditions.", + "version": "1.1.0", + "origin": { + "identifier": "ExtendedMath", + "name": "gdevelop-extension-store" + }, + "tags": [ + "math", + "constants", + "conversion", + "coordinates", + "convert", + "format", + "modulus" + ], + "authorIds": [ + "AlZ3D1xkH0QDao7T37VZZUeYNpn1", + "dt0tRnf2kHWJnjkrpnzTzNj9Yc63" + ], + "dependencies": [], + "eventsFunctions": [ + { + "description": "Returns a term from the Fibonacci sequence.", + "fullName": "Fibonacci numbers", + "functionType": "Expression", + "group": "", + "name": "Fibonacci", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "function fibonacci(n) {\n let initial = 0;\n let final = 1;\n let sum = 0;\n\n let i = 0;\n for(i = 2; i <= n; i++) {\n sum = initial + final;\n\n initial = final;\n final = sum;\n }\n return n ? final : initial;\n}\n\nconst n = eventsFunctionContext.getArgument(\"n\");\n\neventsFunctionContext.returnValue = fibonacci(n);", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "The desired term in the sequence", + "longDescription": "", + "name": "n", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Calculates the steepness of a line between two points.", + "fullName": "Slope", + "functionType": "Expression", + "group": "", + "name": "Slope", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const x1 = eventsFunctionContext.getArgument(\"x1\");\r\nconst y1 = eventsFunctionContext.getArgument(\"y1\");\r\nconst x2 = eventsFunctionContext.getArgument(\"x2\");\r\nconst y2 = eventsFunctionContext.getArgument(\"y2\");\r\n\r\neventsFunctionContext.returnValue = (y2 - y1) / (x2 - x1);", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "X value of the first point", + "longDescription": "", + "name": "x1", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Y value of the first point", + "longDescription": "", + "name": "y1", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "X value of the second point", + "longDescription": "", + "name": "x2", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Y value of the second point", + "longDescription": "", + "name": "y2", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Converts a number of one range e.g. 0-1 to another 0-255.", + "fullName": "Map", + "functionType": "Expression", + "group": "", + "name": "Map", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const n = eventsFunctionContext.getArgument(\"n\");\nconst min1 = eventsFunctionContext.getArgument(\"min1\");\nconst max1 = eventsFunctionContext.getArgument(\"max1\");\nconst min2 = eventsFunctionContext.getArgument(\"min2\");\nconst max2 = eventsFunctionContext.getArgument(\"max2\");\n\neventsFunctionContext.returnValue = (n - min1) * (max2 - min2) / (max1 - min1) + min2;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "The value to convert", + "longDescription": "", + "name": "n", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "The lowest value of the first range", + "longDescription": "", + "name": "min1", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "The highest value of the first range", + "longDescription": "", + "name": "max1", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "The lowest value of the second range", + "longDescription": "", + "name": "min2", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "The highest value of the second range", + "longDescription": "", + "name": "max2", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Returns the value of the length of the hypotenuse.", + "fullName": "Hypotenuse length", + "functionType": "Expression", + "group": "", + "name": "Hypot", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const a = eventsFunctionContext.getArgument(\"a\");\r\nconst b = eventsFunctionContext.getArgument(\"b\");\r\n\r\neventsFunctionContext.returnValue = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "First side of the triangle", + "longDescription": "", + "name": "a", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Second side of the triangle", + "longDescription": "", + "name": "b", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Returns the greatest common factor of two numbers.", + "fullName": "Greatest common factor (gcf)", + "functionType": "Expression", + "group": "", + "name": "Gcf", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "//uses Euclid's algorithm\nfunction gcf(a, b) {\n while (a != b) {\n if (a > b) {\n a = a - b;\n } else {\n b = b - a;\n }\n }\n return a;\n}\n\nconst a = eventsFunctionContext.getArgument(\"a\");\nconst b = eventsFunctionContext.getArgument(\"b\");\n\nif (Number.isInteger(a) === false || Number.isInteger(b) === false) {\n eventsFunctionContext.returnValue = 0;\n} \nelse if (a === 0) {\n eventsFunctionContext.returnValue = b;\n} \nelse if (b === 0) {\n eventsFunctionContext.returnValue = a;\n} else {\n eventsFunctionContext.returnValue = gcf(a, b);\n}", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Any integer", + "longDescription": "", + "name": "a", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Any integer", + "longDescription": "", + "name": "b", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Returns the lowest common multiple of two numbers.", + "fullName": "Lowest common multiple (lcm)", + "functionType": "Expression", + "group": "", + "name": "Lcm", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "function gcf(a, b) {\r\n while (a != b) {\r\n if (a > b) {\r\n a = a - b;\r\n } else {\r\n b = b - a;\r\n }\r\n }\r\n return a;\r\n}\r\n\r\nfunction lcm(a, b) {\r\n return Math.abs(a * b) / gcf(a, b);\r\n}\r\n\r\nconst a = eventsFunctionContext.getArgument(\"a\");\r\nconst b = eventsFunctionContext.getArgument(\"b\");\r\n\r\nif (Number.isInteger(a) === false || Number.isInteger(b) === false) {\r\n eventsFunctionContext.returnValue = 0;\r\n} \r\nelse if (a === 0) {\r\n eventsFunctionContext.returnValue = b;\r\n} \r\nelse if (b === 0) {\r\n eventsFunctionContext.returnValue = a;\r\n} else {\r\n eventsFunctionContext.returnValue = lcm(a, b);\r\n}", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Any integer", + "longDescription": "", + "name": "a", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Any integer", + "longDescription": "", + "name": "b", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Returns the input multiplied by all the previous whole numbers.", + "fullName": "Factorial", + "functionType": "Expression", + "group": "", + "name": "Factorial", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "function factorial(n) {\r\n let result = 1;\r\n\r\n let i = 1;\r\n for (i = 1; i <= n; i++) {\r\n result *= i;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nconst n = eventsFunctionContext.getArgument(\"n\");\r\n\r\neventsFunctionContext.returnValue = factorial(n);", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Any positive integer", + "longDescription": "", + "name": "n", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Converts a polar coordinate into the Cartesian x value.", + "fullName": "Polar coordinate to Cartesian X value", + "functionType": "Expression", + "group": "", + "name": "PolarToCartesianX", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const r = eventsFunctionContext.getArgument(\"r\");\nconst theta = eventsFunctionContext.getArgument(\"theta\");\n\neventsFunctionContext.returnValue = r * Math.cos(theta);", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Radius", + "longDescription": "", + "name": "r", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Angle or theta in radians", + "longDescription": "", + "name": "theta", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Converts a polar coordinate into the Cartesian y value.", + "fullName": "Polar coordinate to Cartesian Y value", + "functionType": "Expression", + "group": "", + "name": "PolarToCartesianY", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const r = eventsFunctionContext.getArgument(\"r\");\nconst theta = eventsFunctionContext.getArgument(\"theta\");\n\neventsFunctionContext.returnValue = r * Math.sin(theta);", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Radius ", + "longDescription": "", + "name": "r", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Angle or theta in radians", + "longDescription": "", + "name": "theta", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Converts a isometric coordinate into the Cartesian x value.", + "fullName": "Isometric coordinate to Cartesian X value", + "functionType": "Expression", + "group": "", + "name": "IsoToCartesianX", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const x = eventsFunctionContext.getArgument(\"x\");\nconst y = eventsFunctionContext.getArgument(\"y\");\n\neventsFunctionContext.returnValue = (2 * y + x) * 0.5;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Position on the x axis", + "longDescription": "", + "name": "x", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Position on the y axis", + "longDescription": "", + "name": "y", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Converts a isometric coordinate into the Cartesian y value.", + "fullName": "Isometric coordinate to Cartesian Y value", + "functionType": "Expression", + "group": "", + "name": "IisoToCartesianY", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const x = eventsFunctionContext.getArgument(\"x\");\nconst y = eventsFunctionContext.getArgument(\"y\");\n\neventsFunctionContext.returnValue = (2 * y - x) * 0.5;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Position on the x axis", + "longDescription": "", + "name": "x", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Position on the y axis", + "longDescription": "", + "name": "y", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Returns the golden ratio.", + "fullName": "Golden ratio", + "functionType": "Expression", + "group": "", + "name": "GoldenRatio", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "1.618033988749894" + ] + } + ] + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Returns Pi (Ï€).", + "fullName": "Pi (Ï€)", + "functionType": "Expression", + "group": "", + "name": "Pi", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "eventsFunctionContext.returnValue = Math.PI;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [] + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Returns half Pi.", + "fullName": "Half Pi", + "functionType": "Expression", + "group": "", + "name": "HalfPi", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "eventsFunctionContext.returnValue = Math.PI / 2;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Returns the natural logarithm of e. (Euler's number).", + "fullName": "Natural logarithm of e", + "functionType": "Expression", + "group": "", + "name": "E", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "eventsFunctionContext.returnValue = Math.E;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Returns the natural logarithm of 2.", + "fullName": "Natural logarithm of 2", + "functionType": "Expression", + "group": "", + "name": "Ln2", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "eventsFunctionContext.returnValue = Math.LN2;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Returns the natural logarithm of 10.", + "fullName": "Natural logarithm of 10", + "functionType": "Expression", + "group": "", + "name": "Ln10", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "eventsFunctionContext.returnValue = Math.LN10;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Returns the base 2 logarithm of e. (Euler's number).", + "fullName": "Base 2 logarithm of e", + "functionType": "Expression", + "group": "", + "name": "Log2e", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "eventsFunctionContext.returnValue = Math.LOG10E;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Returns the base 10 logarithm of e. (Euler's number).", + "fullName": "Base 10 logarithm of e", + "functionType": "Expression", + "group": "", + "name": "Log10e", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "eventsFunctionContext.returnValue = Math.LOG10E;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Returns square root of 2.", + "fullName": "Square root of 2", + "functionType": "Expression", + "group": "", + "name": "Sqrt2", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "eventsFunctionContext.returnValue = Math.SQRT2;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Returns square root of 1/2.", + "fullName": "Square root of 1/2", + "functionType": "Expression", + "group": "", + "name": "Sqrt1_2", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "eventsFunctionContext.returnValue = Math.SQRT1_2;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Returns quarter Pi.", + "fullName": "Quarter Pi", + "functionType": "Expression", + "group": "", + "name": "QuarterPi", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "eventsFunctionContext.returnValue = Math.PI / 4;", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Formats a number to use the specified number of decimal places (Deprecated).", + "fullName": "ToFixed", + "functionType": "Expression", + "group": "", + "name": "ToFixed", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [] + }, + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const valueToBeRounded = eventsFunctionContext.getArgument(\"ValueToBeRounded\");\nconst numberOfDecimalPlaces = eventsFunctionContext.getArgument(\"NumberOfDecimalPlaces\");\neventsFunctionContext.returnValue = Number(valueToBeRounded.toFixed(numberOfDecimalPlaces));", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "The value to be rounded", + "longDescription": "", + "name": "ValueToBeRounded", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Number of decimal places", + "longDescription": "", + "name": "NumberOfDecimalPlaces", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Formats a number to a string with the specified number of decimal places.", + "fullName": "ToFixed", + "functionType": "StringExpression", + "group": "", + "name": "ToFixedString", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [] + }, + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const valueToBeRounded = eventsFunctionContext.getArgument(\"ValueToBeRounded\");\nconst numberOfDecimalPlaces = eventsFunctionContext.getArgument(\"NumberOfDecimalPlaces\");\neventsFunctionContext.returnValue = valueToBeRounded.toFixed(numberOfDecimalPlaces);", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "The value to be rounded", + "longDescription": "", + "name": "ValueToBeRounded", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Number of decimal places", + "longDescription": "", + "name": "NumberOfDecimalPlaces", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the number is even (divisible by 2). To check for odd numbers, invert this condition.", + "fullName": "Is even?", + "functionType": "Condition", + "group": "", + "name": "IsEven", + "private": false, + "sentence": "_PARAM1_ is even", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "mod(GetArgumentAsNumber(\"Value\"),2)", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Value", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [] + }, + { + "author": "VegeTato, arthuro555", + "category": "", + "description": "Convenience conditions, actions and behaviors for timers to trigger a condition every X seconds.", + "extensionNamespace": "", + "fullName": "Repeat every X seconds", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXJlcGVhdCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNywxN0g3VjE0TDMsMThMNywyMlYxOUgxOVYxM0gxN003LDdIMTdWMTBMMjEsNkwxNywyVjVINVYxMUg3VjdaIiAvPjwvc3ZnPg==", + "name": "RepeatEveryXSeconds", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/repeat.svg", + "shortDescription": "This allows to trigger an event every X seconds.", + "version": "0.1.0", + "origin": { + "identifier": "RepeatEveryXSeconds", + "name": "gdevelop-extension-store" + }, + "tags": [ + "repeat", + "timer", + "time", + "convenience" + ], + "authorIds": [ + "ZgrsWuRTAkXgeuPV9bo0zuEcA2w1", + "IRIhkkTTl2UHhfjrLTTH5GYwkYu1" + ], + "dependencies": [], + "eventsFunctions": [ + { + "description": "Triggers every X seconds.", + "fullName": "Repeat every X seconds", + "functionType": "Condition", + "group": "", + "name": "Repeat", + "private": false, + "sentence": "Repeat timer _PARAM1_ every _PARAM2_ seconds", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "player", + "GetArgumentAsString(\"timerName\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Timer" + }, + "parameters": [ + "player", + "GetArgumentAsNumber(\"time\")", + "GetArgumentAsString(\"timerName\")" + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "player", + "GetArgumentAsString(\"timerName\")" + ] + }, + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "The name of the timer to loop", + "longDescription": "", + "name": "timerName", + "optional": false, + "supplementaryInformation": "", + "type": "string" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "The time in seconds between each trigger", + "longDescription": "", + "name": "time", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Triggers every X seconds X amount of times.", + "fullName": "Repeat every X seconds in X number", + "functionType": "Condition", + "group": "", + "name": "RepeatXTimes", + "private": false, + "sentence": "Repeat timer _PARAM1_ every _PARAM2_ seconds _PARAM3_ times", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "player", + "GetArgumentAsString(\"timerName\")" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RepeatEveryXSeconds_.Counter[GetArgumentAsString(\"timerName\")]", + "=", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Timer" + }, + "parameters": [ + "player", + "GetArgumentAsNumber(\"time\")", + "GetArgumentAsString(\"timerName\")" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "GetArgumentAsNumber(\"limit\")", + "=", + "-1" + ] + }, + { + "type": { + "value": "VarScene" + }, + "parameters": [ + "__RepeatEveryXSeconds_.Counter[GetArgumentAsString(\"timerName\")]", + "<", + "GetArgumentAsNumber(\"limit\")" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "player", + "GetArgumentAsString(\"timerName\")" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RepeatEveryXSeconds_.Counter[GetArgumentAsString(\"timerName\")]", + "+", + "1" + ] + }, + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "The name of the timer to loop", + "longDescription": "", + "name": "timerName", + "optional": false, + "supplementaryInformation": "", + "type": "string" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "The time in seconds between each trigger", + "longDescription": "", + "name": "time", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "The limit of loops", + "longDescription": "The condition will trigger at most this amount of times. Make it -1 for looping forever.", + "name": "limit", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [ + { + "description": "Allows to repeat an object timer every X seconds.", + "fullName": "Repeat every X seconds", + "name": "RepeatTimer", + "objectType": "", + "eventsFunctions": [ + { + "description": "", + "fullName": "", + "functionType": "Action", + "group": "", + "name": "onCreated", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyTimerName()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "RepeatEveryXSeconds::RepeatTimer", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Triggers every X seconds, where X is defined in the behavior properties.", + "fullName": "Repeat every X seconds", + "functionType": "Condition", + "group": "", + "name": "Repeat", + "private": false, + "sentence": "Recurring timer _PARAM1_ of _PARAM0_ has triggered", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyTimerName()", + "Object.Behavior::PropertyTimerLength()" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "RepeatEveryXSeconds::RepeatTimer::PropertyLimit" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "-1" + ] + }, + { + "type": { + "value": "RepeatEveryXSeconds::RepeatTimer::PropertyCounter" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyLimit()" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyTimerName()" + ] + }, + { + "type": { + "value": "RepeatEveryXSeconds::RepeatTimer::SetPropertyCounter" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + }, + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "RepeatEveryXSeconds::RepeatTimer", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Pauses a recurring timer.", + "fullName": "Pause a recurring timer", + "functionType": "Action", + "group": "", + "name": "Pause", + "private": false, + "sentence": "Pause recurring timer _PARAM1_ of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PauseObjectTimer" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyTimerName()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "RepeatEveryXSeconds::RepeatTimer", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Resumes a paused recurring timer.", + "fullName": "Resume a recurring timer", + "functionType": "Action", + "group": "", + "name": "Resume", + "private": false, + "sentence": "Resume recurring timer _PARAM1_ of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "UnPauseObjectTimer" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyTimerName()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "RepeatEveryXSeconds::RepeatTimer", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Allows to trigger the recurring timer X times again.", + "fullName": "Reset the limit", + "functionType": "Action", + "group": "", + "name": "ResetLimit", + "private": false, + "sentence": "Allow to trigger the recurring timer _PARAM1_ of _PARAM0_ X times again", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RepeatEveryXSeconds::RepeatTimer::SetPropertyCounter" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "RepeatEveryXSeconds::RepeatTimer", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "MyTimer", + "type": "String", + "label": "The name of the timer to repeat", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "TimerName" + }, + { + "value": "1", + "type": "Number", + "label": "The time between each trigger (in seconds)", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "TimerLength" + }, + { + "value": "-1", + "type": "Number", + "label": "How many times should the timer trigger? -1 for forever.", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Limit" + }, + { + "value": "0", + "type": "Number", + "label": "An internal counter", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "Counter" + } + ] + } + ] + }, + { + "author": "D8H", + "category": "", + "description": "This extension can be useful for:\n* Stick an accessory to a moving object,\n* Animate a skeleton.", + "extensionNamespace": "", + "fullName": "Stick objects to others", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXN0aWNrZXItb3V0bGluZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik01LjUgMkMzLjYgMiAyIDMuNiAyIDUuNVYxOC41QzIgMjAuNCAzLjYgMjIgNS41IDIySDE2TDIyIDE2VjUuNUMyMiAzLjYgMjAuNCAyIDE4LjUgMkg1LjVNNS44IDRIMTguM0MxOS4zIDQgMjAuMSA0LjggMjAuMSA1LjhWMTVIMTguNkMxNi43IDE1IDE1LjEgMTYuNiAxNS4xIDE4LjVWMjBINS44QzQuOCAyMCA0IDE5LjIgNCAxOC4yVjUuOEM0IDQuOCA0LjggNCA1LjggNCIgLz48L3N2Zz4=", + "name": "Sticker", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/sticker-outline.svg", + "shortDescription": "Behavior to stick objects to other objects - so that they follow the position and rotation of the object they are stuck to.", + "version": "0.3.4", + "origin": { + "identifier": "Sticker", + "name": "gdevelop-extension-store" + }, + "tags": [ + "sticker", + "stick", + "follow", + "skeleton", + "joint" + ], + "authorIds": [ + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" + ], + "dependencies": [], + "eventsFunctions": [ + { + "description": "Check if the object is stuck to another object.", + "fullName": "Is stuck to another object", + "functionType": "Condition", + "group": "", + "name": "IsStuck", + "private": false, + "sentence": "_PARAM1_ is stuck to _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const stickerBehaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");\n/** @type {Hashtable} */\nconst stickerObjectsLists = eventsFunctionContext.getObjectsLists(\"Object\");\n/** @type {Hashtable} */\nconst basisObjectsLists = eventsFunctionContext.getObjectsLists(\"BasisObject\");\n\neventsFunctionContext.returnValue = gdjs.evtTools.object.twoListsTest(\n (stickerObject, basisObject, stickerBehaviorName) => {\n const behavior = stickerObject.getBehavior(stickerBehaviorName);\n return behavior.basisObject === basisObject;\n },\n stickerObjectsLists,\n basisObjectsLists,\n false,\n stickerBehaviorName\n);", + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Sticker", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "objectList" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Sticker behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Basis", + "longDescription": "", + "name": "BasisObject", + "optional": false, + "supplementaryInformation": "", + "type": "objectList" + } + ], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [ + { + "description": "Stick the object to another. Use the action to stick the object, or unstick it later.", + "fullName": "Sticker", + "name": "Sticker", + "objectType": "", + "eventsFunctions": [ + { + "description": "", + "fullName": "", + "functionType": "Action", + "group": "", + "name": "onCreated", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");\nconst object = objects[0];\nconst behavior = object.getBehavior(behaviorName);\n\n// Set up the scene sticker objects list - if not done already.\nif (!runtimeScene.__allStickers)\n runtimeScene.__allStickers = new Set();\n\n// Set up the behavior extra methods - if not done already.\nconst prototype = Object.getPrototypeOf(behavior);\nif (!prototype.updateRelativeCoordinates) {\n // Unstick from deleted objects.\n gdjs.registerObjectDeletedFromSceneCallback(function (runtimeScene, deletedObject) {\n if (!runtimeScene.__allStickers) return;\n\n for (const sticker of runtimeScene.__allStickers) {\n if (sticker.basisObject === deletedObject) {\n sticker.basisObject = null;\n }\n }\n });\n\n /**\n * Update the coordinates in the basisObject basis.\n * \n * It uses the basisObject coordinates from the previous frame.\n * This way, the sticker can move relatively to it and still\n * follow basisObject.\n * \n * @param {gdjs.RuntimeObject} basisObject\n */\n prototype.updateRelativeCoordinates = function (basisObject) {\n const object = this.owner;\n\n // Update relative coordinates\n this.relativeX = object.getX() - this.basisOldX;\n this.relativeY = object.getY() - this.basisOldY;\n if (!this._getOnlyFollowPosition()) {\n this.relativeAngle = object.getAngle() - this.basisOldAngle;\n this.relativeWidth = object.getWidth() / this.basisOldWidth;\n this.relativeHeight = object.getHeight() / this.basisOldHeight;\n const deltaX = object.getCenterXInScene() - this.basisOldCenterXInScene;\n const deltaY = object.getCenterYInScene() - this.basisOldCenterYInScene;\n const angle = this.basisOldAngle * Math.PI / 180;\n this.relativeRotatedX = (deltaX * Math.cos(angle) + deltaY * Math.sin(angle)) / this.basisOldWidth;\n this.relativeRotatedY = (-deltaX * Math.sin(angle) + deltaY * Math.cos(angle)) / this.basisOldHeight;\n\n // Save initial values to avoid calculus and rounding errors\n this.basisOriginalWidth = basisObject.getWidth();\n this.basisOriginalHeight = basisObject.getHeight();\n this.basisOriginalAngle = basisObject.getAngle();\n }\n }\n\n /**\n * Copy the coordinates to use it the next frame.\n * @param basisObject {gdjs.RuntimeObject}\n */\n prototype.updateOldCoordinates = function (basisObject) {\n const object = this.owner;\n\n this.ownerOldX = object.getX();\n this.ownerOldY = object.getY();\n\n this.basisOldX = basisObject.getX();\n this.basisOldY = basisObject.getY();\n\n if (!this._getOnlyFollowPosition()) {\n this.ownerOldAngle = object.getAngle();\n this.ownerOldWidth = object.getWidth();\n this.ownerOldHeight = object.getHeight();\n\n this.basisOldAngle = basisObject.getAngle();\n this.basisOldWidth = basisObject.getWidth();\n this.basisOldHeight = basisObject.getHeight();\n this.basisOldCenterXInScene = basisObject.getCenterXInScene();\n this.basisOldCenterYInScene = basisObject.getCenterYInScene();\n }\n }\n /**\n * Follow the basisObject (called in doStepPostEvents).\n * \n * This method is also called by children to ensure\n * parents are updated first.\n */\n prototype.followBasisObject = function () {\n if (this.followingDoneThisFrame) {\n return;\n }\n this.followingDoneThisFrame = true;\n /** @type {gdjs.RuntimeObject} */\n const basisObject = this.basisObject;\n if (basisObject) {\n // If the behavior on the basis object has a different name,\n // the objects will still follow their basis objects\n // but frame delays could happen.\n if (basisObject.hasBehavior(behaviorName)) {\n const basisBehavior = basisObject.getBehavior(behaviorName);\n if (basisBehavior.type === this.type) {\n // Follow parents 1st to avoid frame delays\n basisBehavior.followBasisObject();\n }\n }\n\n const object = this.owner;\n\n if (this._getOnlyFollowPosition()) {\n if (object.getX() !== this.ownerOldX\n || object.getY() !== this.ownerOldY) {\n this.updateRelativeCoordinates(basisObject);\n }\n\n if (this.basisOldX !== basisObject.getX() ||\n this.basisOldY !== basisObject.getY()) {\n object.setPosition(\n basisObject.getX() + this.relativeX,\n basisObject.getY() + this.relativeY);\n }\n } else {\n if (object.getX() !== this.ownerOldX\n || object.getY() !== this.ownerOldY\n || object.getAngle() !== this.ownerOldAngle\n || object.getWidth() !== this.ownerOldWidth\n || object.getHeight() !== this.ownerOldHeight) {\n this.updateRelativeCoordinates(basisObject);\n }\n\n // Follow basisObject\n if (basisObject.getAngle() === this.basisOriginalAngle && this.basisOriginalAngle === 0) {\n if (basisObject.getWidth() === this.basisOriginalWidth ||\n basisObject.getHeight() === this.basisOriginalHeight) {\n if (this.basisOldX !== basisObject.getX() ||\n this.basisOldY !== basisObject.getY()) {\n object.setPosition(\n basisObject.getX() + this.relativeX,\n basisObject.getY() + this.relativeY);\n }\n } else {\n object.setPosition(\n basisObject.getX() + this.relativeRotatedX * basisObject.getWidth(),\n basisObject.getY() + this.relativeRotatedY * basisObject.getHeight());\n }\n } else {\n object.setAngle(basisObject.getAngle() + this.relativeAngle);\n\n const deltaX = this.relativeRotatedX * basisObject.getWidth();\n const deltaY = this.relativeRotatedY * basisObject.getHeight();\n const angle = -basisObject.getAngle() * Math.PI / 180;\n object.setX(basisObject.getCenterXInScene() + object.getX() - object.getCenterXInScene() + deltaX * Math.cos(angle) + deltaY * Math.sin(angle));\n object.setY(basisObject.getCenterYInScene() + object.getY() - object.getCenterYInScene() - deltaX * Math.sin(angle) + deltaY * Math.cos(angle));\n }\n // Unproportional dimensions changes won't work as expected\n // if the object angle is not null but nothing more can be done\n // because there is no full affine transformation on objects.\n if (basisObject.getWidth() !== this.basisOriginalWidth) {\n object.setWidth(this.relativeWidth * basisObject.getWidth());\n }\n if (basisObject.getHeight() !== this.basisOriginalHeight) {\n object.setHeight(this.relativeHeight * basisObject.getHeight());\n }\n }\n\n this.updateOldCoordinates(basisObject);\n }\n }\n}\n\n// Register this object as a sticker.\nruntimeScene.__allStickers.add(behavior);\n", + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "", + "fullName": "", + "functionType": "Action", + "group": "", + "name": "doStepPreEvents", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");\nconst object = objects[0];\nconst behavior = object.getBehavior(behaviorName);\n\nbehavior.followingDoneThisFrame = false;", + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "", + "fullName": "", + "functionType": "Action", + "group": "", + "name": "doStepPostEvents", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");\nconst object = objects[0];\nconst behavior = object.getBehavior(behaviorName);\n\nbehavior.followBasisObject();", + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Stick on another object.", + "fullName": "Stick", + "functionType": "Action", + "group": "", + "name": "Stick", + "private": false, + "sentence": "Stick _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const object = objects[0];\nconst behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");\nconst basisObjects = eventsFunctionContext.getObjects(\"BasisObject\");\n\nif (basisObjects.length === 0) return;\nconst basisObject = basisObjects[0];\n\nconst behavior = object.getBehavior(behaviorName);\n\nbehavior.basisObject = basisObject;\nbehavior.updateOldCoordinates(basisObject);\nbehavior.updateRelativeCoordinates(basisObject);\n", + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Object to stick to", + "longDescription": "", + "name": "BasisObject", + "optional": false, + "supplementaryInformation": "", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "Unstick from the object it was stuck to.", + "fullName": "Unstick", + "functionType": "Action", + "group": "", + "name": "Unstick", + "private": false, + "sentence": "Unstick _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const object = objects[0];\nconst behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");\nconst behavior = object.getBehavior(behaviorName);\n\nbehavior.basisObject = null;", + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "", + "fullName": "", + "functionType": "Action", + "group": "", + "name": "onDestroy", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");\nconst object = objects[0];\nconst behavior = object.getBehavior(behaviorName);\n\nif (runtimeScene.__allStickers)\n runtimeScene.__allStickers.delete(behavior);\n", + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Boolean", + "label": "Only follow the position", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "OnlyFollowPosition" + } + ] + } + ] + }, + { + "author": "", + "category": "", + "description": "Useful when multiple layers need to use the same camera values.\n\nHow to use:\n- Run the \"Copy camera settings\" action after all other camera actions have been performed\n\nTips:\n- Do not use on layers that implement a parallax effect", + "extensionNamespace": "", + "fullName": "Copy camera settings", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWxheWVycy10cmlwbGUtb3V0bGluZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMiAxNi41NEwxOS4zNyAxMC44TDIxIDEyLjA3TDEyIDE5LjA3TDMgMTIuMDdMNC42MiAxMC44MUwxMiAxNi41NE0xMiAxNEwzIDdMMTIgMEwyMSA3TDEyIDE0TTEyIDIuNTNMNi4yNiA3TDEyIDExLjQ3TDE3Ljc0IDdMMTIgMi41M00xMiAyMS40N0wxOS4zNyAxNS43M0wyMSAxN0wxMiAyNEwzIDE3TDQuNjIgMTUuNzRMMTIgMjEuNDciIC8+PC9zdmc+", + "name": "CopyCameraSettings", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/layers-triple-outline.svg", + "shortDescription": "Copy the camera settings of a layer and apply them to another layer.", + "version": "1.0.0", + "origin": { + "identifier": "CopyCameraSettings", + "name": "gdevelop-extension-store" + }, + "tags": [ + "camera", + "clone", + "zoom", + "position", + "layer", + "angle", + "copy" + ], + "authorIds": [ + "gqDaZjCfevOOxBYkK6zlhtZnXCg1" + ], + "dependencies": [], + "eventsFunctions": [ + { + "description": "Copy camera settings of a layer and apply them to another layer.", + "fullName": "Copy camera settings", + "functionType": "Action", + "group": "", + "name": "CopyCameraSettings", + "private": false, + "sentence": "Copy camera settings of _PARAM1_ layer and apply them to _PARAM3_ layer (X position: _PARAM5_, Y position: _PARAM6_, Zoom: _PARAM7_, Angle: _PARAM8_)", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"CloneX\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraX" + }, + "parameters": [ + "", + "=", + "CameraX(GetArgumentAsString(\"SourceLayer\"),GetArgumentAsNumber(\"SourceCamera\"))", + "GetArgumentAsString(\"DestinationLayer\")", + "GetArgumentAsNumber(\"DestinationCamera\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"CloneY\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraY" + }, + "parameters": [ + "", + "=", + "CameraY(GetArgumentAsString(\"SourceLayer\"),GetArgumentAsNumber(\"SourceCamera\"))", + "GetArgumentAsString(\"DestinationLayer\")", + "GetArgumentAsNumber(\"DestinationCamera\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"CloneZoom\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "CameraZoom(GetArgumentAsString(\"SourceLayer\"),GetArgumentAsNumber(\"SourceCamera\"))", + "GetArgumentAsString(\"DestinationLayer\")", + "GetArgumentAsNumber(\"DestinationCamera\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"CloneAngle\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraAngle" + }, + "parameters": [ + "", + "=", + "CameraAngle(GetArgumentAsString(\"SourceLayer\"),GetArgumentAsNumber(\"SourceCamera\"))", + "GetArgumentAsString(\"DestinationLayer\")", + "GetArgumentAsNumber(\"DestinationCamera\")" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Source layer", + "longDescription": "", + "name": "SourceLayer", + "optional": false, + "supplementaryInformation": "", + "type": "layer" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Source camera", + "longDescription": "", + "name": "SourceCamera", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Destination layer", + "longDescription": "", + "name": "DestinationLayer", + "optional": false, + "supplementaryInformation": "", + "type": "layer" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Destination camera", + "longDescription": "", + "name": "DestinationCamera", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Clone X position", + "longDescription": "", + "name": "CloneX", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Clone Y position", + "longDescription": "", + "name": "CloneY", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Clone zoom", + "longDescription": "", + "name": "CloneZoom", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Clone angle", + "longDescription": "", + "name": "CloneAngle", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [] + }, + { + "author": "westboy31, Tristan Rhodes (https://victrisgames.itch.io/)", + "category": "", + "description": "Ideal for explosions, hit/impacts, earthquake, etc.\n\nSelect one or more methods of shaking:\n- Position: Shake the X and/or Y position of the camera \n- Angle: Shake the rotation of the camera \n- Zoom: Shake the zoom level of the camera \n\nControl how the camera shakes:\n- Amplitude: How far the camera moves during each shake\n- Duration: Amount of time to shake the camera\n- Time between shakes: Amount of time between each change of the movement of the camera\n- Keep shaking until stopped (boolean)\n\nTips:\n- For a single-shake effect, set the \"Time between shakes\" to be equal to \"Duration\" (great for a hit or impact)\n- To make the single-shake move in the opposite direction, use negative numbers \n- To repeat a single-shake effect in a loop, add a condition \"Camera is not shaking\" \n- Use a long \"Time between shakes\" to simulate a slow moving object (like a ship rocking back and forth)\n- Make sure to \"Stop shaking\" before starting a new shake if it uses different parameters. \n- Use \"Shake until stopped\" to simulate engine vibration, earthquake, or pulsing\n", + "extensionNamespace": "", + "fullName": "Camera Shake", + "helpPath": "https://victrisgames.itch.io/gdevelop-camera-shake-example", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXZlY3Rvci1kaWZmZXJlbmNlLWFiIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMsMUMxLjg5LDEgMSwxLjg5IDEsM1Y1SDNWM0g1VjFIM003LDFWM0gxMFYxSDdNMTIsMVYzSDE0VjVIMTZWM0MxNiwxLjg5IDE1LjExLDEgMTQsMUgxMk0xLDdWMTBIM1Y3SDFNMTQsN0MxNCw3IDE0LDExLjY3IDE0LDE0QzExLjY3LDE0IDcsMTQgNywxNEM3LDE0IDcsMTggNywyMEM3LDIxLjExIDcuODksMjIgOSwyMkgyMEMyMS4xMSwyMiAyMiwyMS4xMSAyMiwyMFY5QzIyLDcuODkgMjEuMTEsNyAyMCw3QzE4LDcgMTQsNyAxNCw3TTE2LDlIMjBWMjBIOVYxNkgxNEMxNS4xMSwxNiAxNiwxNS4xMSAxNiwxNFY5TTEsMTJWMTRDMSwxNS4xMSAxLjg5LDE2IDMsMTZINVYxNEgzVjEySDFaIiAvPjwvc3ZnPg==", + "name": "CameraShake", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/vector-difference-ab.svg", + "shortDescription": "Shake the camera on the specified layer using one or more methods of shaking (position, angle, zoom).", + "version": "2.6.6", + "origin": { + "identifier": "CameraShake", + "name": "gdevelop-extension-store" + }, + "tags": [ + "shaking", + "camera", + "effect", + "screen", + "shake", + "zoom", + "position", + "rotate" + ], + "authorIds": [ + "gqDaZjCfevOOxBYkK6zlhtZnXCg1", + "m4hBMBTUilft4s1V4FQQPakVDGx1" + ], + "dependencies": [], + "eventsFunctions": [ + { + "description": "Shake the camera on the specified layer, using one or more ways to shake (position, angle, zoom).", + "fullName": "Camera Shake", + "functionType": "Action", + "group": "", + "name": "CameraShake", + "private": false, + "sentence": "Shake camera on _PARAM3_ layer for _PARAM5_ seconds. Use an amplitude of _PARAM1_px on X axis and _PARAM2_px on Y axis, angle rotation amplitude _PARAM6_ degrees, and zoom amplitude _PARAM7_ percent. Wait _PARAM8_ seconds between shakes. Keep shaking until stopped: _PARAM9_", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Camera Shake", + "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", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "", + "\"__CameraShake_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", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_PowerX", + "=", + "GetArgumentAsNumber(\"PowerX\")" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_PowerY", + "=", + "GetArgumentAsNumber(\"PowerY\")" + ] + }, + { + "type": { + "value": "ModVarGlobalTxt" + }, + "parameters": [ + "__CameraShake_Layer", + "=", + "GetArgumentAsString(\"Layer\")" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_Camera", + "=", + "GetArgumentAsNumber(\"Camera\")" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_Duration", + "=", + "GetArgumentAsNumber(\"Duration\")" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_PowerAngle", + "=", + "GetArgumentAsNumber(\"PowerAngle\")" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_PowerZoom", + "=", + "GetArgumentAsNumber(\"PowerZoom\")" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_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", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetGlobalVariableAsBoolean" + }, + "parameters": [ + "__CameraShake_ShakeForever", + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"ShakeForever\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetGlobalVariableAsBoolean" + }, + "parameters": [ + "__CameraShake_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", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_Duration", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_Duration", + "=", + "0.5" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_TimeBetweenShakes", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_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", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_Duration", + "<", + "GlobalVariable(__CameraShake_TimeBetweenShakes)" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_Duration", + "=", + "GlobalVariable(__CameraShake_TimeBetweenShakes)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Detect initial shake", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_ShakeInProgress", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_InitialShake", + "=", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Initiate the onScenePostEvents function", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_ShakeInProgress", + "=", + "1" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Amplitude of shaking on the X axis (pixels) (For example: 5)", + "longDescription": "", + "name": "PowerX", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Amplitude of shaking on the Y axis (pixels) (For example: 5)", + "longDescription": "", + "name": "PowerY", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Layer (base layer if empty)", + "longDescription": "", + "name": "Layer", + "optional": false, + "supplementaryInformation": "", + "type": "layer" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Camera index (Default: 0)", + "longDescription": "", + "name": "Camera", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Duration (seconds) (Default: 0.5)", + "longDescription": "", + "name": "Duration", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Angle rotation amplitude (degrees) (For example: 2)", + "longDescription": "", + "name": "PowerAngle", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Zoom amplitude (percent change) (For example: 3)", + "longDescription": "", + "name": "PowerZoom", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Amount of time between shakes (seconds) (Default: 0.08)", + "longDescription": "", + "name": "TimeBetweenShakes", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Keep shaking until stopped", + "longDescription": "Duration value will be ignored", + "name": "ShakeForever", + "optional": false, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "", + "fullName": "", + "functionType": "Action", + "group": "", + "name": "onScenePostEvents", + "private": false, + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Camera Shake", + "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": "VarGlobal" + }, + "parameters": [ + "__CameraShake_ShakeInProgress", + "=", + "1" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Keep shaking forever (if desired)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GlobalVariableAsBoolean" + }, + "parameters": [ + "__CameraShake_ShakeForever", + "True" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_Duration", + "=", + "100" + ] + }, + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "", + "\"__CameraShake_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", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_InitialShake", + "=", + "1" + ] + }, + { + "type": { + "value": "Timer" + }, + "parameters": [ + "", + "GlobalVariable(__CameraShake_TimeBetweenShakes)", + "\"__CameraShake_ShakeTimer\"" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "", + "\"__CameraShake_ShakeTimer\"" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_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", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerAngle", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "RotateCamera" + }, + "parameters": [ + "", + "-", + "GlobalVariable(__CameraShake_AngleTravelled)", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerZoom", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "CameraZoom(GlobalVariableString(__CameraShake_Layer),GlobalVariable(__CameraShake_Camera)) - GlobalVariable(__CameraShake_ZoomTravelled)", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraX" + }, + "parameters": [ + "Object", + "-", + "GlobalVariable(__CameraShake_DisplacementTravelledX)", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + }, + { + "type": { + "value": "SetCameraY" + }, + "parameters": [ + "Object", + "-", + "GlobalVariable(__CameraShake_DisplacementTravelledY)", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reset drift detection variables", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementTravelledX", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementTravelledY", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_AngleTravelled", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_ZoomTravelled", + "=", + "0" + ] + } + ] + } + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate Position Shake", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_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]", + "comment2": "" + }, + { + "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", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_InitialShake", + "=", + "1" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerX", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementX", + "=", + "(GlobalVariable(__CameraShake_Duration) - TimerElapsedTime(\"__CameraShake_DurationTimer\")) / GlobalVariable(__CameraShake_Duration) * GlobalVariable(__CameraShake_PowerX)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerY", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementY", + "=", + "(GlobalVariable(__CameraShake_Duration) - TimerElapsedTime(\"__CameraShake_DurationTimer\")) / GlobalVariable(__CameraShake_Duration) * GlobalVariable(__CameraShake_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", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_InitialShake", + "=", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerX", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementX", + "=", + "(GlobalVariable(__CameraShake_Duration) - TimerElapsedTime(\"__CameraShake_DurationTimer\")) / GlobalVariable(__CameraShake_Duration) * GlobalVariable(__CameraShake_PowerX) * RandomWithStep(-1, 1, 2)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerY", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementY", + "=", + "(GlobalVariable(__CameraShake_Duration) - TimerElapsedTime(\"__CameraShake_DurationTimer\")) / GlobalVariable(__CameraShake_Duration) * GlobalVariable(__CameraShake_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 ", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_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 counter-clockwise", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "DisplacementAngle = ((DesiredDuration - RunningTimer) / DesiredDuration) * Amplitude", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "mod(GlobalVariable(__CameraShake_ShakeCounter),2)", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementAngle", + "=", + "(GlobalVariable(__CameraShake_Duration) - TimerElapsedTime(\"__CameraShake_DurationTimer\")) / GlobalVariable(__CameraShake_Duration) * GlobalVariable(__CameraShake_PowerAngle)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Every \"odd\" shake, rotate clockwise (this includes the initial shake and can be used for a one shake effect)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "DisplacementAngle = -1 * ((DesiredDuration - RunningTimer) / DesiredDuration) * Amplitude", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "mod(GlobalVariable(__CameraShake_ShakeCounter),2)", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementAngle", + "=", + "-1 * (GlobalVariable(__CameraShake_Duration) - TimerElapsedTime(\"__CameraShake_DurationTimer\")) / GlobalVariable(__CameraShake_Duration) * GlobalVariable(__CameraShake_PowerAngle)" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate Zoom shake", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerZoom", + "!=", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate camera zoom displacement, with linear decay over time", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "ZoomDisplacement = ((DesiredDuration - RunningTimer) / DesiredDuration) * Amplitude * 1/100", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Every even shake, increase zoom", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "mod(GlobalVariable(__CameraShake_ShakeCounter),2)", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementZoom", + "=", + "-1 * (GlobalVariable(__CameraShake_Duration) - TimerElapsedTime(\"__CameraShake_DurationTimer\")) / GlobalVariable(__CameraShake_Duration) * GlobalVariable(__CameraShake_PowerZoom) * (1/100)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Every \"odd\" shake, decrease scale", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "ZoomDisplacement = -1 * ((DesiredDuration - RunningTimer) / DesiredDuration) * Amplitude * 1/100", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "mod(GlobalVariable(__CameraShake_ShakeCounter),2)", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementZoom", + "=", + "(GlobalVariable(__CameraShake_Duration) - TimerElapsedTime(\"__CameraShake_DurationTimer\")) / GlobalVariable(__CameraShake_Duration) * GlobalVariable(__CameraShake_PowerZoom) * (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", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_InitialShake", + "=", + "0" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Move camera", + "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", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__CameraShake_PercentTimeElapsedThisFrame", + "=", + "min(1,TimeDelta()/GlobalVariable(__CameraShake_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)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Timer" + }, + "parameters": [ + "", + "GlobalVariable(__CameraShake_TimeBetweenShakes)/2", + "\"__CameraShake_ShakeTimer\"" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change position", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "CameraX" + }, + "parameters": [ + "", + "-", + "round(1024 * GlobalVariable(__CameraShake_DisplacementX) * Variable(__CameraShake_PercentTimeElapsedThisFrame)) / 1024", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + }, + { + "type": { + "value": "CameraY" + }, + "parameters": [ + "", + "-", + "round(1024 * GlobalVariable(__CameraShake_DisplacementY) * Variable(__CameraShake_PercentTimeElapsedThisFrame)) / 1024", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementTravelledX", + "-", + "round(1024 * GlobalVariable(__CameraShake_DisplacementX) * Variable(__CameraShake_PercentTimeElapsedThisFrame)) / 1024" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementTravelledY", + "-", + "round(1024 * GlobalVariable(__CameraShake_DisplacementY) * Variable(__CameraShake_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change angle", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "GlobalVariable(__CameraShake_PowerAngle)", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "RotateCamera" + }, + "parameters": [ + "", + "+", + "round(1024 * (GlobalVariable(__CameraShake_DisplacementAngle) * Variable(__CameraShake_PercentTimeElapsedThisFrame))) / 1024", + "GlobalVariableString(__CameraShake_Layer)", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_AngleTravelled", + "+", + "round(1024 * (GlobalVariable(__CameraShake_DisplacementAngle) * Variable(__CameraShake_PercentTimeElapsedThisFrame))) / 1024" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change zoom", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "GlobalVariable(__CameraShake_PowerZoom)", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "CameraZoom(GlobalVariableString(__CameraShake_Layer),GlobalVariable(__CameraShake_Camera)) + round(1024 * GlobalVariable(__CameraShake_DisplacementZoom) * Variable(__CameraShake_PercentTimeElapsedThisFrame)) / 1024", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_ZoomTravelled", + "+", + "round(1024 * GlobalVariable(__CameraShake_DisplacementZoom) * Variable(__CameraShake_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)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Timer" + }, + "parameters": [ + "", + "GlobalVariable(__CameraShake_TimeBetweenShakes)/2", + "\"__CameraShake_ShakeTimer\"" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change position", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "CameraX" + }, + "parameters": [ + "", + "+", + "round(1024 * GlobalVariable(__CameraShake_DisplacementX) * Variable(__CameraShake_PercentTimeElapsedThisFrame)) / 1024", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + }, + { + "type": { + "value": "CameraY" + }, + "parameters": [ + "", + "+", + "round(1024 * GlobalVariable(__CameraShake_DisplacementY) * Variable(__CameraShake_PercentTimeElapsedThisFrame)) / 1024", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save the amount of change to calculate drift", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementTravelledX", + "+", + "round(1024 * GlobalVariable(__CameraShake_DisplacementX) * Variable(__CameraShake_PercentTimeElapsedThisFrame)) / 1024" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementTravelledY", + "+", + "round(1024 * GlobalVariable(__CameraShake_DisplacementY) * Variable(__CameraShake_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change angle", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "GlobalVariable(__CameraShake_PowerAngle)", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "RotateCamera" + }, + "parameters": [ + "", + "-", + "round(1024 * (GlobalVariable(__CameraShake_DisplacementAngle) * Variable(__CameraShake_PercentTimeElapsedThisFrame))) / 1024", + "GlobalVariableString(__CameraShake_Layer)", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save the amount of change to calculate drift", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_AngleTravelled", + "-", + "round(1024 * (GlobalVariable(__CameraShake_DisplacementAngle) * Variable(__CameraShake_PercentTimeElapsedThisFrame))) / 1024" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change zoom", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "GlobalVariable(__CameraShake_PowerZoom)", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "CameraZoom(GlobalVariableString(__CameraShake_Layer),GlobalVariable(__CameraShake_Camera)) - round(1024 * GlobalVariable(__CameraShake_DisplacementZoom) * Variable(__CameraShake_PercentTimeElapsedThisFrame)) / 1024", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save the amount of change to calculate drift", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_ZoomTravelled", + "-", + "round(1024 * GlobalVariable(__CameraShake_DisplacementZoom) * Variable(__CameraShake_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 stop shaking has been requested", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "Timer" + }, + "parameters": [ + "", + "GlobalVariable(__CameraShake_Duration)", + "\"__CameraShake_DurationTimer\"" + ] + }, + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_ShakeInProgress", + "=", + "-1" + ] + } + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_ShakeInProgress", + "=", + "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 drift from previous shake", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerAngle", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "RotateCamera" + }, + "parameters": [ + "", + "-", + "GlobalVariable(__CameraShake_AngleTravelled)", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerZoom", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "CameraZoom(GlobalVariableString(__CameraShake_Layer),GlobalVariable(__CameraShake_Camera)) - GlobalVariable(__CameraShake_ZoomTravelled)", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraX" + }, + "parameters": [ + "Object", + "-", + "GlobalVariable(__CameraShake_DisplacementTravelledX)", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + }, + { + "type": { + "value": "SetCameraY" + }, + "parameters": [ + "Object", + "-", + "GlobalVariable(__CameraShake_DisplacementTravelledY)", + "GlobalVariableString(__CameraShake_Layer)", + "GlobalVariable(__CameraShake_Camera)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reset drift detection variables", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementTravelledX", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_DisplacementTravelledY", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_AngleTravelled", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_ZoomTravelled", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_ShakeCounter", + "=", + "0" + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Check if camera is shaking.", + "fullName": "Check if camera is shaking", + "functionType": "Condition", + "group": "", + "name": "IsShaking", + "private": false, + "sentence": " Camera is shaking", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarGlobal" + }, + "parameters": [ + "__CameraShake_ShakeInProgress", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Stop shaking the camera.", + "fullName": "Stop shaking the camera", + "functionType": "Action", + "group": "", + "name": "StopShaking", + "private": false, + "sentence": "Stop shaking the camera", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CameraShake::IsShaking" + }, + "parameters": [ + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "__CameraShake_ShakeInProgress", + "=", + "-1" + ] + } + ] + } + ], + "parameters": [], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [] + } + ], + "externalLayouts": [ + { + "associatedLayout": "Level 1", + "name": "Clouds", + "instances": [ + { + "angle": 0, + "customSize": true, + "height": 248, + "layer": "Clouds", + "locked": false, + "name": "Cloud2", + "persistentUuid": "4ce07246-aecc-44c7-a4d2-4e0cdcdc8045", + "width": 392, + "x": -304, + "y": 360, + "zOrder": 39, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Clouds", + "locked": false, + "name": "Cloud1", + "persistentUuid": "053b2530-5e8d-4141-9e90-dcae02b16771", + "width": 0, + "x": 384, + "y": 32, + "zOrder": 40, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Clouds", + "locked": false, + "name": "Cloud3", + "persistentUuid": "f6d2a7c7-9e2b-4b2d-8904-40090c79f04b", + "width": 0, + "x": 384, + "y": 586, + "zOrder": 38, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Clouds", + "locked": false, + "name": "Cloud4", + "persistentUuid": "3807924e-f765-4d15-8429-8f6ad4bb1772", + "width": 0, + "x": -484, + "y": 928, + "zOrder": 37, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 0.39999999999999947, + "windowMask": false + } + }, + { + "associatedLayout": "Level 1", + "name": "Shared UI", + "instances": [ + { + "angle": 0, + "customSize": true, + "height": 90, + "layer": "UI", + "locked": false, + "name": "Menu", + "persistentUuid": "a81b699d-6aae-46a3-a1e9-22658bfe11a0", + "width": 82, + "x": 608, + "y": 32, + "zOrder": 43, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 64, + "layer": "UI", + "locked": false, + "name": "GdevelopGLogoWhite", + "persistentUuid": "c688e9bc-e61d-41a6-8f05-cb105baae96b", + "width": 80, + "x": 32, + "y": 1184, + "zOrder": 41, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 60, + "layer": "UI", + "locked": false, + "name": "EditInGDevelop_Text", + "persistentUuid": "808fc8e3-bd1f-446c-a234-7577a9d6a9cd", + "width": 128, + "x": 128, + "y": 1280, + "zOrder": 42, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 50, + "layer": "Debugging", + "locked": false, + "name": "GameState_Text", + "persistentUuid": "1b6d4f83-b789-4ae9-a5ab-a20d41ce6e4b", + "width": 304, + "x": 192, + "y": 1070, + "zOrder": 44, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "CurrentLevel_Text", + "persistentUuid": "e6714323-f471-4a62-87bb-5ca4d8fe198a", + "width": 0, + "x": 304, + "y": 16, + "zOrder": 45, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "MovesMade_Text", + "persistentUuid": "b039b070-8c4c-4493-b18b-7c7d8518fdf4", + "width": 0, + "x": 448, + "y": 1152, + "zOrder": 46, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "locked": false, + "name": "TimeSpent_Text", + "persistentUuid": "a0814683-1f7b-4829-8458-ae9ae0f83c90", + "width": 0, + "x": 448, + "y": 1198, + "zOrder": 47, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": true, + "zoomFactor": 0.47999999999999954, + "windowMask": false + } + } + ], + "externalSourceFiles": [] +} \ No newline at end of file diff --git a/examples/ball-cup-boom/desktop-icon-512.png b/examples/ball-cup-boom/desktop-icon-512.png new file mode 100644 index 000000000..a58671951 Binary files /dev/null and b/examples/ball-cup-boom/desktop-icon-512.png differ diff --git a/examples/ball-cup-boom/ios-icon-100.png b/examples/ball-cup-boom/ios-icon-100.png new file mode 100644 index 000000000..7231b260f Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-100.png differ diff --git a/examples/ball-cup-boom/ios-icon-1024.png b/examples/ball-cup-boom/ios-icon-1024.png new file mode 100644 index 000000000..9c662a472 Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-1024.png differ diff --git a/examples/ball-cup-boom/ios-icon-114.png b/examples/ball-cup-boom/ios-icon-114.png new file mode 100644 index 000000000..9576096a0 Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-114.png differ diff --git a/examples/ball-cup-boom/ios-icon-120.png b/examples/ball-cup-boom/ios-icon-120.png new file mode 100644 index 000000000..a29b7186a Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-120.png differ diff --git a/examples/ball-cup-boom/ios-icon-144.png b/examples/ball-cup-boom/ios-icon-144.png new file mode 100644 index 000000000..26baf071b Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-144.png differ diff --git a/examples/ball-cup-boom/ios-icon-152.png b/examples/ball-cup-boom/ios-icon-152.png new file mode 100644 index 000000000..b5c4311e3 Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-152.png differ diff --git a/examples/ball-cup-boom/ios-icon-167.png b/examples/ball-cup-boom/ios-icon-167.png new file mode 100644 index 000000000..6b6f8b00f Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-167.png differ diff --git a/examples/ball-cup-boom/ios-icon-180.png b/examples/ball-cup-boom/ios-icon-180.png new file mode 100644 index 000000000..bb8adb236 Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-180.png differ diff --git a/examples/ball-cup-boom/ios-icon-20.png b/examples/ball-cup-boom/ios-icon-20.png new file mode 100644 index 000000000..6efa7927d Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-20.png differ diff --git a/examples/ball-cup-boom/ios-icon-29.png b/examples/ball-cup-boom/ios-icon-29.png new file mode 100644 index 000000000..2a52d275e Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-29.png differ diff --git a/examples/ball-cup-boom/ios-icon-40.png b/examples/ball-cup-boom/ios-icon-40.png new file mode 100644 index 000000000..c6168beda Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-40.png differ diff --git a/examples/ball-cup-boom/ios-icon-50.png b/examples/ball-cup-boom/ios-icon-50.png new file mode 100644 index 000000000..380b13fca Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-50.png differ diff --git a/examples/ball-cup-boom/ios-icon-57.png b/examples/ball-cup-boom/ios-icon-57.png new file mode 100644 index 000000000..045050a8f Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-57.png differ diff --git a/examples/ball-cup-boom/ios-icon-58.png b/examples/ball-cup-boom/ios-icon-58.png new file mode 100644 index 000000000..a14ca09ed Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-58.png differ diff --git a/examples/ball-cup-boom/ios-icon-60.png b/examples/ball-cup-boom/ios-icon-60.png new file mode 100644 index 000000000..2ee58e6b8 Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-60.png differ diff --git a/examples/ball-cup-boom/ios-icon-72.png b/examples/ball-cup-boom/ios-icon-72.png new file mode 100644 index 000000000..ee51c0535 Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-72.png differ diff --git a/examples/ball-cup-boom/ios-icon-76.png b/examples/ball-cup-boom/ios-icon-76.png new file mode 100644 index 000000000..36909198d Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-76.png differ diff --git a/examples/ball-cup-boom/ios-icon-80.png b/examples/ball-cup-boom/ios-icon-80.png new file mode 100644 index 000000000..ec3d2190c Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-80.png differ diff --git a/examples/ball-cup-boom/ios-icon-87.png b/examples/ball-cup-boom/ios-icon-87.png new file mode 100644 index 000000000..e55400d46 Binary files /dev/null and b/examples/ball-cup-boom/ios-icon-87.png differ diff --git a/examples/ball-cup-boom/license.txt b/examples/ball-cup-boom/license.txt new file mode 100644 index 000000000..2ead85d9e --- /dev/null +++ b/examples/ball-cup-boom/license.txt @@ -0,0 +1,11 @@ +Text Font: Party Confetti Font https://www.fontspace.com/party-confetti-font-f69513 +Author: Niskala Huruf https://www.etsy.com/shop/nhfonts +License: Freeware + +Music: Bouncy Hamster Dancing https://opengameart.org/content/bouncy-hamster-dancing-menu-music +Author: cynicmusic http://cynicmusic.com http://pixelsphere.org +License: CC0 https://creativecommons.org/publicdomain/zero/1.0/ + +Sound effects: GameAudioGDC by Sonniss https://sonniss.com/gameaudiogdc +Author: Various +License: https://sonniss.com/gdc-bundle-license/ \ No newline at end of file diff --git a/examples/ball-cup-boom/square-icon.png b/examples/ball-cup-boom/square-icon.png new file mode 100644 index 000000000..9d5edeae9 Binary files /dev/null and b/examples/ball-cup-boom/square-icon.png differ diff --git a/examples/ball-cup-boom/thumbnail.png b/examples/ball-cup-boom/thumbnail.png new file mode 100644 index 000000000..0f09b4df3 Binary files /dev/null and b/examples/ball-cup-boom/thumbnail.png differ diff --git a/examples/duck-game/preview.png b/examples/duck-game/preview.png new file mode 100644 index 000000000..54e3cc0bf Binary files /dev/null and b/examples/duck-game/preview.png differ diff --git a/examples/fire-bullet/!REMOVE/Darkening.png b/examples/fire-bullet/!REMOVE/Darkening.png new file mode 100644 index 000000000..fc48a6782 Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Darkening.png differ diff --git a/examples/fire-bullet/!REMOVE/DeathSound.wav b/examples/fire-bullet/!REMOVE/DeathSound.wav new file mode 100644 index 000000000..0549f8a96 Binary files /dev/null and b/examples/fire-bullet/!REMOVE/DeathSound.wav differ diff --git a/examples/fire-bullet/!REMOVE/GhostFire.wav b/examples/fire-bullet/!REMOVE/GhostFire.wav new file mode 100644 index 000000000..4f75a0deb Binary files /dev/null and b/examples/fire-bullet/!REMOVE/GhostFire.wav differ diff --git a/examples/fire-bullet/!REMOVE/HealthOrb.png b/examples/fire-bullet/!REMOVE/HealthOrb.png new file mode 100644 index 000000000..2c9554888 Binary files /dev/null and b/examples/fire-bullet/!REMOVE/HealthOrb.png differ diff --git a/examples/fire-bullet/!REMOVE/Healthbar.png b/examples/fire-bullet/!REMOVE/Healthbar.png new file mode 100644 index 000000000..e4a52ca8f Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Healthbar.png differ diff --git a/examples/fire-bullet/!REMOVE/HealthbarBorder.png b/examples/fire-bullet/!REMOVE/HealthbarBorder.png new file mode 100644 index 000000000..42331b27e Binary files /dev/null and b/examples/fire-bullet/!REMOVE/HealthbarBorder.png differ diff --git a/examples/fire-bullet/!REMOVE/PickUp.wav b/examples/fire-bullet/!REMOVE/PickUp.wav new file mode 100644 index 000000000..f8463d27b Binary files /dev/null and b/examples/fire-bullet/!REMOVE/PickUp.wav differ diff --git a/examples/fire-bullet/!REMOVE/PointOrb.png b/examples/fire-bullet/!REMOVE/PointOrb.png new file mode 100644 index 000000000..4c8114501 Binary files /dev/null and b/examples/fire-bullet/!REMOVE/PointOrb.png differ diff --git a/examples/fire-bullet/!REMOVE/SpiderNoise.wav b/examples/fire-bullet/!REMOVE/SpiderNoise.wav new file mode 100644 index 000000000..7dd9abeda Binary files /dev/null and b/examples/fire-bullet/!REMOVE/SpiderNoise.wav differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade.wav b/examples/fire-bullet/!REMOVE/Upgrade.wav new file mode 100644 index 000000000..9ac4715dd Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Upgrade.wav differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Armor.png b/examples/fire-bullet/!REMOVE/Upgrade_Armor.png new file mode 100644 index 000000000..9db391ee6 Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Upgrade_Armor.png differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Armor2.png b/examples/fire-bullet/!REMOVE/Upgrade_Armor2.png new file mode 100644 index 000000000..9db391ee6 Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Upgrade_Armor2.png differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_FireRate.png b/examples/fire-bullet/!REMOVE/Upgrade_FireRate.png new file mode 100644 index 000000000..bc1194429 Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Upgrade_FireRate.png differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_FireRate2.png b/examples/fire-bullet/!REMOVE/Upgrade_FireRate2.png new file mode 100644 index 000000000..bc1194429 Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Upgrade_FireRate2.png differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Health.png b/examples/fire-bullet/!REMOVE/Upgrade_Health.png new file mode 100644 index 000000000..4d1c9d4ee Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Upgrade_Health.png differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Health2.png b/examples/fire-bullet/!REMOVE/Upgrade_Health2.png new file mode 100644 index 000000000..4d1c9d4ee Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Upgrade_Health2.png differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Power.png b/examples/fire-bullet/!REMOVE/Upgrade_Power.png new file mode 100644 index 000000000..1bb0acd72 Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Upgrade_Power.png differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Power2.png b/examples/fire-bullet/!REMOVE/Upgrade_Power2.png new file mode 100644 index 000000000..1bb0acd72 Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Upgrade_Power2.png differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Speed.png b/examples/fire-bullet/!REMOVE/Upgrade_Speed.png new file mode 100644 index 000000000..02ba6f973 Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Upgrade_Speed.png differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Speed2.png b/examples/fire-bullet/!REMOVE/Upgrade_Speed2.png new file mode 100644 index 000000000..02ba6f973 Binary files /dev/null and b/examples/fire-bullet/!REMOVE/Upgrade_Speed2.png differ diff --git a/examples/fire-bullet/Bullet-1.png b/examples/fire-bullet/Bullet-1.png new file mode 100644 index 000000000..47989c31a Binary files /dev/null and b/examples/fire-bullet/Bullet-1.png differ diff --git a/examples/fire-bullet/assets/thumbnail.png b/examples/fire-bullet/assets/thumbnail.png new file mode 100644 index 000000000..bb8d96813 Binary files /dev/null and b/examples/fire-bullet/assets/thumbnail.png differ diff --git a/examples/flappy-bird/README.md b/examples/flappy-bird/README.md new file mode 100644 index 000000000..04ee3accc --- /dev/null +++ b/examples/flappy-bird/README.md @@ -0,0 +1 @@ +A clone of the challenging and popular Flappy Bird game, where you control a bird which has to avoid pipes. diff --git a/examples/flappy-bird/assets/04B_19__.TTF b/examples/flappy-bird/assets/04B_19__.TTF new file mode 100644 index 000000000..6338c199e Binary files /dev/null and b/examples/flappy-bird/assets/04B_19__.TTF differ diff --git a/examples/flappy-bird/assets/BlackMask.png b/examples/flappy-bird/assets/BlackMask.png new file mode 100644 index 000000000..fe9bacc11 Binary files /dev/null and b/examples/flappy-bird/assets/BlackMask.png differ diff --git a/examples/flappy-bird/assets/Bottom pipe.png b/examples/flappy-bird/assets/Bottom pipe.png new file mode 100644 index 000000000..2a5dba7ee Binary files /dev/null and b/examples/flappy-bird/assets/Bottom pipe.png differ diff --git a/examples/flappy-bird/assets/android-icon-144.png b/examples/flappy-bird/assets/android-icon-144.png new file mode 100644 index 000000000..a483716d5 Binary files /dev/null and b/examples/flappy-bird/assets/android-icon-144.png differ diff --git a/examples/flappy-bird/assets/android-icon-192.png b/examples/flappy-bird/assets/android-icon-192.png new file mode 100644 index 000000000..ccf617310 Binary files /dev/null and b/examples/flappy-bird/assets/android-icon-192.png differ diff --git a/examples/flappy-bird/assets/android-icon-36.png b/examples/flappy-bird/assets/android-icon-36.png new file mode 100644 index 000000000..705b9c036 Binary files /dev/null and b/examples/flappy-bird/assets/android-icon-36.png differ diff --git a/examples/flappy-bird/assets/android-icon-48.png b/examples/flappy-bird/assets/android-icon-48.png new file mode 100644 index 000000000..f721b5b97 Binary files /dev/null and b/examples/flappy-bird/assets/android-icon-48.png differ diff --git a/examples/flappy-bird/assets/android-icon-72.png b/examples/flappy-bird/assets/android-icon-72.png new file mode 100644 index 000000000..9aa780f2c Binary files /dev/null and b/examples/flappy-bird/assets/android-icon-72.png differ diff --git a/examples/flappy-bird/assets/android-icon-96.png b/examples/flappy-bird/assets/android-icon-96.png new file mode 100644 index 000000000..46e1fb055 Binary files /dev/null and b/examples/flappy-bird/assets/android-icon-96.png differ diff --git a/examples/flappy-bird/assets/background-day.png b/examples/flappy-bird/assets/background-day.png new file mode 100644 index 000000000..c7d225035 Binary files /dev/null and b/examples/flappy-bird/assets/background-day.png differ diff --git a/examples/flappy-bird/assets/base.png b/examples/flappy-bird/assets/base.png new file mode 100644 index 000000000..ad4ef6508 Binary files /dev/null and b/examples/flappy-bird/assets/base.png differ diff --git a/examples/flappy-bird/assets/button_menu.png b/examples/flappy-bird/assets/button_menu.png new file mode 100644 index 000000000..1d7e9fade Binary files /dev/null and b/examples/flappy-bird/assets/button_menu.png differ diff --git a/examples/flappy-bird/assets/button_restart.png b/examples/flappy-bird/assets/button_restart.png new file mode 100644 index 000000000..e23835849 Binary files /dev/null and b/examples/flappy-bird/assets/button_restart.png differ diff --git a/examples/flappy-bird/assets/button_share.png b/examples/flappy-bird/assets/button_share.png new file mode 100644 index 000000000..4fed953bd Binary files /dev/null and b/examples/flappy-bird/assets/button_share.png differ diff --git a/examples/flappy-bird/assets/desktop-icon-512.png b/examples/flappy-bird/assets/desktop-icon-512.png new file mode 100644 index 000000000..1077530d5 Binary files /dev/null and b/examples/flappy-bird/assets/desktop-icon-512.png differ diff --git a/examples/flappy-bird/assets/instructions.png b/examples/flappy-bird/assets/instructions.png new file mode 100644 index 000000000..5e1033c80 Binary files /dev/null and b/examples/flappy-bird/assets/instructions.png differ diff --git a/examples/flappy-bird/assets/ios-icon-100.png b/examples/flappy-bird/assets/ios-icon-100.png new file mode 100644 index 000000000..27fb3d7bb Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-100.png differ diff --git a/examples/flappy-bird/assets/ios-icon-114.png b/examples/flappy-bird/assets/ios-icon-114.png new file mode 100644 index 000000000..ae56ac1b7 Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-114.png differ diff --git a/examples/flappy-bird/assets/ios-icon-120.png b/examples/flappy-bird/assets/ios-icon-120.png new file mode 100644 index 000000000..0dbee696f Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-120.png differ diff --git a/examples/flappy-bird/assets/ios-icon-144.png b/examples/flappy-bird/assets/ios-icon-144.png new file mode 100644 index 000000000..a483716d5 Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-144.png differ diff --git a/examples/flappy-bird/assets/ios-icon-152.png b/examples/flappy-bird/assets/ios-icon-152.png new file mode 100644 index 000000000..d0e2e5e7d Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-152.png differ diff --git a/examples/flappy-bird/assets/ios-icon-167.png b/examples/flappy-bird/assets/ios-icon-167.png new file mode 100644 index 000000000..1caeede7c Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-167.png differ diff --git a/examples/flappy-bird/assets/ios-icon-180.png b/examples/flappy-bird/assets/ios-icon-180.png new file mode 100644 index 000000000..70c2a179b Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-180.png differ diff --git a/examples/flappy-bird/assets/ios-icon-29.png b/examples/flappy-bird/assets/ios-icon-29.png new file mode 100644 index 000000000..c1b637199 Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-29.png differ diff --git a/examples/flappy-bird/assets/ios-icon-40.png b/examples/flappy-bird/assets/ios-icon-40.png new file mode 100644 index 000000000..2ec4e3dc1 Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-40.png differ diff --git a/examples/flappy-bird/assets/ios-icon-50.png b/examples/flappy-bird/assets/ios-icon-50.png new file mode 100644 index 000000000..8f6c015dd Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-50.png differ diff --git a/examples/flappy-bird/assets/ios-icon-57.png b/examples/flappy-bird/assets/ios-icon-57.png new file mode 100644 index 000000000..0c83b1beb Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-57.png differ diff --git a/examples/flappy-bird/assets/ios-icon-58.png b/examples/flappy-bird/assets/ios-icon-58.png new file mode 100644 index 000000000..f95d6d705 Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-58.png differ diff --git a/examples/flappy-bird/assets/ios-icon-60.png b/examples/flappy-bird/assets/ios-icon-60.png new file mode 100644 index 000000000..0e9668f20 Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-60.png differ diff --git a/examples/flappy-bird/assets/ios-icon-72.png b/examples/flappy-bird/assets/ios-icon-72.png new file mode 100644 index 000000000..9aa780f2c Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-72.png differ diff --git a/examples/flappy-bird/assets/ios-icon-76.png b/examples/flappy-bird/assets/ios-icon-76.png new file mode 100644 index 000000000..42af1c722 Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-76.png differ diff --git a/examples/flappy-bird/assets/ios-icon-80.png b/examples/flappy-bird/assets/ios-icon-80.png new file mode 100644 index 000000000..b4e9ce981 Binary files /dev/null and b/examples/flappy-bird/assets/ios-icon-80.png differ diff --git a/examples/flappy-bird/assets/label_flappy_bird.png b/examples/flappy-bird/assets/label_flappy_bird.png new file mode 100644 index 000000000..8f76e8028 Binary files /dev/null and b/examples/flappy-bird/assets/label_flappy_bird.png differ diff --git a/examples/flappy-bird/assets/label_game_over.png b/examples/flappy-bird/assets/label_game_over.png new file mode 100644 index 000000000..27fd607af Binary files /dev/null and b/examples/flappy-bird/assets/label_game_over.png differ diff --git a/examples/flappy-bird/assets/label_new.png b/examples/flappy-bird/assets/label_new.png new file mode 100644 index 000000000..b0c716170 Binary files /dev/null and b/examples/flappy-bird/assets/label_new.png differ diff --git a/examples/flappy-bird/assets/panel_score.png b/examples/flappy-bird/assets/panel_score.png new file mode 100644 index 000000000..11d19b53e Binary files /dev/null and b/examples/flappy-bird/assets/panel_score.png differ diff --git a/examples/flappy-bird/assets/pipe-green.png b/examples/flappy-bird/assets/pipe-green.png new file mode 100644 index 000000000..466440103 Binary files /dev/null and b/examples/flappy-bird/assets/pipe-green.png differ diff --git a/examples/flappy-bird/assets/rect_black.png b/examples/flappy-bird/assets/rect_black.png new file mode 100644 index 000000000..c5f1eac6d Binary files /dev/null and b/examples/flappy-bird/assets/rect_black.png differ diff --git a/examples/flappy-bird/assets/rect_white.png b/examples/flappy-bird/assets/rect_white.png new file mode 100644 index 000000000..f3bd0dbb0 Binary files /dev/null and b/examples/flappy-bird/assets/rect_white.png differ diff --git a/examples/flappy-bird/assets/score-1-0-1.png b/examples/flappy-bird/assets/score-1-0-1.png new file mode 100644 index 000000000..fa01a3928 Binary files /dev/null and b/examples/flappy-bird/assets/score-1-0-1.png differ diff --git a/examples/flappy-bird/assets/sfx_hit.wav b/examples/flappy-bird/assets/sfx_hit.wav new file mode 100644 index 000000000..1533ab423 Binary files /dev/null and b/examples/flappy-bird/assets/sfx_hit.wav differ diff --git a/examples/flappy-bird/assets/sfx_point.wav b/examples/flappy-bird/assets/sfx_point.wav new file mode 100644 index 000000000..f0bbd419a Binary files /dev/null and b/examples/flappy-bird/assets/sfx_point.wav differ diff --git a/examples/flappy-bird/assets/sfx_swooshing.wav b/examples/flappy-bird/assets/sfx_swooshing.wav new file mode 100644 index 000000000..d61052191 Binary files /dev/null and b/examples/flappy-bird/assets/sfx_swooshing.wav differ diff --git a/examples/flappy-bird/assets/sfx_wing.wav b/examples/flappy-bird/assets/sfx_wing.wav new file mode 100644 index 000000000..92cbc0674 Binary files /dev/null and b/examples/flappy-bird/assets/sfx_wing.wav differ diff --git a/examples/flappy-bird/assets/start2.png b/examples/flappy-bird/assets/start2.png new file mode 100644 index 000000000..d5da45d98 Binary files /dev/null and b/examples/flappy-bird/assets/start2.png differ diff --git a/examples/flappy-bird/assets/yellowbird-downflap.png b/examples/flappy-bird/assets/yellowbird-downflap.png new file mode 100644 index 000000000..09c633a5b Binary files /dev/null and b/examples/flappy-bird/assets/yellowbird-downflap.png differ diff --git a/examples/flappy-bird/assets/yellowbird-midflap.png b/examples/flappy-bird/assets/yellowbird-midflap.png new file mode 100644 index 000000000..11366dc3e Binary files /dev/null and b/examples/flappy-bird/assets/yellowbird-midflap.png differ diff --git a/examples/flappy-bird/assets/yellowbird-upflap.png b/examples/flappy-bird/assets/yellowbird-upflap.png new file mode 100644 index 000000000..cb37b6728 Binary files /dev/null and b/examples/flappy-bird/assets/yellowbird-upflap.png differ diff --git a/examples/flappy-bird/flappy-bird.json b/examples/flappy-bird/flappy-bird.json new file mode 100644 index 000000000..24983ea85 --- /dev/null +++ b/examples/flappy-bird/flappy-bird.json @@ -0,0 +1,4885 @@ +{ + "firstLayout": "", + "gdVersion": { + "build": 99, + "major": 4, + "minor": 0, + "revision": 0 + }, + "properties": { + "adaptGameResolutionAtRuntime": false, + "folderProject": false, + "orientation": "landscape", + "packageName": "com.example.flappybird", + "pixelsRounding": false, + "projectUuid": "6bd828ec-fe50-4cbb-bd75-a3ee72f673a3", + "scaleMode": "linear", + "sizeOnStartupMode": "adaptWidth", + "useDeprecatedZeroAsDefaultZOrder": true, + "useExternalSourceFiles": false, + "version": "1.0.0", + "name": "Flappy Bird", + "author": "THE GEM TUTORIALS", + "windowWidth": 400, + "windowHeight": 500, + "latestCompilationDirectory": "", + "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", + "desktop-icon-512": "desktop-icon-512.png", + "ios-icon-100": "ios-icon-100.png", + "ios-icon-1024": "", + "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-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": "" + }, + "loadingScreen": { + "backgroundColor": 0, + "backgroundFadeInDuration": 0.2, + "backgroundImageResourceName": "", + "gdevelopLogoStyle": "light", + "logoAndProgressFadeInDuration": 0.2, + "logoAndProgressLogoFadeInDelay": 0.2, + "minDuration": 1.5, + "progressBarColor": 16777215, + "progressBarHeight": 20, + "progressBarMaxWidth": 200, + "progressBarMinWidth": 40, + "progressBarWidthPercent": 30, + "showGDevelopSplash": true, + "showProgressBar": true + }, + "authorIds": [ + "jy7FXnGX0ZZcWfrAI9YuQaeIphi1" + ], + "extensionProperties": [], + "platforms": [ + { + "name": "GDevelop JS platform" + } + ], + "currentPlatform": "GDevelop JS platform" + }, + "resources": { + "resources": [ + { + "alwaysLoaded": false, + "file": "assets/BlackMask.png", + "kind": "image", + "metadata": "", + "name": "BlackMask.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/yellowbird-downflap.png", + "kind": "image", + "metadata": "", + "name": "yellowbird-downflap.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/yellowbird-midflap.png", + "kind": "image", + "metadata": "", + "name": "yellowbird-midflap.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/yellowbird-upflap.png", + "kind": "image", + "metadata": "", + "name": "yellowbird-upflap.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/Bottom pipe.png", + "kind": "image", + "metadata": "", + "name": "Bottom pipe.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/pipe-green.png", + "kind": "image", + "metadata": "", + "name": "pipe-green.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/background-day.png", + "kind": "image", + "metadata": "", + "name": "background-day.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/base.png", + "kind": "image", + "metadata": "", + "name": "base.png", + "smoothed": true, + "userAdded": true + }, + { + "file": "assets/04B_19__.TTF", + "kind": "font", + "metadata": "", + "name": "04B_19__.TTF", + "userAdded": true + }, + { + "file": "assets/sfx_point.wav", + "kind": "audio", + "metadata": "", + "name": "sfx_point.wav", + "preloadAsMusic": false, + "preloadAsSound": false, + "userAdded": false + }, + { + "file": "assets/sfx_hit.wav", + "kind": "audio", + "metadata": "", + "name": "sfx_hit.wav", + "preloadAsMusic": false, + "preloadAsSound": false, + "userAdded": true + }, + { + "file": "assets/sfx_wing.wav", + "kind": "audio", + "metadata": "", + "name": "sfx_wing.wav", + "preloadAsMusic": false, + "preloadAsSound": false, + "userAdded": true + }, + { + "file": "assets/sfx_swooshing.wav", + "kind": "audio", + "metadata": "", + "name": "sfx_swooshing.wav", + "preloadAsMusic": false, + "preloadAsSound": false, + "userAdded": false + }, + { + "alwaysLoaded": false, + "file": "assets/label_flappy_bird.png", + "kind": "image", + "metadata": "", + "name": "label_flappy_bird.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/instructions.png", + "kind": "image", + "metadata": "", + "name": "instructions.png", + "smoothed": true, + "userAdded": false + }, + { + "alwaysLoaded": false, + "file": "assets/panel_score.png", + "kind": "image", + "metadata": "", + "name": "panel_score.png", + "smoothed": true, + "userAdded": false + }, + { + "alwaysLoaded": false, + "file": "assets/label_game_over.png", + "kind": "image", + "metadata": "", + "name": "label_game_over.png", + "smoothed": true, + "userAdded": false + }, + { + "alwaysLoaded": false, + "file": "assets/rect_black.png", + "kind": "image", + "metadata": "", + "name": "rect_black.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/button_menu.png", + "kind": "image", + "metadata": "", + "name": "button_menu.png", + "smoothed": true, + "userAdded": false + }, + { + "alwaysLoaded": false, + "file": "assets/button_share.png", + "kind": "image", + "metadata": "", + "name": "button_share.png", + "smoothed": true, + "userAdded": false + }, + { + "alwaysLoaded": false, + "file": "assets/rect_white.png", + "kind": "image", + "metadata": "", + "name": "rect_white.png", + "smoothed": false, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/button_restart.png", + "kind": "image", + "metadata": "", + "name": "button_restart.png", + "smoothed": false, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/desktop-icon-512.png", + "kind": "image", + "metadata": "", + "name": "desktop-icon-512.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/android-icon-192.png", + "kind": "image", + "metadata": "", + "name": "android-icon-192.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/android-icon-144.png", + "kind": "image", + "metadata": "", + "name": "android-icon-144.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/android-icon-96.png", + "kind": "image", + "metadata": "", + "name": "android-icon-96.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/android-icon-72.png", + "kind": "image", + "metadata": "", + "name": "android-icon-72.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/android-icon-48.png", + "kind": "image", + "metadata": "", + "name": "android-icon-48.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/android-icon-36.png", + "kind": "image", + "metadata": "", + "name": "android-icon-36.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-180.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-180.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-167.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-167.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-152.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-152.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-144.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-144.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-120.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-120.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-114.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-114.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-100.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-100.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-80.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-80.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-76.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-76.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-72.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-72.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-60.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-60.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-58.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-58.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-57.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-57.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-50.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-50.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-40.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-40.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/ios-icon-29.png", + "kind": "image", + "metadata": "", + "name": "ios-icon-29.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/score-1-0-1.png", + "kind": "image", + "metadata": "", + "name": "score-1-0-1.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/start2.png", + "kind": "image", + "metadata": "", + "name": "start.png", + "smoothed": true, + "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/label_new.png", + "kind": "image", + "metadata": "", + "name": "label_new.png", + "smoothed": true, + "userAdded": true + } + ], + "resourceFolders": [] + }, + "objects": [], + "objectsGroups": [], + "variables": [], + "layouts": [ + { + "b": 247, + "disableInputWhenNotFocused": true, + "mangledName": "Menu", + "name": "Menu", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 208, + "standardSortMethod": true, + "stopSoundsOnStartup": true, + "title": "", + "v": 244, + "uiSettings": { + "grid": false, + "gridB": 255, + "gridG": 180, + "gridHeight": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridR": 158, + "gridType": "rectangular", + "gridWidth": 32, + "snap": true, + "windowMask": false, + "zoomFactor": 1 + }, + "objectsGroups": [ + { + "name": "Objects", + "objects": [ + { + "name": "Flappy_bird" + }, + { + "name": "Label_flappy_bird" + }, + { + "name": "Start" + } + ] + } + ], + "variables": [ + { + "name": "Rect_black_opacity", + "type": "string", + "value": "" + } + ], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 50, + "layer": "", + "locked": false, + "name": "Flappy_bird", + "persistentUuid": "04f692b6-ee84-4dbf-9baf-dfd763d98443", + "width": 50, + "x": 261, + "y": 165, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 100, + "layer": "", + "locked": false, + "name": "Start", + "persistentUuid": "e00bef2d-068a-4834-a698-5df360565937", + "width": 100, + "x": 202, + "y": 393, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 50, + "layer": "", + "locked": false, + "name": "Label_flappy_bird", + "persistentUuid": "86881759-a690-4e5b-86c3-12eb08cc7798", + "width": 100, + "x": 100, + "y": 159, + "zOrder": 4, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 500, + "layer": "", + "locked": false, + "name": "Background_day", + "persistentUuid": "7c32c9ed-9ace-4597-a5b9-f1bf01e67876", + "width": 400, + "x": 0, + "y": 0, + "zOrder": 0, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 35, + "layer": "", + "locked": false, + "name": "Ground", + "persistentUuid": "c5b7782a-25f4-4105-a3a6-6a58f72796b8", + "width": 400, + "x": 0, + "y": 465, + "zOrder": 5, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "ytchannel", + "persistentUuid": "ddcc4633-ee50-464b-98ba-8beb150b7f07", + "width": 0, + "x": 259, + "y": 483, + "zOrder": 7, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "name": "Label_flappy_bird", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "SineMovement", + "type": "SineMovement::SineMovement", + "SineSpeed": 60, + "AmplitudeX": 0, + "AmplitudeY": 20, + "InitialX": 0, + "InitialY": 0, + "SineProgress": 0 + } + ], + "animations": [ + { + "name": "label_flappy_bird", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "label_flappy_bird.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "name": "Flappy_bird", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "SineMovement", + "type": "SineMovement::SineMovement", + "SineSpeed": 60, + "AmplitudeX": 0, + "AmplitudeY": 20, + "InitialX": 0, + "InitialY": 0, + "SineProgress": 0 + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.205, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "yellowbird-downflap.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "yellowbird-midflap.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "yellowbird-upflap.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "name": "Start", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "start", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "start.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 48.5, + "y": 16 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "name": "Rect_black", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "rect_black", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "rect_black.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "height": 32, + "name": "Ground", + "tags": "", + "texture": "base.png", + "type": "TiledSpriteObject::TiledSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "height": 32, + "name": "Background_day", + "tags": "", + "texture": "background-day.png", + "type": "TiledSpriteObject::TiledSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "bold": false, + "italic": false, + "name": "ytchannel", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "@The Gem Tutorials", + "font": "", + "characterSize": 15, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + } + ], + "events": [ + { + "colorB": 33, + "colorG": 211, + "colorR": 126, + "creationTime": 0, + "disabled": false, + "folded": false, + "name": "Scene_Transition", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "DepartScene" + }, + "parameters": [ + "" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Opacity" + }, + "parameters": [ + "Rect_black", + "=", + "255" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ModVarScene" + }, + "parameters": [ + "Rect_black_opacity", + "=", + "0" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "SourisSurObjet" + }, + "parameters": [ + "Start", + "", + "", + "" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Create" + }, + "parameters": [ + "", + "Rect_black", + "0", + "0", + "" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ChangePlan" + }, + "parameters": [ + "Rect_black", + "=", + "20" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ModVarScene" + }, + "parameters": [ + "Rect_black_opacity", + "=", + "1" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "PlaySoundCanal" + }, + "parameters": [ + "", + "sfx_swooshing.wav", + "1", + "", + "", + "" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Cache" + }, + "parameters": [ + "Objects" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "VarScene" + }, + "parameters": [ + "Rect_black_opacity", + "=", + "1" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Opacity" + }, + "parameters": [ + "Rect_black", + "-", + "TimeDelta()*150" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "Opacity" + }, + "parameters": [ + "Rect_black", + "<=", + "150" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Scene" + }, + "parameters": [ + "", + "\"Game\"", + "" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "SourisSurObjet" + }, + "parameters": [ + "ytchannel", + "", + "", + "" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "LaunchFile" + }, + "parameters": [ + "\"https://www.youtube.com/channel/UCsZ4Ue8c94YLJDbGRafCI5Q\"", + "" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [] + }, + { + "colorB": 134, + "colorG": 233, + "colorR": 184, + "creationTime": 0, + "disabled": false, + "folded": false, + "name": "Ground", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "inverted": false, + "value": "TiledSpriteObject::XOffset" + }, + "parameters": [ + "Ground", + "+", + "100*TimeDelta()" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "SineMovement", + "type": "SineMovement::SineMovement" + } + ] + }, + { + "b": 247, + "disableInputWhenNotFocused": true, + "mangledName": "Game", + "name": "Game", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 208, + "standardSortMethod": false, + "stopSoundsOnStartup": true, + "title": "", + "v": 244, + "uiSettings": { + "grid": false, + "gridB": 255, + "gridG": 180, + "gridHeight": 70, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridR": 158, + "gridType": "rectangular", + "gridWidth": 70, + "snap": true, + "windowMask": true, + "zoomFactor": 1 + }, + "objectsGroups": [ + { + "name": "Pipes", + "objects": [ + { + "name": "Bottom_pipe" + }, + { + "name": "Top_pipe" + } + ] + } + ], + "variables": [ + { + "name": "Score", + "type": "string", + "value": "0" + }, + { + "name": "Obstacle_collision", + "type": "string", + "value": "" + }, + { + "name": "Gameplay_started", + "type": "string", + "value": "" + }, + { + "name": "New_hscore_sprite", + "type": "string", + "value": "" + } + ], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Flappy_bird", + "persistentUuid": "eaf4cd03-30db-450a-a693-0b12a9ed3238", + "width": 0, + "x": 184, + "y": 237, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 500, + "layer": "", + "locked": false, + "name": "Background_day", + "persistentUuid": "881e8426-39a7-4986-83cd-33af6e42780a", + "width": 400, + "x": 0, + "y": 0, + "zOrder": -1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Bottom_pipe", + "persistentUuid": "a53cb80c-8096-418e-9718-0f1f0e9182a3", + "width": 0, + "x": 442, + "y": 290, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Top_pipe", + "persistentUuid": "7b2301b1-0dc2-431c-8a72-b705a20b9f2b", + "width": 0, + "x": 442, + "y": 170, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "Flappy_bird_score", + "persistentUuid": "ab194f64-0ff6-4057-ac00-84ef2140b6ea", + "width": 0, + "x": 189, + "y": 84, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 36, + "layer": "", + "locked": false, + "name": "Ground", + "persistentUuid": "8ba0362b-88fd-43df-98f7-f346622fd35e", + "width": 400, + "x": 0, + "y": 465, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 100, + "layer": "", + "locked": false, + "name": "Instructions", + "persistentUuid": "b47f0776-ae87-43b9-833b-3d543538bb86", + "width": 100, + "x": 152, + "y": 272, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 10, + "layer": "", + "locked": false, + "name": "Border", + "persistentUuid": "98cea29f-a59e-4c59-ab25-0b7f8c7bcf67", + "width": 405, + "x": -3, + "y": -11, + "zOrder": 0, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "name": "Flappy_bird", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "PlatformerObject", + "type": "PlatformBehavior::PlatformerObjectBehavior", + "ignoreDefaultControls": true, + "acceleration": 1500, + "canGrabPlatforms": false, + "deceleration": 1500, + "gravity": 500, + "jumpSpeed": 350, + "maxFallingSpeed": 700, + "maxSpeed": 150, + "roundCoordinates": true, + "slopeMaxAngle": 60, + "xGrabTolerance": 10, + "yGrabOffset": 0 + }, + { + "name": "SineMovement", + "type": "SineMovement::SineMovement", + "SineSpeed": 60, + "AmplitudeX": 0, + "AmplitudeY": 50, + "InitialX": 0, + "InitialY": 0, + "SineProgress": 0 + } + ], + "animations": [ + { + "name": "skeleton-01_fly_00", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.205, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "yellowbird-downflap.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0.3860290050506592, + "y": 11.470600128173828 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "yellowbird-midflap.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0.3860290050506592, + "y": 11.470600128173828 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "yellowbird-upflap.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0.3860290050506592, + "y": 11.470600128173828 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "name": "Top_pipe", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "DestroyOutside", + "type": "DestroyOutsideBehavior::DestroyOutside", + "extraBorder": 0 + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Bottom pipe.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 28.5, + "y": 318 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "name": "Bottom_pipe", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "DestroyOutside", + "type": "DestroyOutsideBehavior::DestroyOutside", + "extraBorder": 0 + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "pipe-green.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 28.5, + "y": 1 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "bold": false, + "italic": false, + "name": "Flappy_bird_score_two", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "0", + "font": "04B_19__.TTF", + "characterSize": 25, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "bold": false, + "italic": false, + "name": "Flappy_bird_score", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "0", + "font": "04B_19__.TTF", + "characterSize": 40, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "bold": false, + "italic": false, + "name": "Flappy_bird_hscore", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "0", + "font": "04B_19__.TTF", + "characterSize": 25, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "name": "Menu_button", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "button_menu", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "button_menu.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "name": "Share_button", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "button_share", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "button_share.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "name": "Restart_button", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "button_menu", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "button_restart.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "name": "Panel_score", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "SineMovement", + "type": "SineMovement::SineMovement", + "SineSpeed": 60, + "AmplitudeX": 0, + "AmplitudeY": 30, + "InitialX": 0, + "InitialY": 0, + "SineProgress": 0 + } + ], + "animations": [ + { + "name": "panel_score", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "panel_score.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "name": "Border", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "BlackMask.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "name": "Flash", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Flash", + "type": "Flash::Flash", + "HalfPeriodTime": 0.1, + "IsFlashing": false, + "FlashDuration": 0 + } + ], + "animations": [ + { + "name": "whiteflash", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "rect_white.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "name": "label_game_over", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "SineMovement", + "type": "SineMovement::SineMovement", + "SineSpeed": 60, + "AmplitudeX": 0, + "AmplitudeY": 30, + "InitialX": 0, + "InitialY": 0, + "SineProgress": 0 + } + ], + "animations": [ + { + "name": "label_game_over", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "label_game_over.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "name": "Instructions", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "instructions.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "height": 32, + "name": "Background_day", + "tags": "", + "texture": "background-day.png", + "type": "TiledSpriteObject::TiledSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "height": 32, + "name": "Ground", + "tags": "", + "texture": "base.png", + "type": "TiledSpriteObject::TiledSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Platform", + "type": "PlatformBehavior::PlatformBehavior", + "canBeGrabbed": false, + "platformType": "NormalPlatform", + "yGrabOffset": 0 + } + ] + }, + { + "name": "New_hscore", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "label_new", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "label_new.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + } + ], + "events": [ + { + "colorB": 19, + "colorG": 0, + "colorR": 176, + "creationTime": 0, + "disabled": false, + "folded": false, + "name": "Initialization", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Variable meaning\nObstacle_collision: This checks if the player was in collision with an obstacle\nGameplay_started: This checks if the game has started\nNew_hscore: This checks if the player has a new highscore and displays the \"New_hscore\" sprite", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "DepartScene" + }, + "parameters": [ + "" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "ModVarScene" + }, + "parameters": [ + "Obstacle_collision", + "=", + "0" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ModVarScene" + }, + "parameters": [ + "New_hscore_sprite", + "=", + "0" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ActivateBehavior" + }, + "parameters": [ + "Flappy_bird", + "SineMovement", + "yes" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "FlipX" + }, + "parameters": [ + "Top_pipe", + "yes" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "BehaviorActivated" + }, + "parameters": [ + "Flappy_bird", + "SineMovement" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "ModVarScene" + }, + "parameters": [ + "Gameplay_started", + "=", + "1" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "BehaviorActivated" + }, + "parameters": [ + "Flappy_bird", + "SineMovement" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "ModVarScene" + }, + "parameters": [ + "Gameplay_started", + "=", + "0" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "inverted": false, + "value": "ChangePlan" + }, + "parameters": [ + "Pipes", + "=", + "1" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [] + }, + { + "colorB": 27, + "colorG": 2, + "colorR": 208, + "creationTime": 0, + "disabled": false, + "folded": false, + "name": "Flappy_bird", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Add force to the pipes for a horizontal movement", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "VarScene" + }, + "parameters": [ + "Obstacle_collision", + "=", + "0" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "VarScene" + }, + "parameters": [ + "Gameplay_started", + "=", + "0" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "AddForceXY" + }, + "parameters": [ + "Pipes", + "-100", + "0", + "0" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "RotateTowardAngle" + }, + "parameters": [ + "Flappy_bird", + "RandomFloatInRange(-90, 90)", + "50", + "" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Jump if space key is pressed or click on right button on mobile", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "VarScene" + }, + "parameters": [ + "Obstacle_collision", + "=", + "0" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "inverted": false, + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "KeyReleased" + }, + "parameters": [ + "", + "Space" + ], + "subInstructions": [] + } + ] + }, + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::And" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "inverted": false, + "value": "SystemInfo::IsMobile" + }, + "parameters": [], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "PopEndedTouch" + }, + "parameters": [ + "" + ], + "subInstructions": [] + } + ] + } + ] + }, + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "PlaySound" + }, + "parameters": [ + "", + "sfx_wing.wav", + "", + "", + "" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Flappy_bird", + "PlatformerObject" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "PlatformBehavior::SetCanJump" + }, + "parameters": [ + "Flappy_bird", + "PlatformerObject" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ActivateBehavior" + }, + "parameters": [ + "Flappy_bird", + "SineMovement", + "no" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "SetAngle" + }, + "parameters": [ + "Flappy_bird", + "=", + "320" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Cache" + }, + "parameters": [ + "Instructions" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Rotate bird downward when falling", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "PlatformBehavior::IsFalling" + }, + "parameters": [ + "Flappy_bird", + "PlatformerObject" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "VarScene" + }, + "parameters": [ + "Gameplay_started", + "=", + "0" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "RotateTowardAngle" + }, + "parameters": [ + "Flappy_bird", + "90", + "150", + "" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "CollisionNP" + }, + "parameters": [ + "Flappy_bird", + "Ground", + "", + "", + "" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Rotate" + }, + "parameters": [ + "Flappy_bird", + "90", + "" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [] + }, + { + "colorB": 28, + "colorG": 210, + "colorR": 227, + "creationTime": 0, + "disabled": false, + "folded": false, + "name": "Pipe_spawn", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create pipes at a random position", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "BehaviorActivated" + }, + "parameters": [ + "Flappy_bird", + "SineMovement" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "VarScene" + }, + "parameters": [ + "Obstacle_collision", + "=", + "0" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Timer" + }, + "parameters": [ + "", + "2.5", + "\"pipe_spawn\"" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Create" + }, + "parameters": [ + "", + "Top_pipe", + "420", + "RandomInRange(70, 320)", + "\"\"" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Create" + }, + "parameters": [ + "", + "Bottom_pipe", + "420", + "Top_pipe.Y() + 120", + "\"\"" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ResetTimer" + }, + "parameters": [ + "", + "\"pipe_spawn\"" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "FlipX" + }, + "parameters": [ + "Top_pipe", + "yes" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [] + }, + { + "colorB": 28, + "colorG": 231, + "colorR": 248, + "creationTime": 0, + "disabled": false, + "folded": false, + "name": "Scoring", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Show outline on text(flappy_bird_score, flappy_bird_hscore, flappy_bird_score_two)", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "inverted": false, + "value": "TextObject::SetOutline" + }, + "parameters": [ + "Flappy_bird_score", + "\"0;0;0\"", + "7" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "TextObject::SetOutline" + }, + "parameters": [ + "Flappy_bird_hscore", + "\"0;0;0\"", + "2" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "TextObject::SetOutline" + }, + "parameters": [ + "Flappy_bird_score_two", + "\"0;0;0\"", + "2" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "inverted": false, + "value": "TextObject::String" + }, + "parameters": [ + "Flappy_bird_score", + "=", + "VariableString(Score)" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "TextObject::String" + }, + "parameters": [ + "Flappy_bird_score_two", + "=", + "VariableString(Score)" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Add a point to the player score once the player passes both pipes", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "PosX" + }, + "parameters": [ + "Pipes", + "<", + "Flappy_bird.X(\"Centre\")" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "PosX" + }, + "parameters": [ + "Pipes", + ">", + "Flappy_bird.X(\"Centre\") -60" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "ModVarScene" + }, + "parameters": [ + "Score", + "+", + "1" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "PlaySound" + }, + "parameters": [ + "", + "sfx_point.wav", + "", + "", + "" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save the players score once it's greater than the previous score", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "VarScene" + }, + "parameters": [ + "Score", + ">", + "Variable(score)" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "EcrireFichierExp" + }, + "parameters": [ + "\"save\"", + "\"high_score\"", + "Variable(Score)" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ModVarScene" + }, + "parameters": [ + "New_hscore_sprite", + "=", + "1" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Read the storage and store value in a scene variable \"score\"", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "GroupExists" + }, + "parameters": [ + "\"save\"", + "\"high_score\"" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "LireFichierExp" + }, + "parameters": [ + "\"save\"", + "\"high_score\"", + "", + "score" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "TextObject::String" + }, + "parameters": [ + "Flappy_bird_hscore", + "=", + "ToString(Variable(score))" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Hide \"Flappy_bird_score\" one \"Flappy_bird_score_two\" is visible", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "Visible" + }, + "parameters": [ + "Flappy_bird_score_two" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Cache" + }, + "parameters": [ + "Flappy_bird_score" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "", + "comment2": "" + } + ], + "parameters": [] + }, + { + "colorB": 33, + "colorG": 211, + "colorR": 126, + "creationTime": 0, + "disabled": false, + "folded": false, + "name": "Ground", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "VarScene" + }, + "parameters": [ + "Obstacle_collision", + "=", + "0" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "TiledSpriteObject::XOffset" + }, + "parameters": [ + "Ground", + "+", + "1.7" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [] + }, + { + "colorB": 134, + "colorG": 233, + "colorR": 184, + "creationTime": 0, + "disabled": false, + "folded": false, + "name": "Obstacle", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "End game once player is in collision with an obstacle", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "VarScene" + }, + "parameters": [ + "Obstacle_collision", + "=", + "0" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "inverted": false, + "value": "CollisionNP" + }, + "parameters": [ + "Flappy_bird", + "Border", + "", + "", + "" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "CollisionNP" + }, + "parameters": [ + "Flappy_bird", + "Ground", + "", + "", + "" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "CollisionNP" + }, + "parameters": [ + "Flappy_bird", + "Pipes", + "", + "", + "" + ], + "subInstructions": [] + } + ] + }, + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "ModVarScene" + }, + "parameters": [ + "Obstacle_collision", + "=", + "1" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "PlaySound" + }, + "parameters": [ + "", + "sfx_hit.wav", + "", + "", + "" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [] + }, + { + "colorB": 255, + "colorG": 255, + "colorR": 255, + "creationTime": 0, + "disabled": false, + "folded": false, + "name": "Gameover", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Game over events run only on game over/game not running", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "VarScene" + }, + "parameters": [ + "Obstacle_collision", + "=", + "1" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Create" + }, + "parameters": [ + "", + "Flash", + "0", + "0", + "\"Gameover\"" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Flash::Flash::Flash" + }, + "parameters": [ + "Flash", + "Flash", + "0.1", + "" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Create" + }, + "parameters": [ + "", + "Panel_score", + "90", + "220", + "\"Gameover\"" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Create" + }, + "parameters": [ + "", + "label_game_over", + "130", + "140", + "\"Gameover\"" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Display a \"New_hscore\" sprite once player has a new highscore", + "comment2": "" + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "PosY" + }, + "parameters": [ + "Panel_score", + ">", + "240" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "VarScene" + }, + "parameters": [ + "New_hscore_sprite", + "=", + "1" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Create" + }, + "parameters": [ + "", + "New_hscore", + "230", + "300", + "\"Gameover\"" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "inverted": false, + "value": "ChangePlan" + }, + "parameters": [ + "New_hscore", + "=", + "1000" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Flash::Flash::IsFlashing" + }, + "parameters": [ + "Flash", + "Flash", + "" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Delete" + }, + "parameters": [ + "Flash", + "" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "PosY" + }, + "parameters": [ + "Panel_score", + ">", + "240" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Create" + }, + "parameters": [ + "", + "Menu_button", + "80", + "400", + "\"Gameover\"" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Create" + }, + "parameters": [ + "", + "Share_button", + "250", + "400", + "\"Gameover\"" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Create" + }, + "parameters": [ + "", + "Restart_button", + "165", + "420", + "\"Gameover\"" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Create" + }, + "parameters": [ + "", + "Flappy_bird_hscore", + "255", + "316", + "\"Gameover\"" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Create" + }, + "parameters": [ + "", + "Flappy_bird_score_two", + "255", + "271", + "\"Gameover\"" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ActivateBehavior" + }, + "parameters": [ + "Panel_score", + "SineMovement", + "" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ActivateBehavior" + }, + "parameters": [ + "label_game_over", + "SineMovement", + "" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ChangePlan" + }, + "parameters": [ + "Flappy_bird_hscore", + "=", + "20" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ChangePlan" + }, + "parameters": [ + "Flappy_bird_score_two", + "=", + "20" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "SourisSurObjet" + }, + "parameters": [ + "Menu_button", + "", + "", + "" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Scene" + }, + "parameters": [ + "", + "\"Menu\"", + "" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "SourisSurObjet" + }, + "parameters": [ + "Share_button", + "", + "", + "" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "LaunchFile" + }, + "parameters": [ + "\"https://www.youtube.com/channel/UCsZ4Ue8c94YLJDbGRafCI5Q\"", + "" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "SourisSurObjet" + }, + "parameters": [ + "Restart_button", + "", + "", + "" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Scene" + }, + "parameters": [ + "", + "\"Game\"", + "" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "GUI", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "Gameover", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Flash", + "type": "Flash::Flash" + }, + { + "name": "Platform", + "type": "PlatformBehavior::PlatformBehavior" + }, + { + "name": "PlatformerObject", + "type": "PlatformBehavior::PlatformerObjectBehavior" + }, + { + "name": "SineMovement", + "type": "SineMovement::SineMovement" + } + ] + } + ], + "externalEvents": [], + "eventsFunctionsExtensions": [ + { + "author": "@4ian", + "description": "Allow an object to move smoothly on the X and/or Y axis following a sine wave, or an ellipsis.", + "extensionNamespace": "", + "fullName": "Sine (or ellipsis) Movement", + "helpPath": "", + "iconUrl": "", + "name": "SineMovement", + "previewIconUrl": "", + "shortDescription": "Allow an object to move smoothly on the X and/or Y axis following a sine wave, or an ellipsis.", + "version": "0.0.1", + "tags": [ + "sine", + "ellipsis", + "movement" + ], + "authorIds": [], + "dependencies": [], + "eventsFunctions": [], + "eventsBasedBehaviors": [ + { + "description": "Allow an object to move smoothly on the X and/or Y axis following a sine wave.", + "fullName": "Sine Movement", + "name": "SineMovement", + "objectType": "", + "eventsFunctions": [ + { + "description": "", + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "private": false, + "sentence": "", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "SineMovement::SineMovement::PropertyInitialX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "SineMovement::SineMovement::PropertyInitialY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "SineMovement::SineMovement::SetPropertyInitialX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.X()" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "SineMovement::SineMovement::SetPropertyInitialY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Y()" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "SineMovement::SineMovement::PropertyAmplitudeX" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "MettreX" + }, + "parameters": [ + "Object", + "=", + "Object.Behavior::PropertyInitialX() + cos(ToRad(Object.Behavior::PropertySineProgress())) * Object.Behavior::PropertyAmplitudeX()" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "SineMovement::SineMovement::PropertyAmplitudeY" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "MettreY" + }, + "parameters": [ + "Object", + "=", + "Object.Behavior::PropertyInitialY() + sin(ToRad(Object.Behavior::PropertySineProgress())) * Object.Behavior::PropertyAmplitudeY()" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "inverted": false, + "value": "SineMovement::SineMovement::SetPropertySineProgress" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.Behavior::PropertySineSpeed() * TimeDelta()" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "SineMovement::SineMovement", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "60", + "type": "Number", + "label": "Speed, in degrees per second", + "description": "", + "extraInformation": [], + "hidden": false, + "name": "SineSpeed" + }, + { + "value": "100", + "type": "Number", + "label": "Amplitude of the movement on X axis (0 to deactivate)", + "description": "", + "extraInformation": [], + "hidden": false, + "name": "AmplitudeX" + }, + { + "value": "0", + "type": "Number", + "label": "Amplitude of the movement on Y axis (0 to deactivate)", + "description": "", + "extraInformation": [], + "hidden": false, + "name": "AmplitudeY" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "extraInformation": [], + "hidden": true, + "name": "InitialX" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "extraInformation": [], + "hidden": true, + "name": "InitialY" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "extraInformation": [], + "hidden": true, + "name": "SineProgress" + } + ] + } + ] + }, + { + "author": "@4ian", + "description": "Make the object flash (blink) for a period of time, so that it is alternately visible and invisible.\nAfter adding this to an object, you have to **trigger the effect** by using the **Flash action**.", + "extensionNamespace": "", + "fullName": "Flash (blink)", + "helpPath": "", + "iconUrl": "", + "name": "Flash", + "previewIconUrl": "", + "shortDescription": "Make the object flash (blink) for a period of time, so that it is alternately visible and invisible.\nTrigger the effect by using the Flash action.", + "version": "1.0.0", + "tags": [ + "flash", + "blink", + "visible", + "invisible", + "hit", + "damage" + ], + "authorIds": [], + "dependencies": [], + "eventsFunctions": [], + "eventsBasedBehaviors": [ + { + "description": "Make the object flash (blink) for a period of time, so that it is alternately visible and invisible.\nTrigger the effect by using the Flash action.", + "fullName": "Flash (blink)", + "name": "Flash", + "objectType": "", + "eventsFunctions": [ + { + "description": "", + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "private": false, + "sentence": "", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "Flash::Flash::PropertyIsFlashing" + }, + "parameters": [ + "Object", + "Behavior" + ], + "subInstructions": [] + } + ], + "actions": [], + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "\"FlashTimer\"", + "Object.Behavior::PropertyHalfPeriodTime()" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Visible" + }, + "parameters": [ + "Object" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Cache" + }, + "parameters": [ + "Object" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"FlashTimer\"" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "\"FlashTimer\"", + "Object.Behavior::PropertyHalfPeriodTime()" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": true, + "value": "Visible" + }, + "parameters": [ + "Object" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Montre" + }, + "parameters": [ + "Object", + "" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"FlashTimer\"" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "\"FlashDurationTimer\"", + "Object.Behavior::PropertyFlashDuration()" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Flash::Flash::Stop" + }, + "parameters": [ + "Object", + "Behavior", + "" + ], + "subInstructions": [] + } + ], + "events": [] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Flash::Flash", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Make the specified object(s) blink for the given duration.", + "fullName": "Flash (blink)", + "functionType": "Action", + "name": "Flash", + "private": false, + "sentence": "Make _PARAM0_ blink for _PARAM2_ seconds", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "Egal" + }, + "parameters": [ + "GetArgumentAsNumber(\"FlashDuration\")", + ">", + "0" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"FlashDurationTimer\"" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Flash::Flash::SetPropertyFlashDuration" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"FlashDuration\")" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Flash::Flash::SetPropertyIsFlashing" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Flash::Flash", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Duration of the blinking, in seconds", + "longDescription": "", + "name": "FlashDuration", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the specified objects are flashing.", + "fullName": "Is object flashing", + "functionType": "Condition", + "name": "IsFlashing", + "private": false, + "sentence": "_PARAM0_ is flashing", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "inverted": false, + "value": "SetReturnBoolean" + }, + "parameters": [ + "False" + ], + "subInstructions": [] + } + ], + "events": [] + }, + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "Flash::Flash::PropertyIsFlashing" + }, + "parameters": [ + "Object", + "Behavior" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Flash::Flash", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "", + "fullName": "", + "functionType": "Action", + "name": "onOwnerRemovedFromScene", + "private": false, + "sentence": "", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "inverted": false, + "value": "Flash::Flash::Stop" + }, + "parameters": [ + "Object", + "Behavior", + "" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Flash::Flash", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "", + "fullName": "", + "functionType": "Action", + "name": "onDeActivate", + "private": false, + "sentence": "", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "inverted": false, + "value": "Flash::Flash::Stop" + }, + "parameters": [ + "Object", + "Behavior", + "" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Flash::Flash", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Stop the flashing of the specified object", + "fullName": "Stop flashing", + "functionType": "Action", + "name": "Stop", + "private": false, + "sentence": "Stop flashing _PARAM0_", + "events": [ + { + "disabled": false, + "folded": false, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": false, + "value": "Flash::Flash::PropertyIsFlashing" + }, + "parameters": [ + "Object", + "Behavior" + ], + "subInstructions": [] + } + ], + "actions": [ + { + "type": { + "inverted": false, + "value": "Montre" + }, + "parameters": [ + "Object", + "" + ], + "subInstructions": [] + }, + { + "type": { + "inverted": false, + "value": "Flash::Flash::SetPropertyIsFlashing" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ], + "subInstructions": [] + } + ], + "events": [] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "Flash::Flash", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "0.1", + "type": "Number", + "label": "Half period (time during which object is invisible), in seconds", + "description": "", + "extraInformation": [], + "hidden": false, + "name": "HalfPeriodTime" + }, + { + "value": "", + "type": "Boolean", + "label": "", + "description": "", + "extraInformation": [], + "hidden": true, + "name": "IsFlashing" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "extraInformation": [], + "hidden": true, + "name": "FlashDuration" + } + ] + } + ] + } + ], + "externalLayouts": [], + "externalSourceFiles": [] +} \ No newline at end of file diff --git a/examples/parking-jam/Parking Jam Icon2.png b/examples/parking-jam/Parking Jam Icon2.png new file mode 100644 index 000000000..856df61aa Binary files /dev/null and b/examples/parking-jam/Parking Jam Icon2.png differ diff --git a/examples/parking-jam/Parking Jam Icon3.png b/examples/parking-jam/Parking Jam Icon3.png new file mode 100644 index 000000000..856df61aa Binary files /dev/null and b/examples/parking-jam/Parking Jam Icon3.png differ diff --git a/examples/platformer/assets/laserGrayBurst.png b/examples/platformer/assets/laserGrayBurst.png new file mode 100644 index 000000000..a7ccbc305 Binary files /dev/null and b/examples/platformer/assets/laserGrayBurst.png differ diff --git a/examples/procedural-generation/black.png b/examples/procedural-generation/black.png new file mode 100644 index 000000000..1dcb510e8 Binary files /dev/null and b/examples/procedural-generation/black.png differ diff --git a/examples/procedural-generation/blue.png b/examples/procedural-generation/blue.png new file mode 100644 index 000000000..209cda604 Binary files /dev/null and b/examples/procedural-generation/blue.png differ diff --git a/examples/procedural-generation/green.png b/examples/procedural-generation/green.png new file mode 100644 index 000000000..aa6cafadb Binary files /dev/null and b/examples/procedural-generation/green.png differ diff --git a/examples/procedural-generation/grey.png b/examples/procedural-generation/grey.png new file mode 100644 index 000000000..8509ccf74 Binary files /dev/null and b/examples/procedural-generation/grey.png differ diff --git a/examples/procedural-generation/transparent.png b/examples/procedural-generation/transparent.png new file mode 100644 index 000000000..54c77a6a0 Binary files /dev/null and b/examples/procedural-generation/transparent.png differ diff --git a/examples/procedural-generation/yellow.png b/examples/procedural-generation/yellow.png new file mode 100644 index 000000000..b8ae88f77 Binary files /dev/null and b/examples/procedural-generation/yellow.png differ diff --git a/examples/spherez/HitBlock.wav b/examples/spherez/HitBlock.wav new file mode 100644 index 000000000..a25fbc807 Binary files /dev/null and b/examples/spherez/HitBlock.wav differ diff --git a/examples/spherez/assets/audio/10 FX3352 Mouth Pop 2.wav b/examples/spherez/assets/audio/10 FX3352 Mouth Pop 2.wav new file mode 100644 index 000000000..605d24698 Binary files /dev/null and b/examples/spherez/assets/audio/10 FX3352 Mouth Pop 2.wav differ diff --git a/examples/spherez/assets/audio/Bluezone_BC0244_explosion_009_01.wav b/examples/spherez/assets/audio/Bluezone_BC0244_explosion_009_01.wav new file mode 100644 index 000000000..0d2686fa1 Binary files /dev/null and b/examples/spherez/assets/audio/Bluezone_BC0244_explosion_009_01.wav differ diff --git a/examples/spherez/assets/audio/Bullet rock Impact 4.wav b/examples/spherez/assets/audio/Bullet rock Impact 4.wav new file mode 100644 index 000000000..da7915300 Binary files /dev/null and b/examples/spherez/assets/audio/Bullet rock Impact 4.wav differ diff --git a/examples/spherez/assets/audio/ExtraBallPickup.wav b/examples/spherez/assets/audio/ExtraBallPickup.wav new file mode 100644 index 000000000..6386a13f5 Binary files /dev/null and b/examples/spherez/assets/audio/ExtraBallPickup.wav differ diff --git a/examples/spherez/assets/audio/Hit Rock Debris_RBD 02.wav b/examples/spherez/assets/audio/Hit Rock Debris_RBD 02.wav new file mode 100644 index 000000000..b19e119a0 Binary files /dev/null and b/examples/spherez/assets/audio/Hit Rock Debris_RBD 02.wav differ diff --git a/examples/spherez/assets/audio/Inspiration.wav b/examples/spherez/assets/audio/Inspiration.wav new file mode 100644 index 000000000..f929c4436 Binary files /dev/null and b/examples/spherez/assets/audio/Inspiration.wav differ diff --git a/examples/spherez/assets/audio/PUNCH_DESIGNED_LIGHT_78.wav b/examples/spherez/assets/audio/PUNCH_DESIGNED_LIGHT_78.wav new file mode 100644 index 000000000..c00113ec0 Binary files /dev/null and b/examples/spherez/assets/audio/PUNCH_DESIGNED_LIGHT_78.wav differ diff --git a/examples/spherez/assets/audio/SFX_Sub_Sonic_Bass_04.wav b/examples/spherez/assets/audio/SFX_Sub_Sonic_Bass_04.wav new file mode 100644 index 000000000..35e0178be Binary files /dev/null and b/examples/spherez/assets/audio/SFX_Sub_Sonic_Bass_04.wav differ diff --git a/examples/spherez/assets/audio/sci-fi_weapon_reload_09.wav b/examples/spherez/assets/audio/sci-fi_weapon_reload_09.wav new file mode 100644 index 000000000..98593f134 Binary files /dev/null and b/examples/spherez/assets/audio/sci-fi_weapon_reload_09.wav differ diff --git a/examples/spherez/assets/images/Bowlingball3-1.png b/examples/spherez/assets/images/Bowlingball3-1.png new file mode 100644 index 000000000..f086f1f61 Binary files /dev/null and b/examples/spherez/assets/images/Bowlingball3-1.png differ diff --git a/examples/spherez/assets/images/Generic ball (1).png b/examples/spherez/assets/images/Generic ball (1).png new file mode 100644 index 000000000..fc0765adb Binary files /dev/null and b/examples/spherez/assets/images/Generic ball (1).png differ diff --git a/examples/spherez/assets/images/Generic ball (2).png b/examples/spherez/assets/images/Generic ball (2).png new file mode 100644 index 000000000..3ffd95e61 Binary files /dev/null and b/examples/spherez/assets/images/Generic ball (2).png differ diff --git a/examples/spherez/assets/images/Genericball1-1-0.png b/examples/spherez/assets/images/Genericball1-1-0.png new file mode 100644 index 000000000..7d11a81eb Binary files /dev/null and b/examples/spherez/assets/images/Genericball1-1-0.png differ diff --git a/examples/spherez/assets/images/Genericball1-1-1.png b/examples/spherez/assets/images/Genericball1-1-1.png new file mode 100644 index 000000000..503955e72 Binary files /dev/null and b/examples/spherez/assets/images/Genericball1-1-1.png differ diff --git a/examples/spherez/assets/images/Genericball1-1.png b/examples/spherez/assets/images/Genericball1-1.png new file mode 100644 index 000000000..e46338cb0 Binary files /dev/null and b/examples/spherez/assets/images/Genericball1-1.png differ diff --git a/examples/spherez/assets/images/Left arrow.png b/examples/spherez/assets/images/Left arrow.png new file mode 100644 index 000000000..c12437482 Binary files /dev/null and b/examples/spherez/assets/images/Left arrow.png differ diff --git a/examples/spherez/assets/images/NewSprite-1-1.png b/examples/spherez/assets/images/NewSprite-1-1.png new file mode 100644 index 000000000..bd09920b1 Binary files /dev/null and b/examples/spherez/assets/images/NewSprite-1-1.png differ diff --git a/examples/spherez/assets/images/NewSprite-1-2.png b/examples/spherez/assets/images/NewSprite-1-2.png new file mode 100644 index 000000000..2446e406b Binary files /dev/null and b/examples/spherez/assets/images/NewSprite-1-2.png differ diff --git a/examples/spherez/assets/images/Pause.png b/examples/spherez/assets/images/Pause.png new file mode 100644 index 000000000..f3dc2d8cb Binary files /dev/null and b/examples/spherez/assets/images/Pause.png differ diff --git a/examples/spherez/assets/images/Play.png b/examples/spherez/assets/images/Play.png new file mode 100644 index 000000000..84139756c Binary files /dev/null and b/examples/spherez/assets/images/Play.png differ diff --git a/examples/spherez/credits.txt b/examples/spherez/credits.txt new file mode 100644 index 000000000..3b532ba57 --- /dev/null +++ b/examples/spherez/credits.txt @@ -0,0 +1,11 @@ +Text Font: Ferawati Font https://www.fontspace.com/ferawati-font-f29677 +Author: Adien Gunarta https://www.fontspace.com/gunarta +License: Freeware + +Music: Inspiration +Author: FreePD.com https://freepd.com/ +License: CC0 https://creativecommons.org/publicdomain/zero/1.0/ + +Sound effects: GameAudioGDC by Sonniss https://sonniss.com/gameaudiogdc +Author: Various +License: https://sonniss.com/gdc-bundle-license/