diff --git a/examples/orbiting-objects/assets/Bomb.png b/examples/orbiting-objects/assets/Bomb.png new file mode 100644 index 000000000..be9f00589 Binary files /dev/null and b/examples/orbiting-objects/assets/Bomb.png differ diff --git a/examples/orbiting-objects/assets/Crystal2.png b/examples/orbiting-objects/assets/Crystal2.png deleted file mode 100644 index 010e894df..000000000 Binary files a/examples/orbiting-objects/assets/Crystal2.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Dead_12.png b/examples/orbiting-objects/assets/Dino_Dead_12.png deleted file mode 100644 index d03dfbab0..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Dead_12.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Dead_22.png b/examples/orbiting-objects/assets/Dino_Dead_22.png deleted file mode 100644 index bdca0cdf1..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Dead_22.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Dead_32.png b/examples/orbiting-objects/assets/Dino_Dead_32.png deleted file mode 100644 index 77dd7cd92..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Dead_32.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Dead_42.png b/examples/orbiting-objects/assets/Dino_Dead_42.png deleted file mode 100644 index 939502e4f..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Dead_42.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Dead_52.png b/examples/orbiting-objects/assets/Dino_Dead_52.png deleted file mode 100644 index 2ddb4aafc..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Dead_52.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Dead_62.png b/examples/orbiting-objects/assets/Dino_Dead_62.png deleted file mode 100644 index 2f08d81b8..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Dead_62.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Dead_72.png b/examples/orbiting-objects/assets/Dino_Dead_72.png deleted file mode 100644 index 2f08d81b8..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Dead_72.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Dead_82.png b/examples/orbiting-objects/assets/Dino_Dead_82.png deleted file mode 100644 index 2f08d81b8..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Dead_82.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Idle_102.png b/examples/orbiting-objects/assets/Dino_Idle_102.png deleted file mode 100644 index a7264e0fb..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Idle_102.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Idle_12.png b/examples/orbiting-objects/assets/Dino_Idle_12.png deleted file mode 100644 index ac490bafc..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Idle_12.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Idle_22.png b/examples/orbiting-objects/assets/Dino_Idle_22.png deleted file mode 100644 index 16b10a900..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Idle_22.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Idle_32.png b/examples/orbiting-objects/assets/Dino_Idle_32.png deleted file mode 100644 index 5488a2b7c..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Idle_32.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Idle_42.png b/examples/orbiting-objects/assets/Dino_Idle_42.png deleted file mode 100644 index 6d31d95d0..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Idle_42.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Idle_52.png b/examples/orbiting-objects/assets/Dino_Idle_52.png deleted file mode 100644 index 6e0cfe765..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Idle_52.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Idle_62.png b/examples/orbiting-objects/assets/Dino_Idle_62.png deleted file mode 100644 index e0003ed0c..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Idle_62.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Idle_72.png b/examples/orbiting-objects/assets/Dino_Idle_72.png deleted file mode 100644 index ecb4e5dfa..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Idle_72.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Idle_82.png b/examples/orbiting-objects/assets/Dino_Idle_82.png deleted file mode 100644 index 7f8b8dd4e..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Idle_82.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Idle_92.png b/examples/orbiting-objects/assets/Dino_Idle_92.png deleted file mode 100644 index 5d6b5020c..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Idle_92.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Jump_102.png b/examples/orbiting-objects/assets/Dino_Jump_102.png deleted file mode 100644 index 7bc9bf836..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Jump_102.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Jump_112.png b/examples/orbiting-objects/assets/Dino_Jump_112.png deleted file mode 100644 index 1be4ac3b7..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Jump_112.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Jump_122.png b/examples/orbiting-objects/assets/Dino_Jump_122.png deleted file mode 100644 index 218b32f09..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Jump_122.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Jump_13.png b/examples/orbiting-objects/assets/Dino_Jump_13.png deleted file mode 100644 index ac490bafc..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Jump_13.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Jump_22.png b/examples/orbiting-objects/assets/Dino_Jump_22.png deleted file mode 100644 index fa8c79852..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Jump_22.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Jump_32.png b/examples/orbiting-objects/assets/Dino_Jump_32.png deleted file mode 100644 index db82bb097..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Jump_32.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Jump_42.png b/examples/orbiting-objects/assets/Dino_Jump_42.png deleted file mode 100644 index 9ee4c7d77..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Jump_42.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Jump_52.png b/examples/orbiting-objects/assets/Dino_Jump_52.png deleted file mode 100644 index b93038e3d..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Jump_52.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Jump_62.png b/examples/orbiting-objects/assets/Dino_Jump_62.png deleted file mode 100644 index 66dd2772d..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Jump_62.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Jump_72.png b/examples/orbiting-objects/assets/Dino_Jump_72.png deleted file mode 100644 index 8535b0b83..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Jump_72.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Jump_82.png b/examples/orbiting-objects/assets/Dino_Jump_82.png deleted file mode 100644 index 76de3ed58..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Jump_82.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Jump_92.png b/examples/orbiting-objects/assets/Dino_Jump_92.png deleted file mode 100644 index f460dba25..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Jump_92.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Run_12.png b/examples/orbiting-objects/assets/Dino_Run_12.png deleted file mode 100644 index bbb3ac484..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Run_12.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Run_22.png b/examples/orbiting-objects/assets/Dino_Run_22.png deleted file mode 100644 index 4e047e99a..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Run_22.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Run_32.png b/examples/orbiting-objects/assets/Dino_Run_32.png deleted file mode 100644 index ad69380b0..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Run_32.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Run_42.png b/examples/orbiting-objects/assets/Dino_Run_42.png deleted file mode 100644 index 94d26dc83..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Run_42.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Run_52.png b/examples/orbiting-objects/assets/Dino_Run_52.png deleted file mode 100644 index 68dcec66c..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Run_52.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Run_62.png b/examples/orbiting-objects/assets/Dino_Run_62.png deleted file mode 100644 index 13f2efee1..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Run_62.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Run_72.png b/examples/orbiting-objects/assets/Dino_Run_72.png deleted file mode 100644 index f59e466dc..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Run_72.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Run_82.png b/examples/orbiting-objects/assets/Dino_Run_82.png deleted file mode 100644 index c311f2024..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Run_82.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Walk_102.png b/examples/orbiting-objects/assets/Dino_Walk_102.png deleted file mode 100644 index 0b5c1fbcc..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Walk_102.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Walk_12.png b/examples/orbiting-objects/assets/Dino_Walk_12.png deleted file mode 100644 index 8588f7495..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Walk_12.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Walk_22.png b/examples/orbiting-objects/assets/Dino_Walk_22.png deleted file mode 100644 index 02003991d..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Walk_22.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Walk_32.png b/examples/orbiting-objects/assets/Dino_Walk_32.png deleted file mode 100644 index f45651f25..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Walk_32.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Walk_42.png b/examples/orbiting-objects/assets/Dino_Walk_42.png deleted file mode 100644 index 5ef32ac76..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Walk_42.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Walk_52.png b/examples/orbiting-objects/assets/Dino_Walk_52.png deleted file mode 100644 index d13d8a5ba..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Walk_52.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Walk_62.png b/examples/orbiting-objects/assets/Dino_Walk_62.png deleted file mode 100644 index ae6d24868..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Walk_62.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Walk_72.png b/examples/orbiting-objects/assets/Dino_Walk_72.png deleted file mode 100644 index b2f2d0073..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Walk_72.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Walk_82.png b/examples/orbiting-objects/assets/Dino_Walk_82.png deleted file mode 100644 index 9f3856c56..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Walk_82.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Dino_Walk_92.png b/examples/orbiting-objects/assets/Dino_Walk_92.png deleted file mode 100644 index b693bfb8b..000000000 Binary files a/examples/orbiting-objects/assets/Dino_Walk_92.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/GDevelop G logo (white).png b/examples/orbiting-objects/assets/GDevelop G logo (white).png deleted file mode 100644 index 15a0dae36..000000000 Binary files a/examples/orbiting-objects/assets/GDevelop G logo (white).png and /dev/null differ diff --git a/examples/orbiting-objects/assets/GDevelop complete logo (classic).png b/examples/orbiting-objects/assets/GDevelop complete logo (classic).png deleted file mode 100644 index 8d2d92bd6..000000000 Binary files a/examples/orbiting-objects/assets/GDevelop complete logo (classic).png and /dev/null differ diff --git a/examples/orbiting-objects/assets/GDevelop complete logo (white).png b/examples/orbiting-objects/assets/GDevelop complete logo (white).png deleted file mode 100644 index 67b4852d4..000000000 Binary files a/examples/orbiting-objects/assets/GDevelop complete logo (white).png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Gas.png b/examples/orbiting-objects/assets/Gas.png index ac31a53ca..ad222e6ba 100644 Binary files a/examples/orbiting-objects/assets/Gas.png and b/examples/orbiting-objects/assets/Gas.png differ diff --git a/examples/orbiting-objects/assets/Green Button With Stone Frame_Hovered.png b/examples/orbiting-objects/assets/Green Button With Stone Frame_Hovered.png deleted file mode 100644 index b18717b04..000000000 Binary files a/examples/orbiting-objects/assets/Green Button With Stone Frame_Hovered.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Green Button With Stone Frame_Idle.png b/examples/orbiting-objects/assets/Green Button With Stone Frame_Idle.png deleted file mode 100644 index d640566df..000000000 Binary files a/examples/orbiting-objects/assets/Green Button With Stone Frame_Idle.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Green Button With Stone Frame_Pressed.png b/examples/orbiting-objects/assets/Green Button With Stone Frame_Pressed.png deleted file mode 100644 index 43c55f8f3..000000000 Binary files a/examples/orbiting-objects/assets/Green Button With Stone Frame_Pressed.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/LakkiReddy-Regular.ttf b/examples/orbiting-objects/assets/LakkiReddy-Regular.ttf deleted file mode 100644 index 1cb029a9b..000000000 Binary files a/examples/orbiting-objects/assets/LakkiReddy-Regular.ttf and /dev/null differ diff --git a/examples/orbiting-objects/assets/Music/Beginning of Conflict.aac b/examples/orbiting-objects/assets/Music/Beginning of Conflict.aac deleted file mode 100644 index f1661b413..000000000 Binary files a/examples/orbiting-objects/assets/Music/Beginning of Conflict.aac and /dev/null differ diff --git a/examples/orbiting-objects/assets/Rounded Square Grey Toggle_Off.png b/examples/orbiting-objects/assets/Rounded Square Grey Toggle_Off.png new file mode 100644 index 000000000..997bd58c1 Binary files /dev/null and b/examples/orbiting-objects/assets/Rounded Square Grey Toggle_Off.png differ diff --git a/examples/orbiting-objects/assets/Rounded Square Yellow Toggle_On.png b/examples/orbiting-objects/assets/Rounded Square Yellow Toggle_On.png new file mode 100644 index 000000000..dba44bded Binary files /dev/null and b/examples/orbiting-objects/assets/Rounded Square Yellow Toggle_On.png differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_102.png b/examples/orbiting-objects/assets/Santa_Dead_102.png deleted file mode 100644 index 7b73bc18b..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_102.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_112.png b/examples/orbiting-objects/assets/Santa_Dead_112.png deleted file mode 100644 index baab5066a..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_112.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_122.png b/examples/orbiting-objects/assets/Santa_Dead_122.png deleted file mode 100644 index c00b25e5a..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_122.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_132.png b/examples/orbiting-objects/assets/Santa_Dead_132.png deleted file mode 100644 index 3cbeeca22..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_132.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_142.png b/examples/orbiting-objects/assets/Santa_Dead_142.png deleted file mode 100644 index 15005870f..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_142.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_152.png b/examples/orbiting-objects/assets/Santa_Dead_152.png deleted file mode 100644 index 2cf261dd1..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_152.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_162.png b/examples/orbiting-objects/assets/Santa_Dead_162.png deleted file mode 100644 index 29bc92800..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_162.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_172.png b/examples/orbiting-objects/assets/Santa_Dead_172.png deleted file mode 100644 index ccc7fe213..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_172.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_18.png b/examples/orbiting-objects/assets/Santa_Dead_18.png deleted file mode 100644 index 2e6663e70..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_18.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_22.png b/examples/orbiting-objects/assets/Santa_Dead_22.png deleted file mode 100644 index 763e84d2a..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_22.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_32.png b/examples/orbiting-objects/assets/Santa_Dead_32.png deleted file mode 100644 index f19fd9f56..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_32.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_42.png b/examples/orbiting-objects/assets/Santa_Dead_42.png deleted file mode 100644 index 1c8aec834..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_42.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_52.png b/examples/orbiting-objects/assets/Santa_Dead_52.png deleted file mode 100644 index 5f06ac456..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_52.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_62.png b/examples/orbiting-objects/assets/Santa_Dead_62.png deleted file mode 100644 index 7db215371..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_62.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_72.png b/examples/orbiting-objects/assets/Santa_Dead_72.png deleted file mode 100644 index 7db215371..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_72.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_82.png b/examples/orbiting-objects/assets/Santa_Dead_82.png deleted file mode 100644 index 5f06ac456..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_82.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Dead_92.png b/examples/orbiting-objects/assets/Santa_Dead_92.png deleted file mode 100644 index 893ef1f80..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Dead_92.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_102.png b/examples/orbiting-objects/assets/Santa_Idle_102.png deleted file mode 100644 index aa1658d98..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_102.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_112.png b/examples/orbiting-objects/assets/Santa_Idle_112.png deleted file mode 100644 index 2a63b3be3..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_112.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_122.png b/examples/orbiting-objects/assets/Santa_Idle_122.png deleted file mode 100644 index 4dc0f5f37..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_122.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_132.png b/examples/orbiting-objects/assets/Santa_Idle_132.png deleted file mode 100644 index 7b0f6f77f..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_132.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_142.png b/examples/orbiting-objects/assets/Santa_Idle_142.png deleted file mode 100644 index aa8bba0e3..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_142.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_152.png b/examples/orbiting-objects/assets/Santa_Idle_152.png deleted file mode 100644 index 4713b3ac3..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_152.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_162.png b/examples/orbiting-objects/assets/Santa_Idle_162.png deleted file mode 100644 index 834b68b1c..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_162.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_17.png b/examples/orbiting-objects/assets/Santa_Idle_17.png deleted file mode 100644 index 30e78c83f..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_17.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_22.png b/examples/orbiting-objects/assets/Santa_Idle_22.png deleted file mode 100644 index c62a18a6a..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_22.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_32.png b/examples/orbiting-objects/assets/Santa_Idle_32.png deleted file mode 100644 index a8b94d48a..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_32.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_42.png b/examples/orbiting-objects/assets/Santa_Idle_42.png deleted file mode 100644 index 4125e0bcb..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_42.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_52.png b/examples/orbiting-objects/assets/Santa_Idle_52.png deleted file mode 100644 index 9758417b2..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_52.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_62.png b/examples/orbiting-objects/assets/Santa_Idle_62.png deleted file mode 100644 index 108ff4128..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_62.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_72.png b/examples/orbiting-objects/assets/Santa_Idle_72.png deleted file mode 100644 index 1c0764a23..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_72.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_82.png b/examples/orbiting-objects/assets/Santa_Idle_82.png deleted file mode 100644 index c379d079d..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_82.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Idle_92.png b/examples/orbiting-objects/assets/Santa_Idle_92.png deleted file mode 100644 index 5733e2c35..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Idle_92.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_102.png b/examples/orbiting-objects/assets/Santa_Jump_102.png deleted file mode 100644 index ce3edc1ea..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_102.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_112.png b/examples/orbiting-objects/assets/Santa_Jump_112.png deleted file mode 100644 index d0b42066e..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_112.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_122.png b/examples/orbiting-objects/assets/Santa_Jump_122.png deleted file mode 100644 index 95afa85ee..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_122.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_132.png b/examples/orbiting-objects/assets/Santa_Jump_132.png deleted file mode 100644 index e7be8072e..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_132.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_142.png b/examples/orbiting-objects/assets/Santa_Jump_142.png deleted file mode 100644 index 6af7a8bdf..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_142.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_152.png b/examples/orbiting-objects/assets/Santa_Jump_152.png deleted file mode 100644 index a4555728b..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_152.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_162.png b/examples/orbiting-objects/assets/Santa_Jump_162.png deleted file mode 100644 index b61cd9981..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_162.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_17.png b/examples/orbiting-objects/assets/Santa_Jump_17.png deleted file mode 100644 index 3365f0890..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_17.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_22.png b/examples/orbiting-objects/assets/Santa_Jump_22.png deleted file mode 100644 index ffab24cd2..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_22.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_32.png b/examples/orbiting-objects/assets/Santa_Jump_32.png deleted file mode 100644 index 3733b9610..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_32.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_42.png b/examples/orbiting-objects/assets/Santa_Jump_42.png deleted file mode 100644 index 2c2aab44e..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_42.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_52.png b/examples/orbiting-objects/assets/Santa_Jump_52.png deleted file mode 100644 index ca2e49dd1..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_52.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_62.png b/examples/orbiting-objects/assets/Santa_Jump_62.png deleted file mode 100644 index 5ada5e587..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_62.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_72.png b/examples/orbiting-objects/assets/Santa_Jump_72.png deleted file mode 100644 index 316c5ee33..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_72.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_82.png b/examples/orbiting-objects/assets/Santa_Jump_82.png deleted file mode 100644 index 753d02dae..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_82.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Jump_92.png b/examples/orbiting-objects/assets/Santa_Jump_92.png deleted file mode 100644 index 5369e75ca..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Jump_92.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Run_102.png b/examples/orbiting-objects/assets/Santa_Run_102.png deleted file mode 100644 index 6faf84c40..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Run_102.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Run_112.png b/examples/orbiting-objects/assets/Santa_Run_112.png deleted file mode 100644 index 5766fb356..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Run_112.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Run_12.png b/examples/orbiting-objects/assets/Santa_Run_12.png deleted file mode 100644 index fb0d39c4b..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Run_12.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Run_22.png b/examples/orbiting-objects/assets/Santa_Run_22.png deleted file mode 100644 index ca096e24c..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Run_22.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Run_32.png b/examples/orbiting-objects/assets/Santa_Run_32.png deleted file mode 100644 index 6b39bfb6c..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Run_32.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Run_42.png b/examples/orbiting-objects/assets/Santa_Run_42.png deleted file mode 100644 index c14e3f895..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Run_42.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Run_52.png b/examples/orbiting-objects/assets/Santa_Run_52.png deleted file mode 100644 index 25e824538..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Run_52.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Run_62.png b/examples/orbiting-objects/assets/Santa_Run_62.png deleted file mode 100644 index 8dde5d866..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Run_62.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Run_72.png b/examples/orbiting-objects/assets/Santa_Run_72.png deleted file mode 100644 index bad2a54c0..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Run_72.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Run_82.png b/examples/orbiting-objects/assets/Santa_Run_82.png deleted file mode 100644 index 8496954c7..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Run_82.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Run_92.png b/examples/orbiting-objects/assets/Santa_Run_92.png deleted file mode 100644 index 175394ab9..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Run_92.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Slide_102.png b/examples/orbiting-objects/assets/Santa_Slide_102.png deleted file mode 100644 index 5ec37bba2..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Slide_102.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Slide_112.png b/examples/orbiting-objects/assets/Santa_Slide_112.png deleted file mode 100644 index 7f5dbb912..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Slide_112.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Slide_12.png b/examples/orbiting-objects/assets/Santa_Slide_12.png deleted file mode 100644 index 0399c91ae..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Slide_12.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Slide_22.png b/examples/orbiting-objects/assets/Santa_Slide_22.png deleted file mode 100644 index 045720fe9..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Slide_22.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Slide_32.png b/examples/orbiting-objects/assets/Santa_Slide_32.png deleted file mode 100644 index b31fd550c..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Slide_32.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Slide_42.png b/examples/orbiting-objects/assets/Santa_Slide_42.png deleted file mode 100644 index 9c94cbafc..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Slide_42.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Slide_52.png b/examples/orbiting-objects/assets/Santa_Slide_52.png deleted file mode 100644 index d4845fdcc..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Slide_52.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Slide_62.png b/examples/orbiting-objects/assets/Santa_Slide_62.png deleted file mode 100644 index a27c176e2..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Slide_62.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Slide_72.png b/examples/orbiting-objects/assets/Santa_Slide_72.png deleted file mode 100644 index fb3c29d9f..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Slide_72.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Slide_82.png b/examples/orbiting-objects/assets/Santa_Slide_82.png deleted file mode 100644 index 0883eea7e..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Slide_82.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Slide_92.png b/examples/orbiting-objects/assets/Santa_Slide_92.png deleted file mode 100644 index a28523ac1..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Slide_92.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_102.png b/examples/orbiting-objects/assets/Santa_Walk_102.png deleted file mode 100644 index da451afbc..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_102.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_112.png b/examples/orbiting-objects/assets/Santa_Walk_112.png deleted file mode 100644 index b4d70ea30..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_112.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_122.png b/examples/orbiting-objects/assets/Santa_Walk_122.png deleted file mode 100644 index fe50ab119..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_122.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_132.png b/examples/orbiting-objects/assets/Santa_Walk_132.png deleted file mode 100644 index d2713d147..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_132.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_14.png b/examples/orbiting-objects/assets/Santa_Walk_14.png deleted file mode 100644 index f0cc2b758..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_14.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_22.png b/examples/orbiting-objects/assets/Santa_Walk_22.png deleted file mode 100644 index 9c9d4981c..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_22.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_32.png b/examples/orbiting-objects/assets/Santa_Walk_32.png deleted file mode 100644 index d2cfaeac5..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_32.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_42.png b/examples/orbiting-objects/assets/Santa_Walk_42.png deleted file mode 100644 index 529333e13..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_42.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_52.png b/examples/orbiting-objects/assets/Santa_Walk_52.png deleted file mode 100644 index 88adab055..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_52.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_62.png b/examples/orbiting-objects/assets/Santa_Walk_62.png deleted file mode 100644 index 8747af207..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_62.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_72.png b/examples/orbiting-objects/assets/Santa_Walk_72.png deleted file mode 100644 index d82d59c79..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_72.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_82.png b/examples/orbiting-objects/assets/Santa_Walk_82.png deleted file mode 100644 index 5ddba7363..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_82.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Santa_Walk_92.png b/examples/orbiting-objects/assets/Santa_Walk_92.png deleted file mode 100644 index 1b3c1225e..000000000 Binary files a/examples/orbiting-objects/assets/Santa_Walk_92.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Small Plastic Green Round Slider Border.png b/examples/orbiting-objects/assets/Small Plastic Green Round Slider Border.png deleted file mode 100644 index fab021417..000000000 Binary files a/examples/orbiting-objects/assets/Small Plastic Green Round Slider Border.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Small Plastic Green Round Slider Thumb.png b/examples/orbiting-objects/assets/Small Plastic Green Round Slider Thumb.png deleted file mode 100644 index 275063726..000000000 Binary files a/examples/orbiting-objects/assets/Small Plastic Green Round Slider Thumb.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/SpaceShip 2.png b/examples/orbiting-objects/assets/SpaceShip 2.png new file mode 100644 index 000000000..23ab71730 Binary files /dev/null and b/examples/orbiting-objects/assets/SpaceShip 2.png differ diff --git a/examples/orbiting-objects/assets/Transparent light joystick border.png b/examples/orbiting-objects/assets/Transparent light joystick border.png deleted file mode 100644 index 91a8585c8..000000000 Binary files a/examples/orbiting-objects/assets/Transparent light joystick border.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Transparent light joystick thumb.png b/examples/orbiting-objects/assets/Transparent light joystick thumb.png deleted file mode 100644 index dac93692b..000000000 Binary files a/examples/orbiting-objects/assets/Transparent light joystick thumb.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/Transparent.png b/examples/orbiting-objects/assets/Transparent.png deleted file mode 100644 index 4d7beb806..000000000 Binary files a/examples/orbiting-objects/assets/Transparent.png and /dev/null differ diff --git a/examples/orbiting-objects/assets/White Circle Ended Line Slider Border.png b/examples/orbiting-objects/assets/White Circle Ended Line Slider Border.png new file mode 100644 index 000000000..12b18e557 Binary files /dev/null and b/examples/orbiting-objects/assets/White Circle Ended Line Slider Border.png differ diff --git a/examples/orbiting-objects/assets/Yellow Circle Ended Line Slider FillBar.png b/examples/orbiting-objects/assets/Yellow Circle Ended Line Slider FillBar.png new file mode 100644 index 000000000..970369128 Binary files /dev/null and b/examples/orbiting-objects/assets/Yellow Circle Ended Line Slider FillBar.png differ diff --git a/examples/orbiting-objects/assets/Yellow Circle Ended Line Slider Thumb.png b/examples/orbiting-objects/assets/Yellow Circle Ended Line Slider Thumb.png new file mode 100644 index 000000000..eb5f04785 Binary files /dev/null and b/examples/orbiting-objects/assets/Yellow Circle Ended Line Slider Thumb.png differ diff --git a/examples/orbiting-objects/orbiting-objects.json b/examples/orbiting-objects/orbiting-objects.json index ab224c023..794e60067 100644 --- a/examples/orbiting-objects/orbiting-objects.json +++ b/examples/orbiting-objects/orbiting-objects.json @@ -1,9 +1,9 @@ { "firstLayout": "Elliptical Orbits", "gdVersion": { - "build": 245, + "build": 274, "major": 5, - "minor": 5, + "minor": 6, "revision": 0 }, "properties": { @@ -11,19 +11,20 @@ "antialiasingMode": "MSAA", "antialisingEnabledOnMobile": false, "folderProject": false, - "orientation": "portrait", + "orientation": "landscape", "packageName": "com.example.gamename", "pixelsRounding": false, "projectUuid": "a15ed27e-212b-44b3-8719-523f97903039", "scaleMode": "linear", "sizeOnStartupMode": "", "templateSlug": "", + "useDeprecatedZeroAsDefaultStringVariable": true, "version": "1.0.0", "name": "Extension: Orbiting Objects", "description": "Try the new elliptical orbit that modifies the Z-order or orbiting objects to make a 3D effect!", "author": "Victris Games", - "windowWidth": 864, - "windowHeight": 1280, + "windowWidth": 1280, + "windowHeight": 720, "latestCompilationDirectory": "", "maxFPS": 60, "minFPS": 20, @@ -89,7 +90,6 @@ ], "playableDevices": [ "keyboard", - "mobile", "mobile" ], "extensionProperties": [], @@ -102,77 +102,6 @@ }, "resources": { "resources": [ - { - "file": "assets/Transparent light joystick border.png", - "kind": "image", - "metadata": "", - "name": "Transparent light joystick border.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Multitouch joysticks/10bb8307b196849eae402b1fbbbb71528828879912fad4836416d85d6d935e6d_Transparent light joystick border.png", - "name": "Transparent light joystick border.png" - } - }, - { - "file": "assets/Transparent light joystick thumb.png", - "kind": "image", - "metadata": "", - "name": "Transparent light joystick thumb.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Multitouch joysticks/446729297d485b00428957eb0de56e66d3f5ddf8aa3092ad192f8dd670dd79f2_Transparent light joystick thumb.png", - "name": "Transparent light joystick thumb.png" - } - }, - { - "file": "assets/GDevelop complete logo (classic).png", - "kind": "image", - "metadata": "", - "name": "GDevelop complete logo (classic).png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/GDevelop/7d848f819ac6a6419f4f128392bd6cc6ffd1fa668c93a49a88401f4b4d6389a9_GDevelop complete logo (classic).png", - "name": "GDevelop complete logo (classic).png" - } - }, - { - "file": "assets/GDevelop complete logo (white).png", - "kind": "image", - "metadata": "", - "name": "GDevelop complete logo (white).png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/GDevelop/bc88082027d0f3092776b38b1855a1c4154e72a0e7b3d266e3ae4c7b82388844_GDevelop complete logo (white).png", - "name": "GDevelop complete logo (white).png" - } - }, - { - "file": "assets/GDevelop G logo (white).png", - "kind": "image", - "metadata": "", - "name": "GDevelop G logo (white).png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/GDevelop/5c00e6b81ae1b20854607273671258c57dfc8158100bd2400b3149148c02070d_GDevelop G logo (white).png", - "name": "GDevelop G logo (white).png" - } - }, - { - "file": "assets/LakkiReddy-Regular.ttf", - "kind": "font", - "metadata": "", - "name": "LakkiReddy-Regular.ttf", - "userAdded": true, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Open Font License/10a594780bf83286a06818d30b10a69366cbed3ffb9a9652bc688da7bc2be349_LakkiReddy-Regular.ttf", - "name": "gdevelop-asset-store" - } - }, { "file": "assets/Gas.png", "kind": "image", @@ -234,32575 +163,2771 @@ } }, { - "file": "assets/Small Plastic Green Round Slider Border.png", - "kind": "image", - "metadata": "", - "name": "Small Plastic Green Round Slider Border.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Settings UI/Slider/308609c5db4c7f741d0ea6ce46b7245524c9e48682f23c670ec81ea08f5917e5_Small Plastic Green Round Slider Border.png", - "name": "Small Plastic Green Round Slider Border.png" - } - }, - { - "file": "assets/Transparent.png", - "kind": "image", - "metadata": "", - "name": "Transparent.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Settings UI/Slider/998e0aec3ae57e2bafb3d52e26ab64b10153d411f90c62198effb90b18ecd603_Transparent.png", - "name": "Transparent.png" - } - }, - { - "file": "assets/Small Plastic Green Round Slider Thumb.png", - "kind": "image", - "metadata": "", - "name": "Small Plastic Green Round Slider Thumb.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Settings UI/Slider/f1fe4aaaa4d6da59e2bf6b9411de1f013b5d86c5cacda01f99226c78f427f606_Small Plastic Green Round Slider Thumb.png", - "name": "Small Plastic Green Round Slider Thumb.png" - } - }, - { - "file": "assets/Green Button With Stone Frame_Hovered.png", - "kind": "image", - "metadata": "", - "name": "Green Button With Stone Frame_Hovered.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Menu buttons/a835b9f7fa283fad672fb8607fae99c67b44cb853e81b878926ed7804816be23_Green Button With Stone Frame_Hovered.png", - "name": "Green Button With Stone Frame_Hovered.png" - } - }, - { - "file": "assets/Green Button With Stone Frame_Idle.png", - "kind": "image", - "metadata": "", - "name": "Green Button With Stone Frame_Idle.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Menu buttons/d13ac936a5ce1b628ec20f6031582f6fce805d090e77e5e05d27344bac08ba98_Green Button With Stone Frame_Idle.png", - "name": "Green Button With Stone Frame_Idle.png" - } - }, - { - "file": "assets/Green Button With Stone Frame_Pressed.png", - "kind": "image", - "metadata": "", - "name": "Green Button With Stone Frame_Pressed.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Menu buttons/8921367f00ac169c0565935cbcaed36d5f383f7d3c4e819fbd7384a89dae1d43_Green Button With Stone Frame_Pressed.png", - "name": "Green Button With Stone Frame_Pressed.png" - } - }, - { - "file": "assets/Santa_Dead_18.png", - "kind": "image", - "metadata": "", - "name": "Santa_Dead_1.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/d4ee1a93aeb00e6080ddbb8e4320849e32acc31eefe84b0e2ddd362188795e50_Santa_Dead_1.png", - "name": "Santa_Dead_1.png" - } - }, - { - "file": "assets/Santa_Dead_102.png", - "kind": "image", - "metadata": "", - "name": "Santa_Dead_10.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/3385cff63d720b21f3009a3c510bf2875f43b44e15d1fe2340351b69271b0da9_Santa_Dead_10.png", - "name": "Santa_Dead_10.png" - } - }, - { - "file": "assets/Santa_Dead_112.png", - "kind": "image", - "metadata": "", - "name": "Santa_Dead_11.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/de028de8119ae8cdb25ace54ea2804bf84b0ea62403829024f6105942098305d_Santa_Dead_11.png", - "name": "Santa_Dead_11.png" - } - }, - { - "file": "assets/Santa_Dead_122.png", + "file": "preview.png", "kind": "image", "metadata": "", - "name": "Santa_Dead_12.png", + "name": "preview.png", "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/d9e5d3571f6cc25dd63e762628c98de6176c92f26665761517a3d047d8e5e3b2_Santa_Dead_12.png", - "name": "Santa_Dead_12.png" - } + "userAdded": false }, { - "file": "assets/Santa_Dead_132.png", + "file": "assets/White Circle Ended Line Slider Border.png", "kind": "image", "metadata": "", - "name": "Santa_Dead_13.png", + "name": "assets\\White Circle Ended Line Border.png", "smoothed": true, "userAdded": false, "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/1e4218556a9bc4ca89ff01c41f0b7701192eb0d872ee31b230b177f0496780d9_Santa_Dead_13.png", - "name": "Santa_Dead_13.png" + "identifier": "https://asset-resources.gdevelop.io/public-resources/Settings UI/Slider/Kenney/c8686d71aa3a92c8736d9deab35d1780348a414eda8969a5695f88d73e57301d_White Circle Ended Line Slider Border.png", + "name": "White Circle Ended Line Slider Border.png" } }, { - "file": "assets/Santa_Dead_142.png", + "file": "assets/Yellow Circle Ended Line Slider FillBar.png", "kind": "image", "metadata": "", - "name": "Santa_Dead_14.png", + "name": "assets\\Yellow Circle Ended Line FillBar.png", "smoothed": true, "userAdded": false, "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/38c0ee454299c9210a8e1bcbfd0c008d52b1d935e3f2f5fc92c3c1895439d0aa_Santa_Dead_14.png", - "name": "Santa_Dead_14.png" + "identifier": "https://asset-resources.gdevelop.io/public-resources/Settings UI/Slider/Kenney/90d1f00584332f2ed5f41f426b7f9041b2640c1196a9cfb0f000301137d5e759_Yellow Circle Ended Line Slider FillBar.png", + "name": "Yellow Circle Ended Line Slider FillBar.png" } }, { - "file": "assets/Santa_Dead_152.png", + "file": "assets/Yellow Circle Ended Line Slider Thumb.png", "kind": "image", "metadata": "", - "name": "Santa_Dead_15.png", + "name": "assets\\Yellow Circle Ended Line Thumb.png", "smoothed": true, "userAdded": false, "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/00409e83ea8bbb2df2e25e049dfe272ef52f8e48ed9efebebe213f79a192c11b_Santa_Dead_15.png", - "name": "Santa_Dead_15.png" + "identifier": "https://asset-resources.gdevelop.io/public-resources/Settings UI/Slider/Kenney/3fc6bd65df7b12c5c2b57ae7eb696ba5e195461b4f94fd19593d38ef49f90a3d_Yellow Circle Ended Line Slider Thumb.png", + "name": "Yellow Circle Ended Line Slider Thumb.png" } }, { - "file": "assets/Santa_Dead_162.png", + "file": "assets/Rounded Square Grey Toggle_Off.png", "kind": "image", "metadata": "", - "name": "Santa_Dead_16.png", + "name": "assets\\Rounded Square Grey Toggle_Off.png", "smoothed": true, "userAdded": false, "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/e656daacb0f74228d7f005a3c96c0efbd92acb4a72faad2a63044dfc610cdd2b_Santa_Dead_16.png", - "name": "Santa_Dead_16.png" + "identifier": "https://asset-resources.gdevelop.io/public-resources/Settings UI/Toggle Switch/Kenney/501c0fad663d2099bbd285dec2a886c66eefd3b28a2b51cd07cedcb66764f7a7_Rounded Square Grey Toggle_Off.png", + "name": "Rounded Square Grey Toggle_Off.png" } }, { - "file": "assets/Santa_Dead_172.png", + "file": "assets/Rounded Square Yellow Toggle_On.png", "kind": "image", "metadata": "", - "name": "Santa_Dead_17.png", + "name": "assets\\Rounded Square Yellow Toggle_On.png", "smoothed": true, "userAdded": false, "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/b0f0d9092569fe42df0cc5e3f9cdf4b3a6297a3fbdeebf45d46df6425a69a0a2_Santa_Dead_17.png", - "name": "Santa_Dead_17.png" + "identifier": "https://asset-resources.gdevelop.io/public-resources/Settings UI/Toggle Switch/Kenney/465650b3c0577e11ce50c2051dd1e4c35d376fe99feac2c2662cc42316f66591_Rounded Square Yellow Toggle_On.png", + "name": "Rounded Square Yellow Toggle_On.png" } }, { - "file": "assets/Santa_Dead_22.png", + "file": "assets/Bomb.png", "kind": "image", "metadata": "", - "name": "Santa_Dead_2.png", - "smoothed": true, + "name": "Bomb.png", + "smoothed": false, "userAdded": false, "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/436afe22922440fd1e1ef0e07d1dceec4d0b6cd18827bdc53e77b4ec6033acbe_Santa_Dead_2.png", - "name": "Santa_Dead_2.png" + "identifier": "https://asset-resources.gdevelop.io/public-resources/Space Shooter by Pixel boy/Item/48878acbb095ffff0099780900b6755bd3bf6cb4c1e852dedfade7cf3d6396f4_Bomb.png", + "name": "Bomb.png" } }, { - "file": "assets/Santa_Dead_32.png", + "file": "assets/SpaceShip 2.png", "kind": "image", "metadata": "", - "name": "Santa_Dead_3.png", - "smoothed": true, + "name": "SpaceShip 2.png", + "smoothed": false, "userAdded": false, "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/0fcb63f19b0e1bbd30dcc8fa6357c3906def8b7fbb2ccb243e8229f5e38f7fe3_Santa_Dead_3.png", - "name": "Santa_Dead_3.png" + "identifier": "https://asset-resources.gdevelop.io/public-resources/Space Shooter by Pixel boy/Ship/24c7dea97f28458a7572262915d87354a2296c96e687018927581cf347123f65_SpaceShip 2.png", + "name": "SpaceShip 2.png" } + } + ] + }, + "objects": [], + "objectsFolderStructure": { + "folderName": "__ROOT" + }, + "objectsGroups": [], + "variables": [], + "layouts": [ + { + "b": 0, + "disableInputWhenNotFocused": true, + "mangledName": "Elliptical_32Orbits", + "name": "Elliptical Orbits", + "r": 0, + "standardSortMethod": true, + "stopSoundsOnStartup": true, + "title": "", + "v": 0, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.1, + "snap": true, + "zoomFactor": 0.7999654551169921, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" }, - { - "file": "assets/Santa_Dead_42.png", - "kind": "image", - "metadata": "", - "name": "Santa_Dead_4.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/a62762cee386deef116b3c0e6637543e7f5f69b14ba427a276ce446d6300dc9b_Santa_Dead_4.png", - "name": "Santa_Dead_4.png" + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "Background", + "name": "Gas", + "persistentUuid": "cc0ff943-f2af-41a8-8928-fa7fbf34a18e", + "width": 0, + "x": 622, + "y": 350, + "zOrder": 0, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 1466, + "layer": "", + "name": "Text0", + "persistentUuid": "ae84b3a8-cbc6-4044-b86b-07fc65a497c4", + "width": 320, + "x": 453, + "y": 64, + "zOrder": 6, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 18, + "layer": "", + "name": "WidthSlider", + "persistentUuid": "e8e57ec7-5080-4755-8268-a429917e3077", + "width": 600, + "x": 328, + "y": 654, + "zOrder": 7, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": true, + "depth": 1, + "height": 18, + "layer": "", + "name": "HeightSlider", + "persistentUuid": "6b04726d-0083-48ac-896f-2749e11d9814", + "width": 500, + "x": 733, + "y": 369, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "WidthLabel", + "persistentUuid": "7403568d-cd0e-4935-82ce-f88bd3cafe6d", + "width": 0, + "x": 187, + "y": 617, + "zOrder": 9, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "HeightLabel", + "persistentUuid": "e02413d8-a9d4-4e90-b91d-79d77f22d519", + "width": 0, + "x": 1006, + "y": 105, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 96, + "layer": "", + "name": "Title", + "persistentUuid": "6cfedb25-d01f-491c-95be-1a0506975102", + "width": 1280, + "x": 0, + "y": 0, + "zOrder": 11, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } - }, - { - "file": "assets/Santa_Dead_52.png", - "kind": "image", - "metadata": "", - "name": "Santa_Dead_5.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/7e9b0f8808bc9c5417c1e5d513752fa09098f7749f2bc6b27389466f17891153_Santa_Dead_5.png", - "name": "Santa_Dead_5.png" - } - }, - { - "file": "assets/Santa_Dead_62.png", - "kind": "image", - "metadata": "", - "name": "Santa_Dead_6.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/f906b3d0e13a46812a2241d14f2649fa7c3e4fd005811b4c67564f2ac915cf53_Santa_Dead_6.png", - "name": "Santa_Dead_6.png" - } - }, - { - "file": "assets/Santa_Dead_72.png", - "kind": "image", - "metadata": "", - "name": "Santa_Dead_7.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/f906b3d0e13a46812a2241d14f2649fa7c3e4fd005811b4c67564f2ac915cf53_Santa_Dead_7.png", - "name": "Santa_Dead_7.png" - } - }, - { - "file": "assets/Santa_Dead_82.png", - "kind": "image", - "metadata": "", - "name": "Santa_Dead_8.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/7e9b0f8808bc9c5417c1e5d513752fa09098f7749f2bc6b27389466f17891153_Santa_Dead_8.png", - "name": "Santa_Dead_8.png" - } - }, - { - "file": "assets/Santa_Dead_92.png", - "kind": "image", - "metadata": "", - "name": "Santa_Dead_9.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/78ed0217a6bdd983d680d198bf2e0f8fc95fed2d1d18f37482f89a34f8fae7f0_Santa_Dead_9.png", - "name": "Santa_Dead_9.png" - } - }, - { - "file": "assets/Santa_Idle_17.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_1.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/d6f30c528112175c058a4214f8407d98733ef25edf59f1c7cc2038472d59ae81_Santa_Idle_1.png", - "name": "Santa_Idle_1.png" - } - }, - { - "file": "assets/Santa_Idle_102.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_10.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/7d02d6b18ab46076ed3ce2d20fb683633d74244b7c7d8863b45ed86a53f0f0b9_Santa_Idle_10.png", - "name": "Santa_Idle_10.png" - } - }, - { - "file": "assets/Santa_Idle_112.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_11.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/64743a4ac1d0cb1a45aeca2fa5577a086d280d4c96b5db68e64a91df2a447f80_Santa_Idle_11.png", - "name": "Santa_Idle_11.png" - } - }, - { - "file": "assets/Santa_Idle_122.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_12.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/918d31e4470c4cfcaf872e95faf8034dd2439f4d7f3c429b87e143986c94178a_Santa_Idle_12.png", - "name": "Santa_Idle_12.png" - } - }, - { - "file": "assets/Santa_Idle_132.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_13.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/54b424507c81de714d84e6cec8c08a70966ca9dd0b76e29188e404b409e054ff_Santa_Idle_13.png", - "name": "Santa_Idle_13.png" - } - }, - { - "file": "assets/Santa_Idle_142.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_14.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/d66f6350954e5a56dcce968f6d48ca9ed200c88945d3d7696c889ec3712bd23f_Santa_Idle_14.png", - "name": "Santa_Idle_14.png" - } - }, - { - "file": "assets/Santa_Idle_152.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_15.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/9a4d37567e22bbc26c1aea5262c91c59ae8ac0e0df46e94b481c08773ad39dbe_Santa_Idle_15.png", - "name": "Santa_Idle_15.png" - } - }, - { - "file": "assets/Santa_Idle_162.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_16.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/f7d024a0b436972d13996f8f3945442f149435f88b7b4d07875e7641b99684b7_Santa_Idle_16.png", - "name": "Santa_Idle_16.png" - } - }, - { - "file": "assets/Santa_Idle_22.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_2.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/ed4f79a607978feb6505728896dc913e0f939c74bc9609d0b2c0a1948dbd347a_Santa_Idle_2.png", - "name": "Santa_Idle_2.png" - } - }, - { - "file": "assets/Santa_Idle_32.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_3.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/5c96b728518d01c1f25ef5fd80c786f613888b958a70d6bbdb015394bd6dda13_Santa_Idle_3.png", - "name": "Santa_Idle_3.png" - } - }, - { - "file": "assets/Santa_Idle_42.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_4.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/4a7ff0325759f99451b0e079a59480daf8719cfa711c3c91ddc475c79a8ba702_Santa_Idle_4.png", - "name": "Santa_Idle_4.png" - } - }, - { - "file": "assets/Santa_Idle_52.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_5.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/17e975760f9cf9cca6a852299486e0fad851ef9071f5a33c0e5e1b1b09d9e7dd_Santa_Idle_5.png", - "name": "Santa_Idle_5.png" - } - }, - { - "file": "assets/Santa_Idle_62.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_6.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/42a491cb94f001ce338b5bdcf12a6a36c6508c141caa459dc1d819004be8a969_Santa_Idle_6.png", - "name": "Santa_Idle_6.png" - } - }, - { - "file": "assets/Santa_Idle_72.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_7.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/4c66aa9b7b1eb9c29c5e20220b44d448563d6039fecf6e55841db1d8e579558b_Santa_Idle_7.png", - "name": "Santa_Idle_7.png" - } - }, - { - "file": "assets/Santa_Idle_82.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_8.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/a5c01a6a39ca3abe18e33d27b6fb5a51c75810437d6e03d2e928af8e9271efb1_Santa_Idle_8.png", - "name": "Santa_Idle_8.png" - } - }, - { - "file": "assets/Santa_Idle_92.png", - "kind": "image", - "metadata": "", - "name": "Santa_Idle_9.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/d7d5ee8484ce22c288a341d47d2cc0a5993a02b8a380a6ac547a4959e1b2350b_Santa_Idle_9.png", - "name": "Santa_Idle_9.png" - } - }, - { - "file": "assets/Santa_Jump_17.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_1.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/bf6c39d66d4f2d865fc4498049ab40b6bb62175f3ce10b69bf29fff5dafe8804_Santa_Jump_1.png", - "name": "Santa_Jump_1.png" - } - }, - { - "file": "assets/Santa_Jump_102.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_10.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/131adf364bbfbe97a0cfe0cfb43795948d451dd444f9a1f3d03d91efb3784205_Santa_Jump_10.png", - "name": "Santa_Jump_10.png" - } - }, - { - "file": "assets/Santa_Jump_112.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_11.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/031f2b3c98901dac46ddcc3ed8160c61981b09c62e7a45c686b7ea7a68a21e8e_Santa_Jump_11.png", - "name": "Santa_Jump_11.png" - } - }, - { - "file": "assets/Santa_Jump_122.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_12.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/959b83049c692eb7dd9d7765fe119059a7189a5a2b6800287088c30eed23bc84_Santa_Jump_12.png", - "name": "Santa_Jump_12.png" - } - }, - { - "file": "assets/Santa_Jump_132.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_13.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/35df9a475db6889748f27c6b8962083ad7e1ae42f315a83adc453d86f5575365_Santa_Jump_13.png", - "name": "Santa_Jump_13.png" - } - }, - { - "file": "assets/Santa_Jump_142.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_14.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/57a3c0e175da36cafe863b01a461bc562e136195e02032beb0ad902e66efe656_Santa_Jump_14.png", - "name": "Santa_Jump_14.png" - } - }, - { - "file": "assets/Santa_Jump_152.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_15.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/cdc29d0fb85de38708f577c5c4bbcc342b62a20e13321d992528a8bae5a5a290_Santa_Jump_15.png", - "name": "Santa_Jump_15.png" - } - }, - { - "file": "assets/Santa_Jump_162.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_16.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/aa63831ae9d141f899a0dbbc06646a4869d85b88da4acc026660fdb97ee6b84f_Santa_Jump_16.png", - "name": "Santa_Jump_16.png" - } - }, - { - "file": "assets/Santa_Jump_22.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_2.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/14eacc3829b03b2abe3f9614260c48911fc6a32bb9d3b54bb86bf6c79f3d7eef_Santa_Jump_2.png", - "name": "Santa_Jump_2.png" - } - }, - { - "file": "assets/Santa_Jump_32.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_3.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/3a663358d2d2041b9914e7f6e4c0994d47d8ec4c511dde830d03b6192564f003_Santa_Jump_3.png", - "name": "Santa_Jump_3.png" - } - }, - { - "file": "assets/Santa_Jump_42.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_4.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/4cf7aaf44148c93d902451de6e6abad95656680f35dd547411671b39d6e19e96_Santa_Jump_4.png", - "name": "Santa_Jump_4.png" - } - }, - { - "file": "assets/Santa_Jump_52.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_5.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/258029b514b5397577fce6573c833dcd89cb9b9ff7f744639b0c4ec0acb49dbe_Santa_Jump_5.png", - "name": "Santa_Jump_5.png" - } - }, - { - "file": "assets/Santa_Jump_62.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_6.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/a9c78995f019983f1103b3f11cc9109ca1f91bf7224e22991ca4fd4c0569229f_Santa_Jump_6.png", - "name": "Santa_Jump_6.png" - } - }, - { - "file": "assets/Santa_Jump_72.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_7.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/80657ad8577dac3519545352aa33e9a3e01b552a7370b380502aeda7d0d71192_Santa_Jump_7.png", - "name": "Santa_Jump_7.png" - } - }, - { - "file": "assets/Santa_Jump_82.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_8.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/f426979ca9a3eeddd9e178ba46933477adc7ac5c3b6e1144214d40d600a91e48_Santa_Jump_8.png", - "name": "Santa_Jump_8.png" - } - }, - { - "file": "assets/Santa_Jump_92.png", - "kind": "image", - "metadata": "", - "name": "Santa_Jump_9.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/36a4979084322be76d726e807751932a81e7a180ba8858cf7a5d84cde04ab25c_Santa_Jump_9.png", - "name": "Santa_Jump_9.png" - } - }, - { - "file": "assets/Santa_Run_12.png", - "kind": "image", - "metadata": "", - "name": "Santa_Run_1.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/c4c84bebacbe6994b1e27c3cc24d911cc1e5da29da08e1914fe54d0b56f24de5_Santa_Run_1.png", - "name": "Santa_Run_1.png" - } - }, - { - "file": "assets/Santa_Run_102.png", - "kind": "image", - "metadata": "", - "name": "Santa_Run_10.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/76bb9ec8974a68d5f0aaacf1642b3c51785dfd4e6c19bf48e6f4027eae33c74a_Santa_Run_10.png", - "name": "Santa_Run_10.png" - } - }, - { - "file": "assets/Santa_Run_112.png", - "kind": "image", - "metadata": "", - "name": "Santa_Run_11.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/4626e0925f096aa2d949d5c366ef5a8f4b48642cf61dd64755f638710eef0381_Santa_Run_11.png", - "name": "Santa_Run_11.png" - } - }, - { - "file": "assets/Santa_Run_22.png", - "kind": "image", - "metadata": "", - "name": "Santa_Run_2.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/067c40b97450053c91250a489486025e5efaf2cc8b2819ee4d6649e3af2cf8ce_Santa_Run_2.png", - "name": "Santa_Run_2.png" - } - }, - { - "file": "assets/Santa_Run_32.png", - "kind": "image", - "metadata": "", - "name": "Santa_Run_3.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/e83431795736ba0536cafc534f057adff75c466280efdd88cab7b7edf7736888_Santa_Run_3.png", - "name": "Santa_Run_3.png" - } - }, - { - "file": "assets/Santa_Run_42.png", - "kind": "image", - "metadata": "", - "name": "Santa_Run_4.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/7ece1ef408a1e402cc1942b1b1a7b3dd6174875d4ba4f87e5f54268853295b16_Santa_Run_4.png", - "name": "Santa_Run_4.png" - } - }, - { - "file": "assets/Santa_Run_52.png", - "kind": "image", - "metadata": "", - "name": "Santa_Run_5.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/e931a7aea33c7183aae46e46991812d5ae1e0aac2d0576f98b068aba0f849e46_Santa_Run_5.png", - "name": "Santa_Run_5.png" - } - }, - { - "file": "assets/Santa_Run_62.png", - "kind": "image", - "metadata": "", - "name": "Santa_Run_6.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/416afde6a3519b75f40ffe66cb898bd87a0ab97fd7efd98e0d9670943437b850_Santa_Run_6.png", - "name": "Santa_Run_6.png" - } - }, - { - "file": "assets/Santa_Run_72.png", - "kind": "image", - "metadata": "", - "name": "Santa_Run_7.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/60b075d68a788fac67a30f80efeafd280ab1c1bd769d236c54c3d9827dea26b4_Santa_Run_7.png", - "name": "Santa_Run_7.png" - } - }, - { - "file": "assets/Santa_Run_82.png", - "kind": "image", - "metadata": "", - "name": "Santa_Run_8.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/840c477d5e83ee5fcf62b5f5f8763b11017ecf78a5ba4fc86e48a2e8d3f83339_Santa_Run_8.png", - "name": "Santa_Run_8.png" - } - }, - { - "file": "assets/Santa_Run_92.png", - "kind": "image", - "metadata": "", - "name": "Santa_Run_9.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/daa3b0de5bbf2d70d787cb9153127a7b28c1023d5fd9787992071a7000573caf_Santa_Run_9.png", - "name": "Santa_Run_9.png" - } - }, - { - "file": "assets/Santa_Slide_12.png", - "kind": "image", - "metadata": "", - "name": "Santa_Slide_1.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/8b9b65a5abdf57cf91781ecffd6595cb9a2f75948638c5531ddc53ba7b5e910b_Santa_Slide_1.png", - "name": "Santa_Slide_1.png" - } - }, - { - "file": "assets/Santa_Slide_102.png", - "kind": "image", - "metadata": "", - "name": "Santa_Slide_10.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/9b14019bf53bcadc323cb38033a27c42adf44828b3645982538783d09926dfeb_Santa_Slide_10.png", - "name": "Santa_Slide_10.png" - } - }, - { - "file": "assets/Santa_Slide_112.png", - "kind": "image", - "metadata": "", - "name": "Santa_Slide_11.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/b47629f5643e6ecabfbdd66ca1cb80dc2cf2134fb4345127c230302e9c99332c_Santa_Slide_11.png", - "name": "Santa_Slide_11.png" - } - }, - { - "file": "assets/Santa_Slide_22.png", - "kind": "image", - "metadata": "", - "name": "Santa_Slide_2.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/fa4a5fa78cbc41f7f6af6aebdbe17f92ab0f38cf9cf06b93355c641cac4d5b07_Santa_Slide_2.png", - "name": "Santa_Slide_2.png" - } - }, - { - "file": "assets/Santa_Slide_32.png", - "kind": "image", - "metadata": "", - "name": "Santa_Slide_3.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/1bd99effbe5f8483672fb8c995b063eae83aa57acf9a090c3fa5cf918fbc288b_Santa_Slide_3.png", - "name": "Santa_Slide_3.png" - } - }, - { - "file": "assets/Santa_Slide_42.png", - "kind": "image", - "metadata": "", - "name": "Santa_Slide_4.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/34d7d3687b0f3da70941dfee820a19ce400fb52bf4d68c66de5a4ce57fc726a4_Santa_Slide_4.png", - "name": "Santa_Slide_4.png" - } - }, - { - "file": "assets/Santa_Slide_52.png", - "kind": "image", - "metadata": "", - "name": "Santa_Slide_5.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/e81e66c992c1b8ff1abd53a30afddc71643e85b98a5f59a06710a3d6b9bda4fd_Santa_Slide_5.png", - "name": "Santa_Slide_5.png" - } - }, - { - "file": "assets/Santa_Slide_62.png", - "kind": "image", - "metadata": "", - "name": "Santa_Slide_6.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/1a83b8a11feb3540fe858cabec90d158fd471b9c4a135bf43521b4bfa635a22c_Santa_Slide_6.png", - "name": "Santa_Slide_6.png" - } - }, - { - "file": "assets/Santa_Slide_72.png", - "kind": "image", - "metadata": "", - "name": "Santa_Slide_7.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/14b8afa530b173fede4d72d8f78971b75d3e6d55b90561690fde69c1dc698783_Santa_Slide_7.png", - "name": "Santa_Slide_7.png" - } - }, - { - "file": "assets/Santa_Slide_82.png", - "kind": "image", - "metadata": "", - "name": "Santa_Slide_8.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/fa8ab0fa50367e28e795e4347db22d1cbde8728e288259feebcddfb347b4db30_Santa_Slide_8.png", - "name": "Santa_Slide_8.png" - } - }, - { - "file": "assets/Santa_Slide_92.png", - "kind": "image", - "metadata": "", - "name": "Santa_Slide_9.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/9e9edb7782742a588e72b4179242449a5c7e43b77f497f94d86552504416ff53_Santa_Slide_9.png", - "name": "Santa_Slide_9.png" - } - }, - { - "file": "assets/Santa_Walk_14.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_1.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/883438d6739ef1252f5224cab73a8abdcff3f0891fa62e9c8efb1fd0b5abcd4c_Santa_Walk_1.png", - "name": "Santa_Walk_1.png" - } - }, - { - "file": "assets/Santa_Walk_102.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_10.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/5f32c55c012f6505949a40ee78ff54690f9fc56590b2f9bcc654d9a1ee7e6429_Santa_Walk_10.png", - "name": "Santa_Walk_10.png" - } - }, - { - "file": "assets/Santa_Walk_112.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_11.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/de8d06450432780ed1abb474132c20dd0e4cc3aad0d454555b5c580945535550_Santa_Walk_11.png", - "name": "Santa_Walk_11.png" - } - }, - { - "file": "assets/Santa_Walk_122.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_12.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/f1ce087fb9de5e55237bd5f4efaa43b087ffd6318e1d70d42b032424482cb794_Santa_Walk_12.png", - "name": "Santa_Walk_12.png" - } - }, - { - "file": "assets/Santa_Walk_132.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_13.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/5d68ce3405cc8e6edc27bd74b4f1ab881acece0e7ad85f4a94c87d18f8902e8e_Santa_Walk_13.png", - "name": "Santa_Walk_13.png" - } - }, - { - "file": "assets/Santa_Walk_22.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_2.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/10bd1400821541c3d40268d8be9dfe4156d9b60269084fcad117da2ccbaa83af_Santa_Walk_2.png", - "name": "Santa_Walk_2.png" - } - }, - { - "file": "assets/Santa_Walk_32.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_3.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/b4adc5a0b51e00cd3476ed4a4a852520006e92a3e369d2bcc56ed19339219735_Santa_Walk_3.png", - "name": "Santa_Walk_3.png" - } - }, - { - "file": "assets/Santa_Walk_42.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_4.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/a374100fb8527c6d21405191a1330a4998968cdc4477cb33320d6e6fefd3aadf_Santa_Walk_4.png", - "name": "Santa_Walk_4.png" - } - }, - { - "file": "assets/Santa_Walk_52.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_5.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/955dd5893fbe2c3557efdd1249e5b64760cf1cbc34baa91b18354d526b04024b_Santa_Walk_5.png", - "name": "Santa_Walk_5.png" - } - }, - { - "file": "assets/Santa_Walk_62.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_6.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/cdb31cb89f156cfafee726dfd75d7edb66400463f4a60fca8793ba61f6daba44_Santa_Walk_6.png", - "name": "Santa_Walk_6.png" - } - }, - { - "file": "assets/Santa_Walk_72.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_7.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/046a84c1e9055e20e9705a98bb3d0e4ee61674fa4acae93d185d81fea6193082_Santa_Walk_7.png", - "name": "Santa_Walk_7.png" - } - }, - { - "file": "assets/Santa_Walk_82.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_8.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/59efa9f99ab833dd0cb721a1be569de989cbebced392ffb21a32d9c8c261e5fb_Santa_Walk_8.png", - "name": "Santa_Walk_8.png" - } - }, - { - "file": "assets/Santa_Walk_92.png", - "kind": "image", - "metadata": "", - "name": "Santa_Walk_9.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Santa/518031cf7490c8ea2ff55a130d084891c6fd5fda534224975462dfb3e4fcf775_Santa_Walk_9.png", - "name": "Santa_Walk_9.png" - } - }, - { - "file": "assets/Dino_Dead_12.png", - "kind": "image", - "metadata": "", - "name": "Dino_Dead_1.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/8d7403c75aaca04a89857a5884f268f66c301d547f51ebaa687e7ea590facc37_Dino_Dead_1.png", - "name": "Dino_Dead_1.png" - } - }, - { - "file": "assets/Dino_Dead_22.png", - "kind": "image", - "metadata": "", - "name": "Dino_Dead_2.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/acb26c68f6d5a22ced4a0557d80f8b493f459e57accf32645ef742a40e57ab11_Dino_Dead_2.png", - "name": "Dino_Dead_2.png" - } - }, - { - "file": "assets/Dino_Dead_32.png", - "kind": "image", - "metadata": "", - "name": "Dino_Dead_3.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/711ce83a2d0a55fb6374993f15074dd8d389f60e84c795e17b3c75b9d7ef5104_Dino_Dead_3.png", - "name": "Dino_Dead_3.png" - } - }, - { - "file": "assets/Dino_Dead_42.png", - "kind": "image", - "metadata": "", - "name": "Dino_Dead_4.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/cd9a50aca302c861c659310564a7df2597fd18a8ca7fa917aa65e88bd14a420c_Dino_Dead_4.png", - "name": "Dino_Dead_4.png" - } - }, - { - "file": "assets/Dino_Dead_52.png", - "kind": "image", - "metadata": "", - "name": "Dino_Dead_5.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/d5230b682e329003214525b33890a3bb5d74182318d686b170c5a8c158e525d7_Dino_Dead_5.png", - "name": "Dino_Dead_5.png" - } - }, - { - "file": "assets/Dino_Dead_62.png", - "kind": "image", - "metadata": "", - "name": "Dino_Dead_6.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/6af646d6340de840af97af12ce690e1ce851a0565c650509f451985620cade26_Dino_Dead_6.png", - "name": "Dino_Dead_6.png" - } - }, - { - "file": "assets/Dino_Dead_72.png", - "kind": "image", - "metadata": "", - "name": "Dino_Dead_7.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/6af646d6340de840af97af12ce690e1ce851a0565c650509f451985620cade26_Dino_Dead_7.png", - "name": "Dino_Dead_7.png" - } - }, - { - "file": "assets/Dino_Dead_82.png", - "kind": "image", - "metadata": "", - "name": "Dino_Dead_8.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/6af646d6340de840af97af12ce690e1ce851a0565c650509f451985620cade26_Dino_Dead_8.png", - "name": "Dino_Dead_8.png" - } - }, - { - "file": "assets/Dino_Idle_12.png", - "kind": "image", - "metadata": "", - "name": "Dino_Idle_1.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/cba2c4d21ee02cd14bd74d120e43411ded309f318a50dc9f25ac797ada71cab5_Dino_Idle_1.png", - "name": "Dino_Idle_1.png" - } - }, - { - "file": "assets/Dino_Idle_102.png", - "kind": "image", - "metadata": "", - "name": "Dino_Idle_10.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/f563c7c3404fa396e771053c66f86236b0cc70d5298cb4713009a2f8f7663169_Dino_Idle_10.png", - "name": "Dino_Idle_10.png" - } - }, - { - "file": "assets/Dino_Idle_22.png", - "kind": "image", - "metadata": "", - "name": "Dino_Idle_2.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/674e732b2c9a3085306a8498d275dd919bd6abbacdf8abb3c252cfb92e029c09_Dino_Idle_2.png", - "name": "Dino_Idle_2.png" - } - }, - { - "file": "assets/Dino_Idle_32.png", - "kind": "image", - "metadata": "", - "name": "Dino_Idle_3.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/17587806bb028fdbc5ad3cfd56849eddfe3f2f118f5a0cad96e11cbd2ce0d386_Dino_Idle_3.png", - "name": "Dino_Idle_3.png" - } - }, - { - "file": "assets/Dino_Idle_42.png", - "kind": "image", - "metadata": "", - "name": "Dino_Idle_4.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/7ba60f824db739691ed473cd2042dafa6b9d2995b0204a49ad2a5b30bf98ea7e_Dino_Idle_4.png", - "name": "Dino_Idle_4.png" - } - }, - { - "file": "assets/Dino_Idle_52.png", - "kind": "image", - "metadata": "", - "name": "Dino_Idle_5.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/e90c518887f8b3b0a21affe15f142cf219c521a99fc901bf421705448fa04d69_Dino_Idle_5.png", - "name": "Dino_Idle_5.png" - } - }, - { - "file": "assets/Dino_Idle_62.png", - "kind": "image", - "metadata": "", - "name": "Dino_Idle_6.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/216c1bebf320a40633e9e3aea25d9f08106f69e4b62d5e8e70a8229f7d00328d_Dino_Idle_6.png", - "name": "Dino_Idle_6.png" - } - }, - { - "file": "assets/Dino_Idle_72.png", - "kind": "image", - "metadata": "", - "name": "Dino_Idle_7.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/52d37352b209d6f0994d5eae1e787a305bcf28cedfeb192c3d7180de477e365d_Dino_Idle_7.png", - "name": "Dino_Idle_7.png" - } - }, - { - "file": "assets/Dino_Idle_82.png", - "kind": "image", - "metadata": "", - "name": "Dino_Idle_8.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/aaf84625a043abeece7175319392bf14167b31c2ac65f5958192814916246678_Dino_Idle_8.png", - "name": "Dino_Idle_8.png" - } - }, - { - "file": "assets/Dino_Idle_92.png", - "kind": "image", - "metadata": "", - "name": "Dino_Idle_9.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/276c9a2fd14cde9d9d534bc0010df06968c4aaab69e508595366d8af20a02e05_Dino_Idle_9.png", - "name": "Dino_Idle_9.png" - } - }, - { - "file": "assets/Dino_Jump_13.png", - "kind": "image", - "metadata": "", - "name": "Dino_Jump_1.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/cba2c4d21ee02cd14bd74d120e43411ded309f318a50dc9f25ac797ada71cab5_Dino_Jump_1.png", - "name": "Dino_Jump_1.png" - } - }, - { - "file": "assets/Dino_Jump_102.png", - "kind": "image", - "metadata": "", - "name": "Dino_Jump_10.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/93647c5e1bc6349bc101eed4e87f3835e3a1d587bfc7f98136a97c59d87c7748_Dino_Jump_10.png", - "name": "Dino_Jump_10.png" - } - }, - { - "file": "assets/Dino_Jump_112.png", - "kind": "image", - "metadata": "", - "name": "Dino_Jump_11.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/dd40edfe84008169a688be0d0cd6f990a728a74540db5ae80048374eff518273_Dino_Jump_11.png", - "name": "Dino_Jump_11.png" - } - }, - { - "file": "assets/Dino_Jump_122.png", - "kind": "image", - "metadata": "", - "name": "Dino_Jump_12.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/53c75f1b9752164cad83b8f2048d4db5e30e4f9cc65fa7c83f7a63e95f2150db_Dino_Jump_12.png", - "name": "Dino_Jump_12.png" - } - }, - { - "file": "assets/Dino_Jump_22.png", - "kind": "image", - "metadata": "", - "name": "Dino_Jump_2.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/4e19acf72068d7989f912655f4af4a618741afc4830ce9db8c4d019ffbcfc5f1_Dino_Jump_2.png", - "name": "Dino_Jump_2.png" - } - }, - { - "file": "assets/Dino_Jump_32.png", - "kind": "image", - "metadata": "", - "name": "Dino_Jump_3.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/da42220e6cae7be9750d5e7c6e6f99d78999af66408c5cc981b75efb80bbc232_Dino_Jump_3.png", - "name": "Dino_Jump_3.png" - } - }, - { - "file": "assets/Dino_Jump_42.png", - "kind": "image", - "metadata": "", - "name": "Dino_Jump_4.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/c196a4b70c7ab8678392c9c62d9b2b481858b79e8a9a710cf90b3d3b7b70f47d_Dino_Jump_4.png", - "name": "Dino_Jump_4.png" - } - }, - { - "file": "assets/Dino_Jump_52.png", - "kind": "image", - "metadata": "", - "name": "Dino_Jump_5.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/15c95aff85f27ab7110e2f02e035d734c722a415efa43c149289a7ddff200f9e_Dino_Jump_5.png", - "name": "Dino_Jump_5.png" - } - }, - { - "file": "assets/Dino_Jump_62.png", - "kind": "image", - "metadata": "", - "name": "Dino_Jump_6.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/e5611882a4b176e58d11334bedf3bdde2ec9d899891fab293a640976c2339881_Dino_Jump_6.png", - "name": "Dino_Jump_6.png" - } - }, - { - "file": "assets/Dino_Jump_72.png", - "kind": "image", - "metadata": "", - "name": "Dino_Jump_7.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/ab97e71276cccbb1c622b17458cacd9bb9961ba17b6b80ef848154528f6aa48d_Dino_Jump_7.png", - "name": "Dino_Jump_7.png" - } - }, - { - "file": "assets/Dino_Jump_82.png", - "kind": "image", - "metadata": "", - "name": "Dino_Jump_8.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/14fb39b8d31cb6793b0ee5766401e32190a07dc179c7b61ee719f89d10f6883a_Dino_Jump_8.png", - "name": "Dino_Jump_8.png" - } - }, - { - "file": "assets/Dino_Jump_92.png", - "kind": "image", - "metadata": "", - "name": "Dino_Jump_9.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/5652033b70587c3492cd2a9865d5c09b2f7fc72cbb223300e5e2ba2da08d6805_Dino_Jump_9.png", - "name": "Dino_Jump_9.png" - } - }, - { - "file": "assets/Dino_Run_12.png", - "kind": "image", - "metadata": "", - "name": "Dino_Run_1.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/c8b697df7e6737d74379777610593e3f5a06a2411fc6e2a8e906ae353a558917_Dino_Run_1.png", - "name": "Dino_Run_1.png" - } - }, - { - "file": "assets/Dino_Run_22.png", - "kind": "image", - "metadata": "", - "name": "Dino_Run_2.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/907905296d328a924955dbd6d04459fd23a32102189a9c3443d51170477ce29f_Dino_Run_2.png", - "name": "Dino_Run_2.png" - } - }, - { - "file": "assets/Dino_Run_32.png", - "kind": "image", - "metadata": "", - "name": "Dino_Run_3.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/9bce3a893f773c3b3a2424401d806c88e75f7cc11b1ab333b1c22eb1c673897e_Dino_Run_3.png", - "name": "Dino_Run_3.png" - } - }, - { - "file": "assets/Dino_Run_42.png", - "kind": "image", - "metadata": "", - "name": "Dino_Run_4.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/79d6d532dbc41c194e456fb80d3d574c1b5b3dba830604d90c6d966e8f916d8f_Dino_Run_4.png", - "name": "Dino_Run_4.png" - } - }, - { - "file": "assets/Dino_Run_52.png", - "kind": "image", - "metadata": "", - "name": "Dino_Run_5.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/a4b4461e4a8e70d71d3f06d224bac2e742487be997fa0863c268811be8aec4b8_Dino_Run_5.png", - "name": "Dino_Run_5.png" - } - }, - { - "file": "assets/Dino_Run_62.png", - "kind": "image", - "metadata": "", - "name": "Dino_Run_6.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/4ddccbcb8af48b4dc82c4ee4c06dafa3c14119d48506d451e3932b16f1ff8870_Dino_Run_6.png", - "name": "Dino_Run_6.png" - } - }, - { - "file": "assets/Dino_Run_72.png", - "kind": "image", - "metadata": "", - "name": "Dino_Run_7.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/f8bf7e524862810bb865fa45c2d3511e7e79008c4b316537749665ab9dc6a948_Dino_Run_7.png", - "name": "Dino_Run_7.png" - } - }, - { - "file": "assets/Dino_Run_82.png", - "kind": "image", - "metadata": "", - "name": "Dino_Run_8.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/0a5786db43e1d84f1adb03a06c19b128b22234cbe0874aa0cc54ed730db61ba2_Dino_Run_8.png", - "name": "Dino_Run_8.png" - } - }, - { - "file": "assets/Dino_Walk_12.png", - "kind": "image", - "metadata": "", - "name": "Dino_Walk_1.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/9c92b0987b4df0836066e2e9e9ae9d95c39bd59a7281da9ec325edbbc3e5eb16_Dino_Walk_1.png", - "name": "Dino_Walk_1.png" - } - }, - { - "file": "assets/Dino_Walk_102.png", - "kind": "image", - "metadata": "", - "name": "Dino_Walk_10.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/481941c0c696a4760501a5436c92f4df14db138482ef623897f34ff0be0d179a_Dino_Walk_10.png", - "name": "Dino_Walk_10.png" - } - }, - { - "file": "assets/Dino_Walk_22.png", - "kind": "image", - "metadata": "", - "name": "Dino_Walk_2.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/05575a49b4df533858298dbe90178af50b24a56cd407640b2dd46c7472338f7c_Dino_Walk_2.png", - "name": "Dino_Walk_2.png" - } - }, - { - "file": "assets/Dino_Walk_32.png", - "kind": "image", - "metadata": "", - "name": "Dino_Walk_3.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/46311b09047997145e4094c90409174a005def685e09369bcdcb428abad1e490_Dino_Walk_3.png", - "name": "Dino_Walk_3.png" - } - }, - { - "file": "assets/Dino_Walk_42.png", - "kind": "image", - "metadata": "", - "name": "Dino_Walk_4.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/c364f7939f686c89e587c989f793b914a2bcf9fcf5a5cfc4fd7a94e386b9cba5_Dino_Walk_4.png", - "name": "Dino_Walk_4.png" - } - }, - { - "file": "assets/Dino_Walk_52.png", - "kind": "image", - "metadata": "", - "name": "Dino_Walk_5.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/ef2d6e25f42cbc92e769a3a8b5836cbec3873f8bf9201fc525c8be5c959280d4_Dino_Walk_5.png", - "name": "Dino_Walk_5.png" - } - }, - { - "file": "assets/Dino_Walk_62.png", - "kind": "image", - "metadata": "", - "name": "Dino_Walk_6.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/ba58f03b501023895844e59ff913807a4918e193a57b39acc45787b07d962511_Dino_Walk_6.png", - "name": "Dino_Walk_6.png" - } - }, - { - "file": "assets/Dino_Walk_72.png", - "kind": "image", - "metadata": "", - "name": "Dino_Walk_7.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/eae76949fc5356dab498f35bf47a0d081d0f16a45610288eae3b9c2e9bc8eda8_Dino_Walk_7.png", - "name": "Dino_Walk_7.png" - } - }, - { - "file": "assets/Dino_Walk_82.png", - "kind": "image", - "metadata": "", - "name": "Dino_Walk_8.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/1a26601e92c0523ef2649a3c9f8ac81f5b671c31123546ef439cddc8891ecdc4_Dino_Walk_8.png", - "name": "Dino_Walk_8.png" - } - }, - { - "file": "assets/Dino_Walk_92.png", - "kind": "image", - "metadata": "", - "name": "Dino_Walk_9.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Characters/Dino/d1e65c7de2068fa96b75df9872cb7f6402dc791c324419bba439d14d9a7d2d7d_Dino_Walk_9.png", - "name": "Dino_Walk_9.png" - } - }, - { - "file": "assets/Crystal2.png", - "kind": "image", - "metadata": "", - "name": "Crystal.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Worlds/Winter/Objects/48662a41ab7936ba4110a3d99eed5ee7029be61e5fb8ee4c7e128980a523462f_Crystal.png", - "name": "Crystal.png" - } - }, - { - "file": "assets/Music/Beginning of Conflict.aac", - "kind": "audio", - "metadata": "", - "name": "assets\\Music\\Beginning of Conflict.aac", - "preloadAsMusic": false, - "preloadAsSound": true, - "preloadInCache": false, - "userAdded": true - }, - { - "file": "preview.png", - "kind": "image", - "metadata": "", - "name": "preview.png", - "smoothed": true, - "userAdded": false - } - ] - }, - "objects": [], - "objectsFolderStructure": { - "folderName": "__ROOT" - }, - "objectsGroups": [], - "variables": [], - "layouts": [ - { - "b": 0, - "disableInputWhenNotFocused": true, - "mangledName": "Elliptical_32Orbits", - "name": "Elliptical Orbits", - "r": 0, - "standardSortMethod": true, - "stopSoundsOnStartup": true, - "title": "", - "v": 0, - "uiSettings": { - "grid": true, - "gridType": "rectangular", - "gridWidth": 32, - "gridHeight": 32, - "gridDepth": 32, - "gridOffsetX": 0, - "gridOffsetY": 0, - "gridOffsetZ": 0, - "gridColor": 10401023, - "gridAlpha": 0.1, - "snap": true, - "zoomFactor": 0.44036845014237413, - "windowMask": false, - "selectedLayer": "" - }, - "objectsGroups": [ - { - "name": "Buttons", - "objects": [ - { - "name": "ForegroundTop_Button" - }, - { - "name": "ForegroundBottom_Button" - }, - { - "name": "ForegroundLeft_Button" - }, - { - "name": "ForegroundRight_Button" - } - ] - } - ], - "variables": [], - "instances": [ - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Background", - "name": "Gas", - "persistentUuid": "cc0ff943-f2af-41a8-8928-fa7fbf34a18e", - "width": 0, - "x": 384, - "y": 736, - "zOrder": 0, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 1466, - "layer": "", - "locked": true, - "name": "Text0", - "persistentUuid": "ae84b3a8-cbc6-4044-b86b-07fc65a497c4", - "sealed": true, - "width": 320, - "x": 229, - "y": 480, - "zOrder": 6, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "HorizontalSize_Slider", - "persistentUuid": "e8e57ec7-5080-4755-8268-a429917e3077", - "width": 0, - "x": 89, - "y": 1120, - "zOrder": 7, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 270, - "customSize": false, - "height": 0, - "layer": "", - "name": "VerticalSize_Slider", - "persistentUuid": "6b04726d-0083-48ac-896f-2749e11d9814", - "width": 0, - "x": 476, - "y": 740, - "zOrder": 8, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "HorizontalSize_Text", - "persistentUuid": "7403568d-cd0e-4935-82ce-f88bd3cafe6d", - "width": 0, - "x": 327, - "y": 1195, - "zOrder": 9, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "VerticalSize_Text", - "persistentUuid": "e02413d8-a9d4-4e90-b91d-79d77f22d519", - "width": 0, - "x": 704, - "y": 395, - "zOrder": 10, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Title_Text", - "persistentUuid": "6cfedb25-d01f-491c-95be-1a0506975102", - "width": 0, - "x": 8, - "y": 22, - "zOrder": 11, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 64, - "layer": "", - "name": "ForegroundTop_Button", - "persistentUuid": "7c308e59-829b-47d8-b524-074783bf7ff0", - "width": 256, - "x": 288, - "y": 192, - "zOrder": 12, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 64, - "layer": "", - "name": "ForegroundBottom_Button", - "persistentUuid": "31830ba8-68fb-47a4-91c9-7c28d5006341", - "width": 256, - "x": 288, - "y": 352, - "zOrder": 13, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 66, - "layer": "", - "name": "ForegroundLeft_Button", - "persistentUuid": "937e9aef-674f-4757-9793-63cd406a4a85", - "width": 256, - "x": 32, - "y": 267, - "zOrder": 14, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 64, - "layer": "", - "name": "ForegroundRight_Button", - "persistentUuid": "4e68e2ef-dd1e-431b-ad1b-227073efdc6d", - "width": 256, - "x": 544, - "y": 267, - "zOrder": 15, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Foreground_Text", - "persistentUuid": "af101868-7215-4671-974f-7d87cdb0dad1", - "width": 0, - "x": 312, - "y": 259, - "zOrder": 16, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - } - ], - "objects": [ - { - "assetStoreId": "14597a6b9020c730f9fd07fdf2b0deaba2505f0c33fd78ccd2e982b5ecee350b", - "name": "TransparentLightJoystick", - "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", - "variant": "", - "variables": [], - "effects": [], - "behaviors": [], - "content": {}, - "childrenContent": { - "Border": { - "adaptCollisionMaskAutomatically": false, - "updateIfNotVisible": false, - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Transparent light joystick border.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - "Thumb": { - "adaptCollisionMaskAutomatically": false, - "updateIfNotVisible": false, - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Transparent light joystick thumb.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": "Text0", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 4, - "thickness": 4 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} - } - ], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - } - ], - "string": "0", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "characterSize": 550, - "color": { - "b": 28, - "g": 231, - "r": 248 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "0", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 550, - "lineHeight": 0, - "color": "248;231;28" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "HorizontalSize_Text", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 4, - "thickness": 4 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} - } - ], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - } - ], - "string": "Width", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "characterSize": 50, - "color": { - "b": 255, - "g": 255, - "r": 255 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Width", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 50, - "lineHeight": 0, - "color": "255;255;255" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "Title_Text", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - } - ], - "string": "Orbiting Objects Extension\n(Elliptical orbit)", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "characterSize": 70, - "color": { - "b": 224, - "g": 16, - "r": 189 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Orbiting Objects Extension\n(Elliptical orbit)", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 70, - "lineHeight": 0, - "color": "189;16;224" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "VerticalSize_Text", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 4, - "thickness": 4 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} - } - ], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - } - ], - "string": "Height", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "characterSize": 50, - "color": { - "b": 255, - "g": 255, - "r": 255 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Height", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 50, - "lineHeight": 0, - "color": "255;255;255" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "Foreground_Text", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 4, - "thickness": 4 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} - } - ], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - } - ], - "string": "Foreground\nSide", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "characterSize": 40, - "color": { - "b": 255, - "g": 255, - "r": 255 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Foreground\nSide", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 40, - "lineHeight": 0, - "color": "255;255;255" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "Text2", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 4, - "thickness": 4 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} - } - ], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - } - ], - "string": "2", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "characterSize": 300, - "color": { - "b": 28, - "g": 231, - "r": 248 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "2", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 300, - "lineHeight": 0, - "color": "248;231;28" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "Text3", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 4, - "thickness": 4 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} - } - ], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - } - ], - "string": "3", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "characterSize": 300, - "color": { - "b": 28, - "g": 231, - "r": 248 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "3", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 300, - "lineHeight": 0, - "color": "248;231;28" - } - }, - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "JoystickChallenge_Text", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - } - ], - "string": "#JoystickChallenge", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "characterSize": 80, - "color": { - "b": 255, - "g": 255, - "r": 255 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "#JoystickChallenge", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 80, - "lineHeight": 0, - "color": "255;255;255" - } - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "41720015614a457303209ae93ed21ff1ebc2c8d77a5341d7f033e88cde53fc4e", - "name": "GdevelopCompleteLogoClassic", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "GDevelop complete logo (classic).png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "3c439a5142f6ea19bc70afbbcb66c824c55af7fac5f64b1b79ab603b68d70195", - "name": "GdevelopCompleteLogoWhite", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "GDevelop complete logo (white).png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "6e0bb6ed3d9b15390d252ea815ed2e0a3bc72036cb7efc1efcc7d72f3c7610f4", - "name": "GdevelopGLogoWhite", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "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": [] - } - ] - } - ] - } - ] - }, - { - "additive": true, - "assetStoreId": "8b9d676aee2e7b4e359522aecea263890ba30f957c5665d63d459675b12980f2", - "destroyWhenNoParticles": true, - "emitterAngleA": 0, - "emitterAngleB": 360, - "emitterForceMax": 50, - "emitterForceMin": 50, - "flow": 200, - "jumpForwardInTimeOnCreation": 0, - "maxParticleNb": 1000, - "name": "Gas", - "particleAlpha1": 100, - "particleAlpha2": 0, - "particleAlphaRandomness1": 0, - "particleAlphaRandomness2": 0, - "particleAngle1": 0, - "particleAngle2": 0, - "particleAngleRandomness1": 0, - "particleAngleRandomness2": 0, - "particleBlue1": 224, - "particleBlue2": 255, - "particleColor1": "189;16;224", - "particleColor2": "255;255;255", - "particleGravityX": 0, - "particleGravityY": 0, - "particleGreen1": 16, - "particleGreen2": 255, - "particleLifeTimeMax": 4, - "particleLifeTimeMin": 2, - "particleRed1": 189, - "particleRed2": 255, - "particleSize1": 100, - "particleSize2": 0, - "particleSizeRandomness1": 0, - "particleSizeRandomness2": 0, - "rendererParam1": 1, - "rendererParam2": 1, - "rendererType": "Quad", - "tank": -1, - "textureParticleName": "Gas.png", - "type": "ParticleSystem::ParticleEmitter", - "zoneRadius": 500, - "variables": [], - "effects": [], - "behaviors": [] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "574655a4565bd983af8f5dd98e0fd8cda3bd67cf929c00d3db317e898322e06b", - "name": "Star", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 2, - "thickness": 2 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} - } - ], - "behaviors": [], - "animations": [ - { - "name": "LargeWide", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Star_LargeWide.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Medium", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Star_Medium.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "LargeNarrow", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Star_LargeNarrow.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Small", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Star_Small.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "05b0eb2d13ff37b70927d0184d4705e9c39c0b8fece7463127c4fe9eb65bb422", - "name": "HorizontalSize_Slider", - "type": "PanelSpriteSlider::PanelSpriteSlider", - "variant": "Small Plastic Green Round Slider", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "LabelMargin": 8, - "BarLeftPadding": 31, - "BarRightPadding": 31, - "InitialValue": 50, - "MinValue": 50, - "MaxValue": 300 - } - }, - { - "assetStoreId": "05b0eb2d13ff37b70927d0184d4705e9c39c0b8fece7463127c4fe9eb65bb422", - "name": "VerticalSize_Slider", - "type": "PanelSpriteSlider::PanelSpriteSlider", - "variant": "Small Plastic Green Round Slider", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "LabelMargin": 8, - "BarLeftPadding": 31, - "BarRightPadding": 31, - "MinValue": 50, - "MaxValue": 300, - "ShowLabelAtChanges": false - } - }, - { - "assetStoreId": "0364dbe0c9a504055bcfd65a3e898b58b0cb0aea76c15cc0b9961815b88ba4e6", - "name": "ForegroundTop_Button", - "persistentUuid": "3daac84e-badc-46d5-844f-118b9f2fe10b", - "type": "PanelSpriteButton::PanelSpriteButton", - "variant": "Green Button With Stone Frame 2", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "LeftPadding": 0, - "RightPadding": 0, - "PressedLabelOffsetY": 2, - "BottomPadding": 0, - "TopPadding": 0, - "HoveredFadeOutDuration": 0.2, - "LabelText": "Top" - } - }, - { - "assetStoreId": "0364dbe0c9a504055bcfd65a3e898b58b0cb0aea76c15cc0b9961815b88ba4e6", - "name": "ForegroundBottom_Button", - "type": "PanelSpriteButton::PanelSpriteButton", - "variant": "Green Button With Stone Frame 2", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "LeftPadding": 0, - "RightPadding": 0, - "PressedLabelOffsetY": 2, - "BottomPadding": 0, - "TopPadding": 0, - "HoveredFadeOutDuration": 0.2, - "LabelText": "Bottom" - } - }, - { - "assetStoreId": "0364dbe0c9a504055bcfd65a3e898b58b0cb0aea76c15cc0b9961815b88ba4e6", - "name": "ForegroundLeft_Button", - "type": "PanelSpriteButton::PanelSpriteButton", - "variant": "Green Button With Stone Frame 2", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "LeftPadding": 0, - "RightPadding": 0, - "PressedLabelOffsetY": 2, - "BottomPadding": 0, - "TopPadding": 0, - "HoveredFadeOutDuration": 0.2, - "LabelText": "Left" - } - }, - { - "assetStoreId": "0364dbe0c9a504055bcfd65a3e898b58b0cb0aea76c15cc0b9961815b88ba4e6", - "name": "ForegroundRight_Button", - "type": "PanelSpriteButton::PanelSpriteButton", - "variant": "Green Button With Stone Frame 2", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "LeftPadding": 0, - "RightPadding": 0, - "PressedLabelOffsetY": 2, - "BottomPadding": 0, - "TopPadding": 0, - "HoveredFadeOutDuration": 0.2, - "LabelText": "Right" - } - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "TransparentLightJoystick" - }, - { - "objectName": "Text0" - }, - { - "objectName": "HorizontalSize_Text" - }, - { - "objectName": "Title_Text" - }, - { - "objectName": "VerticalSize_Text" - }, - { - "objectName": "Foreground_Text" - }, - { - "objectName": "Text2" - }, - { - "objectName": "Text3" - }, - { - "objectName": "JoystickChallenge_Text" - }, - { - "objectName": "GdevelopCompleteLogoClassic" - }, - { - "objectName": "GdevelopCompleteLogoWhite" - }, - { - "objectName": "GdevelopGLogoWhite" - }, - { - "objectName": "Gas" - }, - { - "objectName": "Star" - }, - { - "objectName": "HorizontalSize_Slider" - }, - { - "objectName": "VerticalSize_Slider" - }, - { - "objectName": "ForegroundTop_Button" - }, - { - "objectName": "ForegroundBottom_Button" - }, - { - "objectName": "ForegroundLeft_Button" - }, - { - "objectName": "ForegroundRight_Button" - } - ] - }, - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Setup", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SceneJustBegins" - }, - "parameters": [ - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ParticleSystem::SetFlow" - }, - "parameters": [ - "Gas", - "=", - "150" - ] - }, - { - "type": { - "value": "ParticleSystem::EmitterForceMax" - }, - "parameters": [ - "Gas", - "=", - "50" - ] - }, - { - "type": { - "value": "ParticleSystem::EmitterForceMin" - }, - "parameters": [ - "Gas", - "=", - "50" - ] - }, - { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "ForegroundSide", - "=", - "\"Bottom\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PlaySoundOnChannel" - }, - "parameters": [ - "", - "assets\\Music\\Beginning of Conflict.aac", - "1", - "yes", - "50", - "1" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "User controls", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::IsClicked" - }, - "parameters": [ - "ForegroundTop_Button", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "ForegroundSide", - "=", - "\"Top\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::IsClicked" - }, - "parameters": [ - "ForegroundBottom_Button", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "ForegroundSide", - "=", - "\"Bottom\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::IsClicked" - }, - "parameters": [ - "ForegroundLeft_Button", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "ForegroundSide", - "=", - "\"Left\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::IsClicked" - }, - "parameters": [ - "ForegroundRight_Button", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "ForegroundSide", - "=", - "\"Right\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::SetOpacity" - }, - "parameters": [ - "Buttons", - "=", - "128" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarSceneTxt" - }, - "parameters": [ - "ForegroundSide", - "=", - "\"Top\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::SetOpacity" - }, - "parameters": [ - "ForegroundTop_Button", - "=", - "255" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" - }, - "parameters": [ - "HorizontalSize_Slider", - "=", - "300", - "" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" - }, - "parameters": [ - "VerticalSize_Slider", - "=", - "75", - "" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarSceneTxt" - }, - "parameters": [ - "ForegroundSide", - "=", - "\"Bottom\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::SetOpacity" - }, - "parameters": [ - "ForegroundBottom_Button", - "=", - "255" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" - }, - "parameters": [ - "HorizontalSize_Slider", - "=", - "300", - "" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" - }, - "parameters": [ - "VerticalSize_Slider", - "=", - "75", - "" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarSceneTxt" - }, - "parameters": [ - "ForegroundSide", - "=", - "\"Left\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::SetOpacity" - }, - "parameters": [ - "ForegroundLeft_Button", - "=", - "255" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" - }, - "parameters": [ - "HorizontalSize_Slider", - "=", - "75", - "" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" - }, - "parameters": [ - "VerticalSize_Slider", - "=", - "300", - "" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarSceneTxt" - }, - "parameters": [ - "ForegroundSide", - "=", - "\"Right\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::SetOpacity" - }, - "parameters": [ - "ForegroundRight_Button", - "=", - "255" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" - }, - "parameters": [ - "HorizontalSize_Slider", - "=", - "75", - "" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" - }, - "parameters": [ - "VerticalSize_Slider", - "=", - "300", - "" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Animate stars", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "OrbitingObjects::AnimateEllipticalOrbitingObjects" - }, - "parameters": [ - "", - "Text0", - "Star", - "10", - "50", - "VerticalSize_Slider.Value()", - "-100", - "\"\"", - "0", - "HorizontalSize_Slider.Value()", - "VariableString(ForegroundSide)", - "VariableString(ForegroundSide)" - ] - } - ] - } - ], - "parameters": [] - } - ], - "layers": [ - { - "ambientLightColorB": 10038552, - "ambientLightColorG": 6067680, - "ambientLightColorR": 9764888, - "camera2DPlaneMaxDrawingDistance": 5000, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "cameraType": "perspective", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "Background", - "renderingType": "", - "visibility": true, - "cameras": [], - "effects": [] - }, - { - "ambientLightColorB": 0, - "ambientLightColorG": 8065944, - "ambientLightColorR": 16, - "camera2DPlaneMaxDrawingDistance": 5000, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "cameraType": "perspective", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "behaviorsSharedData": [ - { - "name": "Animation", - "type": "AnimatableCapability::AnimatableBehavior" - }, - { - "name": "Effect", - "type": "EffectCapability::EffectBehavior" - }, - { - "name": "Flippable", - "type": "FlippableCapability::FlippableBehavior" - }, - { - "name": "Opacity", - "type": "OpacityCapability::OpacityBehavior" - }, - { - "name": "Resizable", - "type": "ResizableCapability::ResizableBehavior" - }, - { - "name": "Scale", - "type": "ScalableCapability::ScalableBehavior" - }, - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - }, - { - "name": "Text", - "type": "TextContainerCapability::TextContainerBehavior" - } - ] - }, - { - "b": 155, - "disableInputWhenNotFocused": true, - "mangledName": "Orbiting_32Objects", - "name": "Orbiting Objects", - "r": 155, - "standardSortMethod": true, - "stopSoundsOnStartup": true, - "title": "", - "v": 155, - "uiSettings": { - "grid": true, - "gridType": "rectangular", - "gridWidth": 32, - "gridHeight": 32, - "gridDepth": 32, - "gridOffsetX": 0, - "gridOffsetY": 0, - "gridOffsetZ": 0, - "gridColor": 10401023, - "gridAlpha": 0.2, - "snap": true, - "zoomFactor": 0.4986558268409531, - "windowMask": false, - "selectedLayer": "" - }, - "objectsGroups": [], - "variables": [], - "instances": [ - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Santa", - "persistentUuid": "2da156a6-d527-43d4-849b-4af2b7af1f68", - "width": 0, - "x": 320, - "y": 479, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "QtySlider", - "persistentUuid": "c6b526b7-a18f-4ccc-b9d9-7eac5a354e10", - "width": 0, - "x": 992, - "y": 64, - "zOrder": 2, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "OrbitQuantity", - "persistentUuid": "72c863d1-80db-4d2d-8ca0-5f2f71c221ea", - "width": 0, - "x": 992, - "y": 96, - "zOrder": 3, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "SpeedSlider", - "persistentUuid": "0499b88d-7c34-4016-ab13-1bf47f4cae11", - "width": 0, - "x": 992, - "y": 160, - "zOrder": 4, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "DistanceSlider", - "persistentUuid": "8862cdcb-8404-4a08-a9e7-727c61473fc8", - "width": 0, - "x": 992, - "y": 256, - "zOrder": 5, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "OrbitSpeed", - "persistentUuid": "227316ff-37c0-4d29-be2b-53a27b8e7c84", - "width": 0, - "x": 992, - "y": 192, - "zOrder": 6, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "OrbitDistance", - "persistentUuid": "378fbf96-fd67-491a-be49-d000b14eaec9", - "width": 0, - "x": 992, - "y": 288, - "zOrder": 7, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "RotationSlider", - "persistentUuid": "a5e424d7-f4d2-47b0-a6fc-b044598db687", - "width": 0, - "x": 992, - "y": 352, - "zOrder": 8, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "OrbitRotation", - "persistentUuid": "8ac982a2-7ba4-49bf-9491-f40dedba566f", - "width": 0, - "x": 992, - "y": 384, - "zOrder": 9, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "LeftClickAnimate", - "persistentUuid": "fa3fd389-7050-42dd-b3c0-fa6b7628ccde", - "width": 0, - "x": 800, - "y": 608, - "zOrder": 12, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "OrbitMode", - "persistentUuid": "13b5566a-dddf-46c3-ad74-9d07be6a140b", - "width": 0, - "x": 832, - "y": 604, - "zOrder": 13, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Title", - "persistentUuid": "d5bfc867-e526-44b4-a2b9-19347ae15e77", - "width": 0, - "x": 352, - "y": 0, - "zOrder": 14, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "RightClickInstructions", - "persistentUuid": "2577d3c9-1c68-4b09-9a01-c219412ab200", - "width": 0, - "x": 832, - "y": 668, - "zOrder": 15, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "RightClickDelete", - "persistentUuid": "486a72ce-94a4-4863-b399-085f0502acc8", - "width": 0, - "x": 800, - "y": 672, - "zOrder": 16, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "StartingOffset", - "persistentUuid": "0adddc1a-fd5c-4bdd-b255-9214bfffc784", - "width": 0, - "x": 992, - "y": 480, - "zOrder": 17, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "OffsetSlider", - "persistentUuid": "5d6eb61f-1e6d-4998-8619-b29ddd1abb04", - "width": 0, - "x": 992, - "y": 448, - "zOrder": 18, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Santa", - "persistentUuid": "4d7ffa2b-c283-46d2-b36e-cc1fa9b321f4", - "width": 0, - "x": 544, - "y": 127, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Santa", - "persistentUuid": "4dd9e612-697a-4c11-bad3-0195466b23a3", - "width": 0, - "x": 96, - "y": 127, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "ResetAfterDeletion", - "persistentUuid": "98d2cfb5-ecc2-4f09-8472-6e5be4b3c7e1", - "width": 0, - "x": 800, - "y": 544, - "zOrder": 19, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "ResetAfterDeletionText", - "persistentUuid": "763165ae-63f7-42c6-8060-4ec7edcff819", - "width": 0, - "x": 832, - "y": 540, - "zOrder": 20, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - } - ], - "objects": [ - { - "assetStoreId": "", - "name": "SpeedSlider", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl", - "ThumbShape": "circle", - "ThumbWidth": 20, - "ThumbHeight": 20, - "ThumbColor": " 24;119;211", - "ThumbOpacity": 255, - "TrackWidth": 200, - "TrackHeight": 4, - "InactiveTrackColor": "", - "InactiveTrackOpacity": 96, - "ActiveTrackColor": " ", - "ActiveTrackOpacity": 255, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityClick": 64, - "IsBeingDragged": false, - "Value": 0, - "ThumbOffset": 0, - "RoundedTrack": true - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "absoluteCoordinates": false, - "clearBetweenFrames": true, - "antialiasing": "none", - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "outlineColor": { - "r": 0, - "g": 0, - "b": 0 - } - }, - { - "assetStoreId": "", - "name": "DistanceSlider", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl", - "ThumbShape": "circle", - "ThumbWidth": 20, - "ThumbHeight": 20, - "ThumbColor": " 24;119;211", - "ThumbOpacity": 255, - "TrackWidth": 200, - "TrackHeight": 4, - "InactiveTrackColor": "", - "InactiveTrackOpacity": 96, - "ActiveTrackColor": " ", - "ActiveTrackOpacity": 255, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityClick": 64, - "IsBeingDragged": false, - "Value": 0, - "ThumbOffset": 0, - "RoundedTrack": true - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "absoluteCoordinates": false, - "clearBetweenFrames": true, - "antialiasing": "none", - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "outlineColor": { - "r": 0, - "g": 0, - "b": 0 - } - }, - { - "assetStoreId": "", - "name": "OffsetSlider", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl", - "ThumbShape": "circle", - "ThumbWidth": 20, - "ThumbHeight": 20, - "ThumbColor": " 24;119;211", - "ThumbOpacity": 255, - "TrackWidth": 200, - "TrackHeight": 4, - "InactiveTrackColor": "", - "InactiveTrackOpacity": 96, - "ActiveTrackColor": " ", - "ActiveTrackOpacity": 255, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityClick": 64, - "IsBeingDragged": false, - "Value": 0, - "ThumbOffset": 0, - "RoundedTrack": true - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "absoluteCoordinates": false, - "clearBetweenFrames": true, - "antialiasing": "none", - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "outlineColor": { - "r": 0, - "g": 0, - "b": 0 - } - }, - { - "assetStoreId": "", - "name": "RotationSlider", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl", - "ThumbShape": "circle", - "ThumbWidth": 20, - "ThumbHeight": 20, - "ThumbColor": " 24;119;211", - "ThumbOpacity": 255, - "TrackWidth": 200, - "TrackHeight": 4, - "InactiveTrackColor": "", - "InactiveTrackOpacity": 96, - "ActiveTrackColor": " ", - "ActiveTrackOpacity": 255, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityClick": 64, - "IsBeingDragged": false, - "Value": 0, - "ThumbOffset": 0, - "RoundedTrack": true - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "absoluteCoordinates": false, - "clearBetweenFrames": true, - "antialiasing": "none", - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "outlineColor": { - "r": 0, - "g": 0, - "b": 0 - } - }, - { - "assetStoreId": "", - "name": "QtySlider", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl", - "ThumbShape": "circle", - "ThumbWidth": 20, - "ThumbHeight": 20, - "ThumbColor": " 24;119;211", - "ThumbOpacity": 255, - "TrackWidth": 200, - "TrackHeight": 4, - "InactiveTrackColor": "", - "InactiveTrackOpacity": 96, - "ActiveTrackColor": " ", - "ActiveTrackOpacity": 255, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityClick": 64, - "IsBeingDragged": false, - "Value": 0, - "ThumbOffset": 0, - "RoundedTrack": true - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "absoluteCoordinates": false, - "clearBetweenFrames": true, - "antialiasing": "none", - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "outlineColor": { - "r": 0, - "g": 0, - "b": 0 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "OrbitDistance", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Distance: 100", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Distance: 100", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "lineHeight": 0, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "OrbitSpeed", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Speed: 100", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Speed: 100", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "lineHeight": 0, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "StartingOffset", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Offset: 123", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Offset: 123", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "lineHeight": 0, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "OrbitRotation", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Rotation: 10", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Rotation: 10", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "lineHeight": 0, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "OrbitMode", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Only active during left-click?", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Only active during left-click?", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "lineHeight": 0, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "ResetAfterDeletionText", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Reset position after reducing quantity?", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Reset position after reducing quantity?", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "lineHeight": 0, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "RightClickInstructions", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Right-click to delete orbiting objects?", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Right-click to delete orbiting objects?", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "lineHeight": 0, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "Title", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Extension: Orbiting Objects", - "font": "", - "textAlignment": "", - "characterSize": 50, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Extension: Orbiting Objects", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 50, - "lineHeight": 0, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "OrbitQuantity", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Quantity: 10", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Quantity: 10", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "lineHeight": 0, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "name": "RightClickDelete", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "ToggleSwitch", - "type": "ToggleSwitch::ToggleSwitch", - "ThumbRadius": 10, - "ActiveThumbColor": "24;119;211", - "ThumbOpacity": 255, - "TrackWidth": 20, - "TrackHeight": 14, - "InactiveTrackColor": "150;150;150", - "InactiveTrackOpacity": 255, - "ActiveTrackColor": "", - "ActiveTrackOpacity": 128, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityPressed": 64, - "ThumbOffset": 0, - "Checked": false, - "Disabled": false, - "ToggleChanged": false, - "InactiveThumbColor": "255;255;255", - "IsPressed": false, - "ThumbShadowOffsetY": 4, - "ThumbShadowOffsetX": 0, - "ThumbShadowOpacity": 32 - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "absoluteCoordinates": false, - "clearBetweenFrames": true, - "antialiasing": "none", - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "outlineColor": { - "r": 0, - "g": 0, - "b": 0 - } - }, - { - "assetStoreId": "", - "name": "ResetAfterDeletion", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "ToggleSwitch", - "type": "ToggleSwitch::ToggleSwitch", - "ThumbRadius": 10, - "ActiveThumbColor": "24;119;211", - "ThumbOpacity": 255, - "TrackWidth": 20, - "TrackHeight": 14, - "InactiveTrackColor": "150;150;150", - "InactiveTrackOpacity": 255, - "ActiveTrackColor": "", - "ActiveTrackOpacity": 128, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityPressed": 64, - "ThumbOffset": 0, - "Checked": false, - "Disabled": false, - "ToggleChanged": false, - "InactiveThumbColor": "255;255;255", - "IsPressed": false, - "ThumbShadowOffsetY": 4, - "ThumbShadowOffsetX": 0, - "ThumbShadowOpacity": 32 - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "absoluteCoordinates": false, - "clearBetweenFrames": true, - "antialiasing": "none", - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "outlineColor": { - "r": 0, - "g": 0, - "b": 0 - } - }, - { - "assetStoreId": "", - "name": "LeftClickAnimate", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "ToggleSwitch", - "type": "ToggleSwitch::ToggleSwitch", - "ThumbRadius": 10, - "ActiveThumbColor": "24;119;211", - "ThumbOpacity": 255, - "TrackWidth": 20, - "TrackHeight": 14, - "InactiveTrackColor": "150;150;150", - "InactiveTrackOpacity": 255, - "ActiveTrackColor": "", - "ActiveTrackOpacity": 128, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityPressed": 64, - "ThumbOffset": 0, - "Checked": false, - "Disabled": false, - "ToggleChanged": false, - "InactiveThumbColor": "255;255;255", - "IsPressed": false, - "ThumbShadowOffsetY": 4, - "ThumbShadowOffsetX": 0, - "ThumbShadowOpacity": 32 - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "absoluteCoordinates": false, - "clearBetweenFrames": true, - "antialiasing": "none", - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "outlineColor": { - "r": 0, - "g": 0, - "b": 0 - } - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "69613f0acdefed2b5aeaeddc7eb0036d5f1926e97b87a7bae837f9c9c94222c9", - "name": "Santa", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.0625, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_9.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_10.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_11.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_12.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_13.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_14.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_15.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Idle_16.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Walk", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.0769, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_9.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_10.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_11.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_12.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Walk_13.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Run", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.0625, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Santa_Run_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Run_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Run_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Run_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Run_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Run_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Run_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Run_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Run_9.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Run_10.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Run_11.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Jump", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.0625, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_9.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_10.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_11.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_12.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_13.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_14.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_15.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Jump_16.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Dead", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.0588, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_9.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_10.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_11.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_12.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_13.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_14.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_15.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_16.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Dead_17.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Slide", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.0909, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Santa_Slide_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Slide_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Slide_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Slide_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Slide_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Slide_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Slide_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Slide_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Slide_9.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Slide_10.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Santa_Slide_11.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "825abcfda20c825cd2876bd73588886607a2787c57000758522b5463e02cf577", - "name": "Dino", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.1, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Dino_Idle_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Idle_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Idle_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Idle_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Idle_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Idle_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Idle_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Idle_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Idle_9.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Idle_10.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Walk", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.1, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Dino_Walk_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Walk_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Walk_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Walk_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Walk_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Walk_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Walk_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Walk_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Walk_9.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Walk_10.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Run", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.125, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Dino_Run_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Run_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Run_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Run_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Run_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Run_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Run_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Run_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Jump", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.0833, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Dino_Jump_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Jump_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Jump_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Jump_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Jump_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Jump_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Jump_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Jump_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Jump_9.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Jump_10.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Jump_11.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Jump_12.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Dead", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.125, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Dino_Dead_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Dead_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Dead_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Dead_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Dead_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Dead_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Dead_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Dino_Dead_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "ea0d1ca2d62d7786253980d9f593997ffb33b29be81c75305b70ae109c37acc8", - "name": "Crystal", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Crystal.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "SpeedSlider" - }, - { - "objectName": "DistanceSlider" - }, - { - "objectName": "OffsetSlider" - }, - { - "objectName": "RotationSlider" - }, - { - "objectName": "QtySlider" - }, - { - "objectName": "OrbitDistance" - }, - { - "objectName": "OrbitSpeed" - }, - { - "objectName": "StartingOffset" - }, - { - "objectName": "OrbitRotation" - }, - { - "objectName": "OrbitMode" - }, - { - "objectName": "ResetAfterDeletionText" - }, - { - "objectName": "RightClickInstructions" - }, - { - "objectName": "Title" - }, - { - "objectName": "OrbitQuantity" - }, - { - "objectName": "RightClickDelete" - }, - { - "objectName": "ResetAfterDeletion" - }, - { - "objectName": "LeftClickAnimate" - }, - { - "objectName": "Santa" - }, - { - "objectName": "Dino" - }, - { - "objectName": "Crystal" - } - ] - }, - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Initialize sliders", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SceneJustBegins" - }, - "parameters": [ - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "QtySlider", - "DraggableSliderControl", - "0.05", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "SpeedSlider", - "DraggableSliderControl", - "0.6", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "DistanceSlider", - "DraggableSliderControl", - "0.5", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "RotationSlider", - "DraggableSliderControl", - "0.6", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "OffsetSlider", - "DraggableSliderControl", - "0.5", - "" - ] - }, - { - "type": { - "value": "SetGameResolutionSize" - }, - "parameters": [ - "", - "1280", - "720" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "UI", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "SliderQty", - "=", - "floor(QtySlider.DraggableSliderControl::Value()*20)" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "OrbitQuantity", - "=", - "\"Quantity: \" + ToString(Variable(SliderQty))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "SliderSpeed", - "=", - "floor(SpeedSlider.DraggableSliderControl::Value()*400)-200" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "OrbitSpeed", - "=", - "\"Speed: \" + ToString(Variable(SliderSpeed))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "SliderDistance", - "=", - "floor(DistanceSlider.DraggableSliderControl::Value()*300)" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "OrbitDistance", - "=", - "\"Distance: \" + ToString(Variable(SliderDistance))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "SliderRotation", - "=", - "floor(RotationSlider.DraggableSliderControl::Value()*800)-400" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "OrbitRotation", - "=", - "\"Rotation: \" + ToString(Variable(SliderRotation))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "SliderOffset", - "=", - "floor(OffsetSlider.DraggableSliderControl::Value()*360)-180" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "StartingOffset", - "=", - "\"Offset: \" + ToString(Variable(SliderOffset))" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "User input", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Animate orbiting objects only when left button is clicked on a Santa" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::IsChecked" - }, - "parameters": [ - "LeftClickAnimate", - "ToggleSwitch", - "" - ] - }, - { - "type": { - "value": "MouseButtonPressed" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "IsCursorOnObject" - }, - "parameters": [ - "Santa", - "", - "", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::IsChecked" - }, - "parameters": [ - "ResetAfterDeletion", - "ToggleSwitch", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "OrbitingObjects::AnimateOrbitingObjects" - }, - "parameters": [ - "", - "Santa", - "Crystal", - "Variable(SliderQty)", - "Variable(SliderSpeed)", - "Variable(SliderDistance)", - "Variable(SliderRotation)", - "\"\"", - "150", - "0", - "yes", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "OrbitingObjects::AnimateOrbitingObjects" - }, - "parameters": [ - "", - "Santa", - "Dino", - "Variable(SliderQty)", - "Variable(SliderSpeed)", - "Variable(SliderDistance)", - "Variable(SliderRotation)", - "\"\"", - "100", - "Variable(SliderOffset)", - "yes" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::IsChecked" - }, - "parameters": [ - "ResetAfterDeletion", - "ToggleSwitch", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "OrbitingObjects::AnimateOrbitingObjects" - }, - "parameters": [ - "", - "Santa", - "Crystal", - "Variable(SliderQty)", - "Variable(SliderSpeed)", - "Variable(SliderDistance)", - "Variable(SliderRotation)", - "\"\"", - "150", - "0", - "no", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "OrbitingObjects::AnimateOrbitingObjects" - }, - "parameters": [ - "", - "Santa", - "Dino", - "Variable(SliderQty)", - "Variable(SliderSpeed)", - "Variable(SliderDistance)", - "Variable(SliderRotation)", - "\"\"", - "100", - "Variable(SliderOffset)", - "\"Dino2\"" - ] - } - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::IsChecked" - }, - "parameters": [ - "LeftClickAnimate", - "ToggleSwitch", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::IsChecked" - }, - "parameters": [ - "ResetAfterDeletion", - "ToggleSwitch", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "OrbitingObjects::AnimateOrbitingObjects" - }, - "parameters": [ - "", - "Santa", - "Crystal", - "Variable(SliderQty)", - "Variable(SliderSpeed)", - "Variable(SliderDistance)", - "Variable(SliderRotation)", - "\"\"", - "150", - "0", - "yes", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "OrbitingObjects::AnimateOrbitingObjects" - }, - "parameters": [ - "", - "Santa", - "Dino", - "Variable(SliderQty)", - "Variable(SliderSpeed)", - "Variable(SliderDistance)", - "Variable(SliderRotation)", - "\"\"", - "100", - "Variable(SliderOffset)", - "yes" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::IsChecked" - }, - "parameters": [ - "ResetAfterDeletion", - "ToggleSwitch", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "OrbitingObjects::AnimateOrbitingObjects" - }, - "parameters": [ - "", - "Santa", - "Crystal", - "Variable(SliderQty)", - "Variable(SliderSpeed)", - "Variable(SliderDistance)", - "Variable(SliderRotation)", - "\"\"", - "150", - "0", - "no", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "OrbitingObjects::AnimateOrbitingObjects" - }, - "parameters": [ - "", - "Santa", - "Dino", - "Variable(SliderQty)", - "Variable(SliderSpeed)", - "Variable(SliderDistance)", - "Variable(SliderRotation)", - "\"\"", - "100", - "Variable(SliderOffset)", - "\"Dino2\"" - ] - } - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Changing offset requires object quantity to change" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonPressed" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::IsBeingDragged" - }, - "parameters": [ - "OffsetSlider", - "DraggableSliderControl", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "QtySlider", - "DraggableSliderControl", - "0", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Delete orbiting objects" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::IsChecked" - }, - "parameters": [ - "RightClickDelete", - "ToggleSwitch", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonPressed" - }, - "parameters": [ - "", - "Right" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - }, - { - "type": { - "value": "IsCursorOnObject" - }, - "parameters": [ - "Santa", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "OrbitingObjects::DeleteOrbitingObjects" - }, - "parameters": [ - "", - "Santa", - "Crystal", - "\"Crystals\"", - "" - ] - }, - { - "type": { - "value": "OrbitingObjects::DeleteOrbitingObjects" - }, - "parameters": [ - "", - "Santa", - "Dino", - "\"Dino2\"", - "" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ], - "layers": [ - { - "ambientLightColorB": 0, - "ambientLightColorG": 0, - "ambientLightColorR": 0, - "camera2DPlaneMaxDrawingDistance": 5000, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "cameraType": "perspective", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "behaviorsSharedData": [ - { - "name": "Animation", - "type": "AnimatableCapability::AnimatableBehavior" - }, - { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl" - }, - { - "name": "Effect", - "type": "EffectCapability::EffectBehavior" - }, - { - "name": "Flippable", - "type": "FlippableCapability::FlippableBehavior" - }, - { - "name": "Opacity", - "type": "OpacityCapability::OpacityBehavior" - }, - { - "name": "Resizable", - "type": "ResizableCapability::ResizableBehavior" - }, - { - "name": "Scale", - "type": "ScalableCapability::ScalableBehavior" - }, - { - "name": "Text", - "type": "TextContainerCapability::TextContainerBehavior" - }, - { - "name": "ToggleSwitch", - "type": "ToggleSwitch::ToggleSwitch" - } - ] - }, - { - "b": 0, - "disableInputWhenNotFocused": true, - "mangledName": "JoystickChallenge", - "name": "JoystickChallenge", - "r": 0, - "standardSortMethod": true, - "stopSoundsOnStartup": true, - "title": "", - "v": 0, - "uiSettings": { - "grid": true, - "gridType": "rectangular", - "gridWidth": 32, - "gridHeight": 32, - "gridDepth": 32, - "gridOffsetX": 0, - "gridOffsetY": 0, - "gridOffsetZ": 0, - "gridColor": 10401023, - "gridAlpha": 0.1, - "snap": true, - "zoomFactor": 0.311387517316283, - "windowMask": false, - "selectedLayer": "" - }, - "objectsGroups": [], - "variables": [], - "instances": [ - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "TransparentLightJoystick", - "persistentUuid": "1c20e547-ac02-4fc4-ad82-ae27615c13b2", - "width": 0, - "x": 112, - "y": 112, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "TransparentLightJoystick", - "persistentUuid": "ee702234-b8a5-4778-9c6b-ba6bc96cf1aa", - "width": 0, - "x": 368, - "y": 1104, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "TransparentLightJoystick", - "persistentUuid": "8468f9c8-f676-4c80-ba0f-bc25ebf688a3", - "width": 0, - "x": 624, - "y": 1104, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "TransparentLightJoystick", - "persistentUuid": "1b668748-893e-4860-8fc6-16ab372cdec5", - "width": 0, - "x": 112, - "y": 1104, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 780, - "layer": "", - "locked": true, - "name": "Touches_Text", - "persistentUuid": "36962b0a-f83c-42f2-ab26-ef09c3794f70", - "sealed": true, - "width": 720, - "x": 0, - "y": 256, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "TransparentLightJoystick", - "persistentUuid": "58bff15d-b693-49b5-82aa-e1c908814b9d", - "width": 0, - "x": 624, - "y": 112, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 1, - "customSize": true, - "height": 138, - "layer": "", - "name": "JoystickChallenge_Text", - "persistentUuid": "82396798-1f4e-4b8f-8739-51a6d0ea6ea7", - "width": 720, - "x": 1, - "y": 230, - "zOrder": 4, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 100, - "layer": "", - "name": "GdevelopCompleteLogoClassic", - "persistentUuid": "5eeeb0ea-5264-449e-b737-10e61b8e213f", - "width": 352, - "x": 192, - "y": 896, - "zOrder": 5, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Background", - "name": "Gas", - "persistentUuid": "cc0ff943-f2af-41a8-8928-fa7fbf34a18e", - "width": 0, - "x": 352, - "y": 608, - "zOrder": 0, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - } - ], - "objects": [ - { - "assetStoreId": "14597a6b9020c730f9fd07fdf2b0deaba2505f0c33fd78ccd2e982b5ecee350b", - "name": "TransparentLightJoystick", - "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", - "variant": "", - "variables": [], - "effects": [], - "behaviors": [], - "content": {}, - "childrenContent": { - "Border": { - "adaptCollisionMaskAutomatically": false, - "updateIfNotVisible": false, - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Transparent light joystick border.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - "Thumb": { - "adaptCollisionMaskAutomatically": false, - "updateIfNotVisible": false, - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Transparent light joystick thumb.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": "Touches_Text", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 4, - "thickness": 4 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} - } - ], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - } - ], - "string": "0", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "characterSize": 645, - "color": { - "b": 28, - "g": 231, - "r": 248 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "0", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 645, - "lineHeight": 0, - "color": "248;231;28" - } - }, - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "JoystickChallenge_Text", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - } - ], - "string": "#JoystickChallenge", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "characterSize": 80, - "color": { - "b": 255, - "g": 255, - "r": 255 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "#JoystickChallenge", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 80, - "lineHeight": 0, - "color": "255;255;255" - } - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "41720015614a457303209ae93ed21ff1ebc2c8d77a5341d7f033e88cde53fc4e", - "name": "GdevelopCompleteLogoClassic", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "GDevelop complete logo (classic).png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "3c439a5142f6ea19bc70afbbcb66c824c55af7fac5f64b1b79ab603b68d70195", - "name": "GdevelopCompleteLogoWhite", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "GDevelop complete logo (white).png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "6e0bb6ed3d9b15390d252ea815ed2e0a3bc72036cb7efc1efcc7d72f3c7610f4", - "name": "GdevelopGLogoWhite", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "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": [] - } - ] - } - ] - } - ] - }, - { - "additive": true, - "assetStoreId": "8b9d676aee2e7b4e359522aecea263890ba30f957c5665d63d459675b12980f2", - "destroyWhenNoParticles": true, - "emitterAngleA": 0, - "emitterAngleB": 360, - "emitterForceMax": 50, - "emitterForceMin": 50, - "flow": 100, - "jumpForwardInTimeOnCreation": 0, - "maxParticleNb": 1000, - "name": "Gas", - "particleAlpha1": 100, - "particleAlpha2": 0, - "particleAlphaRandomness1": 0, - "particleAlphaRandomness2": 0, - "particleAngle1": 0, - "particleAngle2": 0, - "particleAngleRandomness1": 0, - "particleAngleRandomness2": 0, - "particleBlue1": 224, - "particleBlue2": 255, - "particleColor1": "189;16;224", - "particleColor2": "255;255;255", - "particleGravityX": 0, - "particleGravityY": 0, - "particleGreen1": 16, - "particleGreen2": 255, - "particleLifeTimeMax": 4, - "particleLifeTimeMin": 2, - "particleRed1": 189, - "particleRed2": 255, - "particleSize1": 100, - "particleSize2": 0, - "particleSizeRandomness1": 0, - "particleSizeRandomness2": 0, - "rendererParam1": 1, - "rendererParam2": 1, - "rendererType": "Quad", - "tank": -1, - "textureParticleName": "Gas.png", - "type": "ParticleSystem::ParticleEmitter", - "zoneRadius": 500, - "variables": [], - "effects": [], - "behaviors": [] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "574655a4565bd983af8f5dd98e0fd8cda3bd67cf929c00d3db317e898322e06b", - "name": "Star", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 2, - "thickness": 2 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} - } - ], - "behaviors": [], - "animations": [ - { - "name": "LargeWide", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Star_LargeWide.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "LargeNarrow", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Star_LargeNarrow.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Medium", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Star_Medium.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Small", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Star_Small.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "TransparentLightJoystick" - }, - { - "objectName": "Touches_Text" - }, - { - "objectName": "JoystickChallenge_Text" - }, - { - "objectName": "GdevelopCompleteLogoClassic" - }, - { - "objectName": "GdevelopCompleteLogoWhite" - }, - { - "objectName": "GdevelopGLogoWhite" - }, - { - "objectName": "Gas" - }, - { - "objectName": "Star" - } - ] - }, - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Setup", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SceneJustBegins" - }, - "parameters": [ - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetGameResolutionSize" - }, - "parameters": [ - "", - "720", - "1280" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Detect number of joysticsk", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "ActiveJoystickQty", - "=", - "0" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::JoystickForce" - }, - "parameters": [ - "TransparentLightJoystick", - ">", - "0.5", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "ActiveJoystickQty", - "=", - "PickedInstancesCount(TransparentLightJoystick)" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Sound effects", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Start and stop music" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "ActiveJoystickQty", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "StopSoundChannel" - }, - "parameters": [ - "", - "1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "ActiveJoystickQty", - ">", - "0" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "PlaySoundOnChannel" - }, - "parameters": [ - "", - "assets\\Music\\Beginning of Conflict.aac", - "1", - "yes", - "75", - "1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set volume" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "ActiveJoystickQty", - "=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetGlobalVolume" - }, - "parameters": [ - "", - "=", - "20" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "ActiveJoystickQty", - "=", - "2" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetGlobalVolume" - }, - "parameters": [ - "", - "=", - "40" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "ActiveJoystickQty", - "=", - "3" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetGlobalVolume" - }, - "parameters": [ - "", - "=", - "60" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "ActiveJoystickQty", - "=", - "4" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetGlobalVolume" - }, - "parameters": [ - "", - "=", - "80" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "ActiveJoystickQty", - "=", - "5" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetGlobalVolume" - }, - "parameters": [ - "", - "=", - "100" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Visual effects", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "ActiveJoystickQty", - "<", - "5" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "ParticleSystem::EmitterForceMax" - }, - "parameters": [ - "Gas", - "=", - "50" - ] - }, - { - "type": { - "value": "ParticleSystem::EmitterForceMin" - }, - "parameters": [ - "Gas", - "=", - "50" - ] - }, - { - "type": { - "value": "OrbitingObjects::DeleteOrbitingObjects" - }, - "parameters": [ - "", - "Gas", - "Star", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "ActiveJoystickQty", - "=", - "5" - ] - } - ], - "actions": [ - { - "type": { - "value": "OrbitingObjects::AnimateEllipticalOrbitingObjects" - }, - "parameters": [ - "", - "Gas", - "Star", - "10", - "50", - "75", - "-100", - "\"\"", - "Touches_Text.ZOrder() + 1", - "", - "300", - "260" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "ParticleSystem::EmitterForceMax" - }, - "parameters": [ - "Gas", - "=", - "1000" - ] - }, - { - "type": { - "value": "ParticleSystem::EmitterForceMin" - }, - "parameters": [ - "Gas", - "=", - "1000" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "ActiveJoystickQty", - "=", - "0" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "Touches_Text", - "=", - "\"0\"" - ] - }, - { - "type": { - "value": "ParticleSystem::SetFlow" - }, - "parameters": [ - "Gas", - "=", - "10" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Shake and flow based on number of active joysticks" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "ActiveJoystickQty", - ">", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ShakeObject::ShakeObject_PositionAngle::ShakeObject_PositionAngle" - }, - "parameters": [ - "Touches_Text", - "ShakeObject_PositionAngle", - "", - "5 * Variable(ActiveJoystickQty)", - "5 * Variable(ActiveJoystickQty)", - "", - ".2", - "", - "" - ] - }, - { - "type": { - "value": "ParticleSystem::SetFlow" - }, - "parameters": [ - "Gas", - "=", - "50 * Variable(ActiveJoystickQty)" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "Touches_Text", - "=", - "ToString(Variable(ActiveJoystickQty))" - ] - } - ] - } - ], - "parameters": [] - } - ], - "layers": [ - { - "ambientLightColorB": 10038552, - "ambientLightColorG": 6067680, - "ambientLightColorR": 9764888, - "camera2DPlaneMaxDrawingDistance": 5000, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "cameraType": "perspective", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "Background", - "renderingType": "", - "visibility": true, - "cameras": [], - "effects": [] - }, - { - "ambientLightColorB": 0, - "ambientLightColorG": 8065944, - "ambientLightColorR": 16, - "camera2DPlaneMaxDrawingDistance": 5000, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "cameraType": "perspective", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "behaviorsSharedData": [ - { - "name": "Animation", - "type": "AnimatableCapability::AnimatableBehavior" - }, - { - "name": "Effect", - "type": "EffectCapability::EffectBehavior" - }, - { - "name": "Flippable", - "type": "FlippableCapability::FlippableBehavior" - }, - { - "name": "Opacity", - "type": "OpacityCapability::OpacityBehavior" - }, - { - "name": "Resizable", - "type": "ResizableCapability::ResizableBehavior" - }, - { - "name": "Scale", - "type": "ScalableCapability::ScalableBehavior" - }, - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - }, - { - "name": "Text", - "type": "TextContainerCapability::TextContainerBehavior" - } - ] - } - ], - "externalEvents": [], - "eventsFunctionsExtensions": [ - { - "author": "Tristan Rhodes (https://victrisgames.itch.io/)", - "category": "User interface", - "extensionNamespace": "", - "fullName": "Toggle switch (for Shape Painter)", - "gdevelopVersion": "", - "helpPath": "", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBkPSJNMjIsMUgxMEM2LjEsMSwzLDQuMSwzLDhzMy4xLDcsNyw3aDEyYzMuOSwwLDctMy4xLDctN1MyNS45LDEsMjIsMXogTTIyLDEyYy0yLjIsMC00LTEuOC00LTRzMS44LTQsNC00czQsMS44LDQsNA0KCVMyNC4yLDEyLDIyLDEyeiIvPg0KPHBhdGggZD0iTTIyLDE3SDEwYy0zLjksMC03LDMuMS03LDdzMy4xLDcsNyw3aDEyYzMuOSwwLDctMy4xLDctN1MyNS45LDE3LDIyLDE3eiBNMTAsMjhjLTIuMiwwLTQtMS44LTQtNHMxLjgtNCw0LTRzNCwxLjgsNCw0DQoJUzEyLjIsMjgsMTAsMjh6Ii8+DQo8L3N2Zz4NCg==", - "name": "ToggleSwitch", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Glyphster Pack/Master/SVG/Interface Elements/Interface Elements_interface_ui_toggle_switch.svg", - "shortDescription": "Toggle switch that users can click or touch.", - "version": "0.1.5", - "description": [ - "Add this behavior to a shape painter object.", - "", - "When the toggle switch is in the *left* position, the condition `Checked` is \"false\". If it is in the *right* position, the condition `Checked` is true.", - "A halo appears when the mouse hovers near the toggle switch.", - "", - "Toggle switch cannot be toggled by users if any of these are true:", - "- Toggle switch is hidden", - "- Toggle switch's layer is hidden", - "- Toggle switch is disabled", - "", - "Toggle switch can always be changed by an action." - ], - "origin": { - "identifier": "ToggleSwitch", - "name": "gdevelop-extension-store" - }, - "tags": [ - "draggable", - "control", - "shape painter", - "ui", - "widget", - "toggle", - "switch" - ], - "authorIds": [ - "gqDaZjCfevOOxBYkK6zlhtZnXCg1" - ], - "dependencies": [], - "globalVariables": [], - "sceneVariables": [], - "eventsFunctions": [], - "eventsBasedBehaviors": [ - { - "description": "Use a shape-painter object to draw a toggle switch that users can click or touch.", - "fullName": "Toggle switch", - "name": "ToggleSwitch", - "objectType": "PrimitiveDrawing::Drawer", - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Switch logic", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Fix bad inputs that create malformed toggle switches" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyThumbRadius" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackHeight() / 2" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyTrackHeight" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyThumbRadius() * 2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyThumbRadius" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "Object.Behavior::PropertyTrackWidth()/2" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyThumbRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyTrackWidth()/2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyThumbRadius() * 1.5" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyThumbRadius() * 1.5", - "Object.Behavior::PropertyTrackWidth()/2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyThumbShadowOffsetX" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "Object.Behavior::PropertyThumbRadius() / 3" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyThumbShadowOffsetX" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyThumbRadius() / 3" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyThumbShadowOffsetY" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "Object.Behavior::PropertyThumbRadius() / 3" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyThumbShadowOffsetY" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyThumbRadius() / 3" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Animate the thumb to the right place" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::PropertyChecked" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyThumbOffset" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "lerp(Object.Behavior::PropertyThumbOffset(),0,0.25)" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyThumbOffset" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "0.01" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyChecked" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyThumbOffset" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "lerp(Object.Behavior::PropertyThumbOffset(),Object.Behavior::PropertyTrackWidth(),0.25)" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyThumbOffset" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackWidth() - 0.01" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Detect hover/touch/click (but only if the layer and object is visible, and the object is not already being dragged)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "LayerVisible" - }, - "parameters": [ - "Object", - "Object.Layer()" - ] - }, - { - "type": { - "value": "Visible" - }, - "parameters": [ - "Object" - ] - }, - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::PropertyDisabled" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__ToggleSwitchBehavior.IsPressed", - "=", - "0" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyWasHovered" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::PropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyWasHovered" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CursorX" - }, - "parameters": [ - "", - ">=", - "Object.X() - max(Object.Behavior::PropertyHaloRadius(),Object.Behavior::PropertyThumbRadius())", - "Object.Layer()", - "0" - ] - }, - { - "type": { - "value": "CursorX" - }, - "parameters": [ - "", - "<=", - "Object.X() + Object.Behavior::PropertyTrackWidth() + max(Object.Behavior::PropertyHaloRadius(),Object.Behavior::PropertyThumbRadius())", - "Object.Layer()", - "0" - ] - }, - { - "type": { - "value": "CursorY" - }, - "parameters": [ - "", - ">=", - "Object.Y() - (max(Object.Behavior::PropertyHaloRadius(),Object.Behavior::PropertyThumbRadius())*2 - Object.Behavior::PropertyTrackHeight())/2", - "Object.Layer()", - "0" - ] - }, - { - "type": { - "value": "CursorY" - }, - "parameters": [ - "", - "<=", - "Object.Y() + (max(Object.Behavior::PropertyHaloRadius(),Object.Behavior::PropertyThumbRadius())*2 + Object.Behavior::PropertyTrackHeight())/2", - "Object.Layer()", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::PropertyWasHovered" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::PropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyWasHovered" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Detect mouse clicks near track, start dragging" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonPressed" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::IsHoveredOver" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::ToggleChecked" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__ToggleSwitchBehavior.IsPressed", - "=", - "1" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyIsPressed" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reset scene variable" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonReleased" - }, - "parameters": [ - "", - "Left" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__ToggleSwitchBehavior.IsPressed", - "=", - "0" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyIsPressed" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Switch drawing", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::Drawer::ClearShapes" - }, - "parameters": [ - "Object" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set inactive track parameters (by default, use thumb color)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyInactiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyActiveThumbColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::PropertyInactiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyInactiveTrackColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyInactiveTrackOpacity()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineOpacity" - }, - "parameters": [ - "Object", - "=", - "0" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw half circle at end (optional)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Arc" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyTrackWidth()", - "Object.Behavior::PropertyTrackHeight()/2", - "Object.Behavior::PropertyTrackHeight()/2", - "270", - "90", - "", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw inactive track" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Rectangle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset()", - "0", - "Object.Behavior::PropertyTrackWidth()", - "Object.Behavior::PropertyTrackHeight()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set active track parameters (by default, use thumb color)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyActiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyActiveThumbColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::PropertyActiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyActiveTrackColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyActiveTrackOpacity()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw half circle at end (optional)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Arc" - }, - "parameters": [ - "Object", - "0", - "Object.Behavior::PropertyTrackHeight()/2", - "Object.Behavior::PropertyTrackHeight()/2", - "90", - "270", - "", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw active track" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Rectangle" - }, - "parameters": [ - "Object", - "0", - "0", - "Object.Behavior::PropertyThumbOffset()", - "Object.Behavior::PropertyTrackHeight()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw halo when the mouse is hovering over thumb " - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyHaloOpacityHover()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyActiveThumbColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineOpacity" - }, - "parameters": [ - "Object", - "=", - "0" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset()", - "Object.Behavior::PropertyTrackHeight()/2", - "Object.Behavior::PropertyHaloRadius()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Use darker halo while being pressed" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyIsPressed" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyActiveThumbColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyHaloOpacityPressed()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineOpacity" - }, - "parameters": [ - "Object", - "=", - "0" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset()", - "Object.Behavior::PropertyTrackHeight()/2", - "Object.Behavior::PropertyHaloRadius()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Drop Shadow" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "\"50;50;93\"" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyThumbShadowOpacity()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset() + Object.Behavior::PropertyThumbShadowOffsetX()", - "Object.Behavior::PropertyTrackHeight() / 2 + Object.Behavior::ThumbShadowOffsetY()", - "Object.Behavior::PropertyThumbRadius()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "\"0;0;0\"" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyThumbShadowOpacity()/2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset() + Object.Behavior::PropertyThumbShadowOffsetX()/4", - "Object.Behavior::PropertyTrackHeight() / 2 + Object.Behavior::ThumbShadowOffsetY()/4", - "Object.Behavior::PropertyThumbRadius()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Prepare thumb settings" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::OutlineOpacity" - }, - "parameters": [ - "Object", - "=", - "128" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineSize" - }, - "parameters": [ - "Object", - "=", - "0" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyThumbOpacity()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyChecked" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyActiveThumbColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyActiveTrackColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::ActiveTrackOpacity()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::PropertyChecked" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyInactiveThumbColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyInactiveTrackColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::InactiveTrackOpacity()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw Circle thumb" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset()", - "Object.Behavior::PropertyTrackHeight() / 2", - "Object.Behavior::PropertyThumbRadius()" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "onCreated", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure object doesn't get re-drawn every frame" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::ClearBetweenFrames" - }, - "parameters": [ - "Object", - "no" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change the track width.", - "fullName": "Track width", - "functionType": "Action", - "name": "SetTrackWidth", - "sentence": "Change the track width of _PARAM0_ to _PARAM2_ pixels", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyTrackWidth" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Track width", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the track height.", - "fullName": "Track height", - "functionType": "Action", - "name": "SetTrackHeight", - "sentence": "Change the track height of _PARAM0_ to _PARAM2_ pixels", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyTrackHeight" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Track height", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the thumb opacity.", - "fullName": "Thumb opacity", - "functionType": "Action", - "name": "SetThumbOpacity", - "sentence": "Change the thumb opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyThumbOpacity" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Thumb opacity", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the inactive track opacity.", - "fullName": "Inactive track opacity", - "functionType": "Action", - "name": "SetInactiveTrackOpacity", - "sentence": "Change the inactive track opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyInactiveTrackOpacity" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Inactive track opacity", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the active track opacity.", - "fullName": "Active track opacity", - "functionType": "Action", - "name": "SetActiveTrackOpacity", - "sentence": "Change the active track opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyActiveTrackOpacity" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Active track opacity", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the halo opacity when the thumb is pressed.", - "fullName": "Halo opacity (pressed)", - "functionType": "Action", - "name": "SetHaloOpacityPressed", - "sentence": "Change the halo opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyHaloOpacityPressed" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Halo opacity (pressed)", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change opacity of the halo when the thumb is hovered.", - "fullName": "Halo opacity (hover)", - "functionType": "Action", - "name": "SetHaloOpacityHover", - "sentence": "Change the halo opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyHaloOpacityHover" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Halo opacity (hover)", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the offset on Y axis of the thumb shadow.", - "fullName": "Thumb shadow offset on Y axis", - "functionType": "Action", - "name": "SetThumbShadowOffsetY", - "sentence": "Change the offset on Y axis of the thumb shadow of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyThumbShadowOffsetY" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Y offset (pixels)", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the offset on X axis of the thumb shadow.", - "fullName": "Thumb shadow offset on X axis", - "functionType": "Action", - "name": "SetThumbShadowOffsetX", - "sentence": "Change the offset on X axis of the thumb shadow of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyThumbShadowOffsetX" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "X offset (pixels)", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the thumb shadow opacity.", - "fullName": "Thumb shadow opacity", - "functionType": "Action", - "name": "SetThumbShadowOpacity", - "sentence": "Change the thumb shadow opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyThumbShadowOpacity" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Opacity of shadow on thumb", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the thumb radius.", - "fullName": "Thumb radius", - "functionType": "Action", - "name": "SetThumbRadius", - "sentence": "Change the thumb radius of _PARAM0_ to _PARAM2_ pixels", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyThumbRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Thumb radius", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the halo radius.", - "fullName": "Halo radius", - "functionType": "Action", - "name": "SetHaloRadius", - "sentence": "Change the halo radius of _PARAM0_ to _PARAM2_ pixels", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Halo radius ", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the active track color (the part on the thumb left).", - "fullName": "Active track color", - "functionType": "Action", - "name": "SetActiveTrackColor", - "sentence": "Change the active track color of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyActiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Color of active track", - "name": "Color", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "Change the inactive track color (the part on the thumb right).", - "fullName": "Inactive track color", - "functionType": "Action", - "name": "SetInactiveTrackColor", - "sentence": "Change the inactive track color of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyInactiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Color of inactive track", - "name": "Color", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "Change the thumb color (when unchecked).", - "fullName": "Thumb color (when unchecked)", - "functionType": "Action", - "name": "SetInactiveThumbColor", - "sentence": "Change the thumb color of _PARAM0_ (when unchecked) to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyInactiveThumbColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Thumb color", - "name": "Color", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "Change the thumb color (when checked).", - "fullName": "Thumb color (when checked)", - "functionType": "Action", - "name": "SetActiveThumbColor", - "sentence": "Change the thumb color of _PARAM0_ (when checked) to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyActiveThumbColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Thumb color", - "name": "Color", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "If checked, change to unchecked. If unchecked, change to checked.", - "fullName": "Toggle the switch", - "functionType": "Action", - "name": "ToggleChecked", - "sentence": "Change _PARAM0_ to opposite state (checked/unchecked)", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyToggleChanged" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyChecked" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyChecked" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - }, - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyToggleChanged" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::PropertyChecked" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::PropertyToggleChanged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyChecked" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Disable (or enable) the toggle switch.", - "fullName": "Disable (or enable) the toggle switch", - "functionType": "Action", - "name": "SetDisabled", - "sentence": "Disable _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"State\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyDisabled" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"State\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyDisabled" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Disabled", - "name": "State", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "Check (or uncheck) the toggle switch.", - "fullName": "Check (or uncheck) the toggle switch", - "functionType": "Action", - "name": "SetChecked", - "sentence": "Set _PARAM0_ to checked: _PARAM2_ ", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"State\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyChecked" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"State\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyChecked" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::SetPropertyNeedRedaw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - }, - { - "description": "Checked", - "name": "State", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "Check if mouse is hovering over toggle switch.", - "fullName": "Is mouse hovered over toggle switch?", - "functionType": "Condition", - "name": "IsHoveredOver", - "sentence": "Mouse is hovering over _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set default result" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "False" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Check position of mouse" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Track width.", - "fullName": "Track width", - "functionType": "Expression", - "name": "TrackWidth", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyTrackWidth()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Track height.", - "fullName": "Track height", - "functionType": "Expression", - "name": "TrackHeight", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyTrackHeight()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Offset (Y) of shadow on thumb.", - "fullName": "Offset (Y) of shadow on thumb", - "functionType": "Expression", - "name": "ThumbShadowOffsetY", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyThumbShadowOffsetY()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Offset (X) of shadow on thumb.", - "fullName": "Offset (X) of shadow on thumb", - "functionType": "Expression", - "name": "ThumbShadowOffsetX", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyThumbShadowOffsetX()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Opacity of shadow on thumb.", - "fullName": "Opacity of shadow on thumb", - "functionType": "Expression", - "name": "ThumbShadowOpacity", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyThumbShadowOpacity()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Thumb opacity.", - "fullName": "Thumb opacity", - "functionType": "Expression", - "name": "ThumbOpacity", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyThumbOpacity()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Active track opacity.", - "fullName": "Active track opacity", - "functionType": "Expression", - "name": "ActiveTrackOpacity", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyActiveTrackOpacity()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Inactive track opacity.", - "fullName": "Inactive track opacity", - "functionType": "Expression", - "name": "InactiveTrackOpacity", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyInactiveTrackOpacity()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Halo opacity (pressed).", - "fullName": "Halo opacity (pressed)", - "functionType": "Expression", - "name": "HaloOpacityPressed", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyHaloOpacityPressed()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Halo opacity (hover).", - "fullName": "Halo opacity (hover)", - "functionType": "Expression", - "name": "HaloOpacityHover", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyHaloOpacityHover()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Halo radius (pixels).", - "fullName": "Halo radius", - "functionType": "Expression", - "name": "HaloRadius", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyHaloRadius()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Active track color.", - "fullName": "Active track color", - "functionType": "StringExpression", - "name": "ActiveTrackColor", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnString" - }, - "parameters": [ - "Object.Behavior::PropertyActiveTrackColor()" - ] - } - ] - } - ], - "expressionType": { - "type": "string" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Inactive track color.", - "fullName": "Inactive track color", - "functionType": "StringExpression", - "name": "InactiveTrackColor", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnString" - }, - "parameters": [ - "Object.Behavior::PropertyInactiveTrackColor()" - ] - } - ] - } - ], - "expressionType": { - "type": "string" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Active thumb color.", - "fullName": "Active thumb color", - "functionType": "StringExpression", - "name": "ActiveThumbColor", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnString" - }, - "parameters": [ - "Object.Behavior::PropertyActiveThumbColor()" - ] - } - ] - } - ], - "expressionType": { - "type": "string" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the toggle switch is disabled.", - "fullName": "Is disabled", - "functionType": "Condition", - "name": "IsDisabled", - "sentence": "_PARAM0_ is disabled", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyDisabled" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::PropertyDisabled" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "False" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the toggle switch is checked.", - "fullName": "Is checked", - "functionType": "Condition", - "name": "IsChecked", - "sentence": "_PARAM0_ is checked", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ToggleSwitch::ToggleSwitch::PropertyChecked" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ToggleSwitch::ToggleSwitch::PropertyChecked" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "False" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Inactive thumb color.", - "fullName": "Inactive thumb color", - "functionType": "StringExpression", - "name": "InactiveThumbColor", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnString" - }, - "parameters": [ - "Object.Behavior::PropertyInactiveThumbColor()" - ] - } - ] - } - ], - "expressionType": { - "type": "string" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ToggleSwitch::ToggleSwitch", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "10", - "type": "Number", - "label": "Radius of the thumb (px) Example: 10", - "name": "ThumbRadius" - }, - { - "value": "24;119;211", - "type": "String", - "label": "Active thumb color string. Example: 24;119;211", - "name": "ActiveThumbColor" - }, - { - "value": "255", - "type": "Number", - "label": "Opacity of the thumb. Example: 255", - "name": "ThumbOpacity" - }, - { - "value": "20", - "type": "Number", - "label": "Width of the track (pixels) Example: 20", - "name": "TrackWidth" - }, - { - "value": "14", - "type": "Number", - "label": "Height of the track (pixels) Example: 14", - "name": "TrackHeight" - }, - { - "value": "150;150;150", - "type": "String", - "label": "Color string for the track that is RIGHT of the thumb. Example: 150;150;150 (Leave blank to use thumb color)", - "name": "InactiveTrackColor" - }, - { - "value": "255", - "type": "Number", - "label": "Opacity of the track that is RIGHT of the thumb. Example: 255", - "name": "InactiveTrackOpacity" - }, - { - "value": "", - "type": "String", - "label": "Color string for the track that is LEFT of the thumb. Example: 24;119;211 (Leave blank to use thumb color)", - "name": "ActiveTrackColor" - }, - { - "value": "128", - "type": "Number", - "label": "Opacity of the track that is LEFT of the thumb. Example: 128", - "name": "ActiveTrackOpacity" - }, - { - "value": "24", - "type": "Number", - "label": "Size of halo when the mouse hovers and clicks on the thumb. Example: 24", - "name": "HaloRadius" - }, - { - "value": "32", - "type": "Number", - "label": "Opacity of halo when the mouse hovers on the thumb. Example: 32", - "name": "HaloOpacityHover" - }, - { - "value": "64", - "type": "Number", - "label": "Opacity of the halo that appears when the toggle switch is pressed. Example: 64", - "name": "HaloOpacityPressed" - }, - { - "value": "0", - "type": "Number", - "label": "Number of pixels the thumb is from the left side of the track.", - "hidden": true, - "name": "ThumbOffset" - }, - { - "value": "", - "type": "Boolean", - "label": "Checked", - "name": "Checked" - }, - { - "value": "", - "type": "Boolean", - "label": "Disabled", - "name": "Disabled" - }, - { - "value": "", - "type": "Boolean", - "label": "State has been changed (used in ToggleChecked function)", - "hidden": true, - "name": "ToggleChanged" - }, - { - "value": "255;255;255", - "type": "String", - "label": "Inactive thumb color string. Example: 255;255;255", - "name": "InactiveThumbColor" - }, - { - "value": "", - "type": "Boolean", - "label": "Click or press has started on toggle switch", - "hidden": true, - "name": "IsPressed" - }, - { - "value": "4", - "type": "Number", - "label": "Offset (Y) of shadow on thumb. Positive numbers move shadow down, negative numbers move shadow up. Example: 4", - "name": "ThumbShadowOffsetY" - }, - { - "value": "0", - "type": "Number", - "label": "Offset (X) of shadow on thumb. Positive numbers move shadow right, negative numbers move shadow left. Example: 0", - "name": "ThumbShadowOffsetX" - }, - { - "value": "32", - "type": "Number", - "label": "Opacity of shadow on thumb. Example: 32", - "name": "ThumbShadowOpacity" - }, - { - "value": "true", - "type": "Boolean", - "label": "Need redraw", - "hidden": true, - "name": "NeedRedaw" - }, - { - "value": "", - "type": "Boolean", - "label": "Is hovered", - "hidden": true, - "name": "IsHovered" - }, - { - "value": "", - "type": "Boolean", - "label": "Was hovered", - "hidden": true, - "name": "WasHovered" - } - ], - "sharedPropertyDescriptors": [] - } - ], - "eventsBasedObjects": [] - }, - { - "author": "Tristan Rhodes (https://victrisgames.itch.io/), D8H", - "category": "User interface", - "extensionNamespace": "", - "fullName": "Checkbox (for Shape Painter)", - "gdevelopVersion": "", - "helpPath": "", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWNoZWNrYm94LW1hcmtlZCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMCwxN0w1LDEyTDYuNDEsMTAuNThMMTAsMTQuMTdMMTcuNTksNi41OEwxOSw4TTE5LDNINUMzLjg5LDMgMywzLjg5IDMsNVYxOUEyLDIgMCAwLDAgNSwyMUgxOUEyLDIgMCAwLDAgMjEsMTlWNUMyMSwzLjg5IDIwLjEsMyAxOSwzWiIgLz48L3N2Zz4=", - "name": "Checkbox", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/checkbox-marked.svg", - "shortDescription": "Checkbox that can be toggled by a left-click or touch.", - "version": "0.1.1", - "description": [ - "Users can click on the checkbox to add and remove the checkmark. ", - "", - "How to use:", - "- Add this extension to a shape painter object", - "- Use condition \"Is checked\" to find out the state of the checkbox", - "", - "Tips:", - "- Checkbox state can also be changed by an action.", - "- Checkbox can be disabled so that users cannot interact with it ", - "- To remove halo, Set \"halo hover\" and \"halo pressed\" opacity to 0" - ], - "origin": { - "identifier": "Checkbox", - "name": "gdevelop-extension-store" - }, - "tags": [ - "checkbox", - "shape painter", - "ui", - "widget", - "toggle", - "switch" - ], - "authorIds": [ - "gqDaZjCfevOOxBYkK6zlhtZnXCg1", - "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" - ], - "dependencies": [], - "globalVariables": [], - "sceneVariables": [], - "eventsFunctions": [], - "eventsBasedBehaviors": [ - { - "description": "Checkbox that can be toggled by a left-click or touch.", - "fullName": "Checkbox", - "name": "Checkbox", - "objectType": "PrimitiveDrawing::Drawer", - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "onCreated", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure object doesn't get re-drawn every frame" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::ClearBetweenFrames" - }, - "parameters": [ - "Object", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Start halo at same size as thumb" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertySideLength()/2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPreEvents", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Checkbox logic", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::IsEnabled" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::PropertyIsBeingPressed" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Grow halo even more when pressed" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyHaloRadiusPressed()" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Detect press ending" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonReleased" - }, - "parameters": [ - "", - "Left" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyIsBeingPressed" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Detect hover and touch/click" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "Checkbox::Checkbox::PropertyIsBeingPressed" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Detect mouse clicks near checkbox" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonPressed" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CursorX" - }, - "parameters": [ - "", - ">", - "(Object.X() + 0.5 * Object.Behavior::SideLength()) - max(Object.Behavior::PropertyHaloRadiusHover(), 0.5 * Object.Behavior::PropertySideLength())", - "Object.Layer()", - "0" - ] - }, - { - "type": { - "value": "CursorX" - }, - "parameters": [ - "", - "<", - "(Object.X() + 0.5 * Object.Behavior::SideLength()) + max(Object.Behavior::PropertyHaloRadiusHover(), 0.5 * Object.Behavior::PropertySideLength())", - "Object.Layer()", - "0" - ] - }, - { - "type": { - "value": "CursorY" - }, - "parameters": [ - "", - ">", - "(Object.Y() + 0.5 * Object.Behavior::SideLength()) - max(Object.Behavior::PropertyHaloRadiusHover(), 0.5 * Object.Behavior::PropertySideLength())", - "Object.Layer()", - "0" - ] - }, - { - "type": { - "value": "CursorY" - }, - "parameters": [ - "", - "<", - "(Object.Y() + 0.5 * Object.Behavior::SideLength()) + max(Object.Behavior::PropertyHaloRadiusHover(), 0.5 * Object.Behavior::PropertySideLength())", - "Object.Layer()", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyIsBeingPressed" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::ToggleChecked" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reset hover detection " - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Grow halo when hovered" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "MouseButtonPressed" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "CursorX" - }, - "parameters": [ - "", - ">", - "(Object.X() + 0.5 * Object.Behavior::SideLength()) - max(Object.Behavior::PropertyHaloRadiusHover(), 0.5 * Object.Behavior::PropertySideLength())", - "Object.Layer()", - "0" - ] - }, - { - "type": { - "value": "CursorX" - }, - "parameters": [ - "", - "<", - "(Object.X() + 0.5 * Object.Behavior::SideLength()) + max(Object.Behavior::PropertyHaloRadiusHover(), 0.5 * Object.Behavior::PropertySideLength())", - "Object.Layer()", - "0" - ] - }, - { - "type": { - "value": "CursorY" - }, - "parameters": [ - "", - ">", - "(Object.Y() + 0.5 * Object.Behavior::SideLength()) - max(Object.Behavior::PropertyHaloRadiusHover(), 0.5 * Object.Behavior::PropertySideLength())", - "Object.Layer()", - "0" - ] - }, - { - "type": { - "value": "CursorY" - }, - "parameters": [ - "", - "<", - "(Object.Y() + 0.5 * Object.Behavior::SideLength()) + max(Object.Behavior::PropertyHaloRadiusHover(), 0.5 * Object.Behavior::PropertySideLength())", - "Object.Layer()", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyHaloRadiusHover()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Shrink halo to zero when not hovered" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "Checkbox::Checkbox::PropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertySideLength()/2" - ] - } - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::PropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "!=", - "Object.Behavior::PropertyTargetHaloRadius()" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Redraw checkbox only when halo is not at final size" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "abs(Object.Behavior::PropertyCurrentHaloRadius() - Object.Behavior::PropertyTargetHaloRadius())", - "<", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyTargetHaloRadius()" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::PropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "!=", - "Object.Behavior::PropertyTargetHaloRadius()" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "lerp(Object.Behavior::PropertyCurrentHaloRadius(), Object.Behavior::PropertyTargetHaloRadius(), Object.Behavior::PropertyHaloGrowSpeed())" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Checkbox drawing", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::PropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "Visible" - }, - "parameters": [ - "Object" - ] - }, - { - "type": { - "value": "LayerVisible" - }, - "parameters": [ - "", - "Object.Layer()" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::Drawer::ClearShapes" - }, - "parameters": [ - "Object" - ] - } - ], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Fix inputs", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Fix inputs that create malformed checkboxes" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertySideLength()", - "<", - "10" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertySideLength" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "10" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyLineWidth()", - "<", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyLineWidth" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyLineWidth()", - ">", - "Object.Behavior::PropertySideLength()/3" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyLineWidth" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertySideLength()/3" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyHaloRadiusHover()", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyHaloRadiusHover" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertySideLength()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyHaloRadiusPressed()", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyHaloRadiusPressed" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyHaloRadiusHover() * 1.1" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Draw Halo", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set halo radius, if not specified" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::PropertyHaloRadiusHover" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetHaloRadiusHover" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertySideLength()", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Check if halo is bigger than checkbox" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::PropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "Object.Behavior::PropertySideLength()/2" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Prepare halo" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyPrimaryColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineOpacity" - }, - "parameters": [ - "Object", - "=", - "0" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw halo (it will grow or shrink as needed)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "Checkbox::Checkbox::PropertyIsBeingPressed" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyHaloOpacityHover()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertySideLength()/2", - "Object.Behavior::PropertySideLength()/2", - "Object.Behavior::PropertyCurrentHaloRadius()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Use a more opaque halo while being dragged (it will grow or shrink as needed)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::PropertyIsBeingPressed" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyHaloOpacityClick()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertySideLength()/2", - "Object.Behavior::PropertySideLength()/2", - "Object.Behavior::PropertyCurrentHaloRadius()" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Draw checkbox square", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Change shape painter based on properties" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyPrimaryColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyPrimaryColor()" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertySecondaryColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyPrimaryColor()" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::OutlineSize" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyBorderThickness()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "255" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineOpacity" - }, - "parameters": [ - "Object", - "=", - "255" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Rectangle" - }, - "parameters": [ - "Object", - "0", - "0", - "Object.Behavior::PropertySideLength()", - "Object.Behavior::PropertySideLength()" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Draw checkmark", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Prepare color of checkmark" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::OutlineColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertySecondaryColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw left-side of checkmark" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::LineV2" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertySideLength() * 1/10", - "Object.Behavior::PropertySideLength() * 1/2", - "Object.Behavior::PropertySideLength() * 1/3", - "Object.Behavior::PropertySideLength() * 3/4", - "Object.Behavior::PropertyLineWidth()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw right-side of checkmark" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::LineV2" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertySideLength() * 1/3 - (Object.Behavior::PropertyLineWidth()*0.5/sqrt(2))", - "Object.Behavior::PropertySideLength() * 3/4 + (Object.Behavior::PropertyLineWidth()*0.5/sqrt(2))", - "Object.Behavior::PropertySideLength() * 9/10", - "Object.Behavior::PropertySideLength() * 2/10", - "Object.Behavior::PropertyLineWidth()" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check (or uncheck) the checkbox.", - "fullName": "Check (or uncheck) the checkbox", - "functionType": "Action", - "group": "Checkbox state", - "name": "SetChecked", - "sentence": "Add checkmark to _PARAM0_: _PARAM2_ ", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"State\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyChecked" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"ValueMin\")" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"State\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyChecked" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - }, - { - "description": "Check the checkbox?", - "name": "State", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "Enable or disable interactions with the checkbox. Users cannot interact while it is disabled.", - "fullName": "Enable interactions with checkbox", - "functionType": "Action", - "group": "Checkbox behavior", - "name": "SetEnabled", - "sentence": "Enable interactions of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Enable\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyEnabled" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Stop dragging (so the checkbox won't be dragging when it gets enabled)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyIsBeingPressed" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reset halo size (so halo won't appear when checkbox gets enabled)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Enable\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyEnabled" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - }, - { - "description": "Enable", - "name": "Enable", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "If checked, change to unchecked. If unchecked, change to checked.", - "fullName": "Toggle checkmark", - "functionType": "Action", - "name": "ToggleChecked", - "sentence": "Toggle checkmark on _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyToggleChanged" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::PropertyChecked" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyChecked" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyToggleChanged" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "Checkbox::Checkbox::PropertyChecked" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "inverted": true, - "value": "Checkbox::Checkbox::PropertyToggleChanged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyChecked" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change the primary color of checkbox.", - "fullName": "Primary color of checkbox", - "functionType": "Action", - "group": "Checkbox appearance", - "name": "SetPrimaryColor", - "sentence": "Change the primary color of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyPrimaryColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - }, - { - "description": "Primary color", - "name": "Color", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "Change the secondary color of checkbox.", - "fullName": "Secondary color of checkbox", - "functionType": "Action", - "group": "Checkbox appearance", - "name": "SetSecondaryColor", - "sentence": "Change the secondary color of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertySecondaryColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - }, - { - "description": "Secondary color", - "name": "Color", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "Change the halo opacity when pressed.", - "fullName": "Halo opacity when pressed", - "functionType": "Action", - "group": "Checkbox appearance", - "name": "SetHaloOpacityPressed", - "sentence": "Change the halo opacity of _PARAM0_ when pressed: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyHaloOpacityClick" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - }, - { - "description": "Halo opacity", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the halo opacity when hovered.", - "fullName": "Halo opacity when hovered", - "functionType": "Action", - "group": "Checkbox appearance", - "name": "SetHaloOpacityHover", - "sentence": "Change the halo opacity of _PARAM0_ when hovered: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyHaloOpacityHover" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - }, - { - "description": "Halo opacity", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the halo radius when pressed.", - "fullName": "Halo radius when pressed", - "functionType": "Action", - "group": "Checkbox appearance", - "name": "SetHaloRadiusPressed", - "sentence": "Change the halo radius of _PARAM0_ when pressed: _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyHaloRadiusPressed" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - }, - { - "description": "Halo radius", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the halo radius when hovered. This size is also used to detect interaction with the checkbox.", - "fullName": "Halo radius when hovered", - "functionType": "Action", - "group": "Checkbox appearance", - "name": "SetHaloRadiusHover", - "sentence": "Change the halo radius of _PARAM0_ when hovered: _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyHaloRadiusHover" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - }, - { - "description": "Halo radius", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the border thickness of checkbox.", - "fullName": "Border thickness of checkbox", - "functionType": "Action", - "group": "Checkbox appearance", - "name": "SetBorderThickness", - "sentence": "Change the border thickness of _PARAM0_: _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyBorderThickness" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - }, - { - "description": "Track thickness", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the side length of checkbox.", - "fullName": "Side length of checkbox", - "functionType": "Action", - "group": "Checkbox appearance", - "name": "SetSideLength", - "sentence": "Change the side length of _PARAM0_: _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertySideLength" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - }, - { - "description": "Track width (px)", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the line width of checkmark.", - "fullName": "Line width of checkmark", - "functionType": "Action", - "group": "Checkbox appearance", - "name": "SetLineWidth", - "sentence": "Change the line width of _PARAM0_: _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyLineWidth" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - }, - { - "description": "Line width (px)", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the checkbox is checked.", - "fullName": "Is checked", - "functionType": "Condition", - "group": "Checkbox state", - "name": "IsChecked", - "sentence": "_PARAM0_ is checked", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::PropertyChecked" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the checkbox interations are enabled.", - "fullName": "Interactions enabled", - "functionType": "Condition", - "group": "Checkbox", - "name": "IsEnabled", - "sentence": "Interactions of _PARAM0_ are enabled", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::PropertyEnabled" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the color used to draw the outline of the checkbox (when unchecked) and the fill color (when checked).", - "fullName": "Primary color of checkbox", - "functionType": "StringExpression", - "group": "Checkbox appearance", - "name": "PrimaryColor", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnString" - }, - "parameters": [ - "Object.Behavior::PropertyPrimaryColor()" - ] - } - ] - } - ], - "expressionType": { - "type": "string" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the color used to fill the checkbox (when unchecked) and to draw the checkmark (when checked).", - "fullName": "Secondary color of checkbox", - "functionType": "StringExpression", - "group": "Checkbox appearance", - "name": "SecondaryColor", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnString" - }, - "parameters": [ - "Object.Behavior::PropertySecondaryColor()" - ] - } - ] - } - ], - "expressionType": { - "type": "string" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the radius of the halo while the checkbox is touched or clicked.", - "fullName": "Halo radius while touched or clicked", - "functionType": "Expression", - "group": "Checkbox appearance", - "name": "HaloRadiusPressed", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyHaloRadiusPressed()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the opacity of the halo while the checkbox is touched or clicked.", - "fullName": "Halo opacity (while touched or clicked)", - "functionType": "Expression", - "group": "Checkbox appearance", - "name": "HaloOpacityPressed", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::HaloOpacityPressed()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the radius of the halo when the mouse is hovering near the checkbox.", - "fullName": "Halo radius (during hover)", - "functionType": "Expression", - "group": "Checkbox appearance", - "name": "HaloRadiusHover", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyHaloRadiusHover()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the opacity of the halo when the mouse is hovering near the checkbox.", - "fullName": "Halo opacity (during hover)", - "functionType": "Expression", - "group": "Checkbox appearance", - "name": "HaloOpacityHover", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyHaloOpacityHover()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the line width of checkmark (pixels).", - "fullName": "Line width", - "functionType": "Expression", - "group": "Checkbox appearance", - "name": "LineWidth", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyLineWidth()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the side length of checkbox (pixels).", - "fullName": "Side length ", - "functionType": "Expression", - "group": "Checkbox appearance", - "name": "SideLength", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertySideLength()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the border thickness of checkbox (pixels).", - "fullName": "Border thickness", - "functionType": "Expression", - "group": "Checkbox appearance", - "name": "BorderThickness", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyBorderThickness()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the checkbox is being pressed by mouse or touch.", - "fullName": "Checkbox is being pressed", - "functionType": "Condition", - "group": "Checkbox", - "name": "IsBeingPressed", - "sentence": "_PARAM0_ is being pressed by mouse or touch", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::PropertyIsBeingPressed" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Update the hitbox.", - "fullName": "Update hitbox", - "functionType": "Action", - "group": "Private", - "name": "UpdateHitbox", - "private": true, - "sentence": "Update the hitbox of _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::SetRotationCenter" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertySideLength()/2", - "Object.Behavior::PropertySideLength()/2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Include border in the collision mask" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::SetRectangularCollisionMask" - }, - "parameters": [ - "Object", - "-Object.Behavior::BorderThickness()/2", - "-Object.Behavior::BorderThickness()/2", - "Object.Behavior::PropertySideLength() + Object.Behavior::BorderThickness()/2", - "Object.Behavior::PropertySideLength() + Object.Behavior::BorderThickness()/2" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Checkbox::Checkbox", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "0", - "type": "Boolean", - "label": "Checked", - "group": "Checkbox state", - "name": "Checked" - }, - { - "value": "", - "type": "Number", - "label": "Halo size (hover). If blank, this is set to \"SideLength\".", - "group": "Checkbox appearance", - "name": "HaloRadiusHover" - }, - { - "value": "64", - "type": "Number", - "label": "Halo opacity (hover)", - "group": "Checkbox appearance", - "name": "HaloOpacityHover" - }, - { - "value": "128", - "type": "Number", - "label": "Halo opacity (pressed)", - "group": "Checkbox appearance", - "name": "HaloOpacityClick" - }, - { - "value": "true", - "type": "Boolean", - "label": "Enable interactions", - "group": "Checkbox state", - "name": "Enabled" - }, - { - "value": "", - "type": "Boolean", - "label": "", - "hidden": true, - "name": "IsBeingPressed" - }, - { - "value": "true", - "type": "Boolean", - "label": "", - "hidden": true, - "name": "NeedRedraw" - }, - { - "value": "", - "type": "Boolean", - "label": "", - "hidden": true, - "name": "IsHovered" - }, - { - "value": "", - "type": "Number", - "label": "", - "hidden": true, - "name": "CurrentHaloRadius" - }, - { - "value": "0.3", - "type": "Number", - "label": "", - "hidden": true, - "name": "HaloGrowSpeed" - }, - { - "value": "", - "type": "Number", - "label": "", - "hidden": true, - "name": "TargetHaloRadius" - }, - { - "value": "", - "type": "Boolean", - "label": "State of the checkbox has changed. (Used in \"ToggleChecked\" function)", - "hidden": true, - "name": "ToggleChanged" - }, - { - "value": " 24;119;211", - "type": "Color", - "label": "Primary color of checkbox. (Example: 24;119;211) Fill color when box is checked.", - "group": "Checkbox appearance", - "name": "PrimaryColor" - }, - { - "value": "255;255;255", - "type": "Color", - "label": "Secondary color of checkbox. (Example: 255;255;255) Color of checkmark when box is checked.", - "group": "Checkbox appearance", - "name": "SecondaryColor" - }, - { - "value": "24", - "type": "Number", - "label": "Length of each side (px) Minimum: 10", - "group": "Checkbox appearance", - "name": "SideLength" - }, - { - "value": "5", - "type": "Number", - "label": "Line width of checkmark (px) (Min: 1, Max: 1/4 * SideLength)", - "group": "Checkbox appearance", - "name": "LineWidth" - }, - { - "value": "2", - "type": "Number", - "label": "Border thickness (px) This border is only visible when the checkbox is unchecked. ", - "group": "Checkbox appearance", - "name": "BorderThickness" - }, - { - "value": "", - "type": "Number", - "label": "Halo size (pressed). If blank, this is set to \"HaloRadiusHover * 1.1\"", - "group": "Checkbox appearance", - "name": "HaloRadiusPressed" - } - ], - "sharedPropertyDescriptors": [] - } - ], - "eventsBasedObjects": [] - }, - { - "author": "Tristan Rhodes (https://victrisgames.itch.io/), D8H", - "category": "User interface", - "extensionNamespace": "", - "fullName": "Draggable slider (for Shape Painter)", - "gdevelopVersion": "", - "helpPath": "", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSI3IiByPSIzIi8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMyIgeTE9IjciIHgyPSIyMCIgeTI9IjciLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjciIHgyPSIyNiIgeTI9IjciLz4NCjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjEyIiBjeT0iMTYiIHI9IjMiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIzIiB5MT0iMTYiIHgyPSI5IiB5Mj0iMTYiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjE2IiB4Mj0iMTUiIHkyPSIxNiIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSIyNSIgcj0iMyIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjMiIHkxPSIyNSIgeDI9IjIwIiB5Mj0iMjUiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjI1IiB4Mj0iMjYiIHkyPSIyNSIvPg0KPC9zdmc+DQo=", - "name": "DraggableSliderControl", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/UI Essentials/UI Essentials_sliders_options.svg", - "shortDescription": "A draggable slider that users can move to select a numerical value.", - "version": "1.0.6", - "description": [ - "Draws a draggable slider that users can move to select a numerical value.", - "The value range, tick spacing, and the appearance of the slider can be defined with properties.", - "", - "How to use:", - "- Add this behavior a **Shape Painter** object", - "- Place an instance of that shape painter on the screen where you want the slider to appear", - "- Use the \"Value\" expression to find the Value based on the position of the slider", - "", - "Tips:", - "- You can disable the slider to prevent a user from interacting with it", - "- You can set the Value of the slider and the slider will move to the correct position", - "", - "Further details can be found in [this tutorial video](https://youtu.be/iiTUwdAT_hs).", - "", - "Breaking changes (1.0.0)", - "- Track thickness and length properties replaced track width and height. These 2 properties must be set again if they were different from the default size.", - "- Hidden sliders can be dragged. The \"enable\" action must be used to disable them.", - "" - ], - "origin": { - "identifier": "DraggableSliderControl", - "name": "gdevelop-extension-store" - }, - "tags": [ - "draggable", - "slider", - "shape painter", - "ui", - "widget" - ], - "authorIds": [ - "IWykYNRvhCZBN3vEgKEbBPOR3Oc2", - "gqDaZjCfevOOxBYkK6zlhtZnXCg1" - ], - "dependencies": [], - "globalVariables": [], - "sceneVariables": [], - "eventsFunctions": [], - "eventsBasedBehaviors": [ - { - "description": "Let users select a numerical value by dragging a slider.", - "fullName": "Draggable slider", - "name": "DraggableSliderControl", - "objectType": "PrimitiveDrawing::Drawer", - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "onCreated", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure object doesn't get re-drawn every frame" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::ClearBetweenFrames" - }, - "parameters": [ - "Object", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Use correct min value (instead of always starting at 0)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyValueMin()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set track height function (which enforces valid thumb sizes)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackThickness" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyTrackThickness()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Start halo at same size as thumb" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "min(Object.Behavior::PropertyThumbHeight()/2,Object.Behavior::PropertyThumbWidth()/2)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPreEvents", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Slider logic", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::IsEnabled" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Track where the mouse is (in relation to object)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyMouseX" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.ToDrawingX(MouseX(Object.Layer(), 0), MouseY(Object.Layer(), 0))" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyMouseY" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.ToDrawingY(MouseX(Object.Layer(), 0), MouseY(Object.Layer(), 0))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move slider when being dragged" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOffset" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyMouseX()" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "End sliding and update variables" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonReleased" - }, - "parameters": [ - "", - "Left" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Update \"Value\" based on the location of the thumb" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyValueMin() + (Object.Behavior::PropertyValueMax() - Object.Behavior::PropertyValueMin()) * Object.Behavior::PropertyThumbOffset() / Object.Behavior::PropertyTrackLength()", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Grow halo even more when pressed" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "1.25 * Object.Behavior::PropertyHaloRadius()" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Detect hover/touch/click (but only if the layer and object is visible, and the object is not already being dragged)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Detect mouse clicks near track, start dragging" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonPressed" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyMouseX()", - ">=", - "-Object.Behavior::PropertyHaloRadius()" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyMouseX()", - "<=", - "Object.Behavior::PropertyTrackLength() + Object.Behavior::PropertyHaloRadius()" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyMouseY()", - ">=", - "-Object.Behavior::PropertyHaloRadius()" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyMouseY()", - "<=", - "Object.Behavior::PropertyHaloRadius()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reset hover detection " - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Grow halo when hovered" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "MouseButtonPressed" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyMouseX()", - ">=", - "Object.Behavior::PropertyThumbOffset() - Object.Behavior::PropertyHaloRadius()" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyMouseX()", - "<=", - "Object.Behavior::PropertyThumbOffset() + Object.Behavior::PropertyHaloRadius()" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyMouseY()", - ">=", - "- Object.Behavior::PropertyHaloRadius()" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyMouseY()", - "<=", - "Object.Behavior::PropertyHaloRadius()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyHaloRadius()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Shrink halo to zero when not hovered" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" - ] - } - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "!=", - "Object.Behavior::PropertyTargetHaloRadius()" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Redraw slider only when halo is not at final size" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "abs(Object.Behavior::PropertyCurrentHaloRadius() - Object.Behavior::PropertyTargetHaloRadius())", - "<", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyTargetHaloRadius()" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "!=", - "Object.Behavior::PropertyTargetHaloRadius()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "lerp(Object.Behavior::PropertyCurrentHaloRadius(), Object.Behavior::PropertyTargetHaloRadius(), Object.Behavior::PropertyHaloGrowSpeed())" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Slider drawing", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "Visible" - }, - "parameters": [ - "Object" - ] - }, - { - "type": { - "value": "LayerVisible" - }, - "parameters": [ - "", - "Object.Layer()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::Drawer::ClearShapes" - }, - "parameters": [ - "Object" - ] - } - ], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Inactive track", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set inactive track parameters (by default, use thumb color)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyInactiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyInactiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "!=", - "\"\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyInactiveTrackColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyInactiveTrackOpacity()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineOpacity" - }, - "parameters": [ - "Object", - "=", - "0" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw inactive track" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Rectangle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset()", - "-Object.Behavior::PropertyTrackThickness() / 2", - "Object.Behavior::PropertyTrackLength()", - "Object.Behavior::PropertyTrackThickness() / 2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw half circle at end of track (inactive side)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyRoundedTrack" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Arc" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyTrackLength()", - "0", - "Object.Behavior::PropertyTrackThickness() / 2", - "270", - "90", - "", - "yes" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Active track", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set active track parameters (by default, use thumb color)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyActiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyActiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "!=", - "\"\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyActiveTrackColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyActiveTrackOpacity()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw active track (2 pixels bigger than property) " - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Rectangle" - }, - "parameters": [ - "Object", - "0", - "-(Object.Behavior::PropertyTrackThickness() / 2 + 1)", - "Object.Behavior::PropertyThumbOffset()", - "Object.Behavior::PropertyTrackThickness() / 2 + 1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw half circle at end of track (active side)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyRoundedTrack" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Arc" - }, - "parameters": [ - "Object", - "0", - "0", - "1 + Object.Behavior::PropertyTrackThickness() / 2", - "90", - "270", - "", - "yes" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Halo", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Prepare halo" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineOpacity" - }, - "parameters": [ - "Object", - "=", - "0" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw halo (it will grow or shrink as needed)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyHaloOpacityHover()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset()", - "0", - "Object.Behavior::PropertyCurrentHaloRadius()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Use a more opaque halo while being dragged (it will grow or shrink as needed)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyHaloOpacityClick()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset()", - "0", - "Object.Behavior::PropertyCurrentHaloRadius()" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Thumb", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Prepare thumb settings" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyThumbOpacity()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw Circle thumb" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"circle\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset()", - "0", - "ceil(max(Object.Behavior::PropertyThumbWidth(),Object.Behavior::PropertyThumbHeight())/2)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw Rectangle thumb" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"rectangle\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Rectangle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset() - (Object.Behavior::PropertyThumbWidth() / 2)", - "-Object.Behavior::PropertyThumbHeight() / 2", - "Object.Behavior::PropertyThumbOffset() + (Object.Behavior::PropertyThumbWidth() / 2)", - "Object.Behavior::PropertyThumbHeight() / 2" - ] - } - ] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the slider is being dragged.", - "fullName": "Being dragged", - "functionType": "Condition", - "group": "Slider", - "name": "IsBeingDragged", - "sentence": "_PARAM0_ is being dragged", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the slider interations are enabled.", - "fullName": "Interactions enabled", - "functionType": "Condition", - "group": "Slider", - "name": "IsEnabled", - "sentence": "Interactions of _PARAM0_ are enabled", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyEnabled" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Enable or disable the slider. Users cannot interact while it is disabled.", - "fullName": "Enable interactions", - "functionType": "Action", - "group": "Slider", - "name": "SetEnabled", - "sentence": "Enable interactions of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Enable\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Stop dragging (so the slider won't be dragging when it gets enabled)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reset halo size (so halo won't appear when slider gets enabled)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Enable\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Enable", - "name": "Enable", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "The value of the slider (based on position of the thumb).", - "fullName": "Slider value", - "functionType": "Expression", - "group": "Slider", - "name": "Value", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyValue()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change the value of a slider (this will move the thumb to the correct position).", - "fullName": "Slider value", - "functionType": "Action", - "group": "Slider", - "name": "SetValue", - "sentence": "Change the value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" - }, - "parameters": [ - "Object", - "Behavior", - "<=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "round(GetArgumentAsNumber(\"Value\") / Object.Behavior::PropertyTickSpacing()) * Object.Behavior::PropertyTickSpacing()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyValueMin()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyValueMin()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "Object.Behavior::PropertyValueMax()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyValueMax()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set the proper offset (it moves the slider)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOffset" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyTrackLength() * (Object.Behavior::PropertyValue() - Object.Behavior::PropertyValueMin()) / (Object.Behavior::PropertyValueMax() - Object.Behavior::PropertyValueMin())" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Slider value", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "The minimum value of a slider.", - "fullName": "Slider minimum value", - "functionType": "Expression", - "group": "Slider value configuration", - "name": "ValueMin", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyValueMin()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change the minimum value of a slider.", - "fullName": "Slider minimum value", - "functionType": "Action", - "group": "Slider value configuration", - "name": "SetValueMin", - "sentence": "Change the minimum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMin" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"ValueMin\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::Value()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Minimum value", - "name": "ValueMin", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "The maximum value of a slider.", - "fullName": "Slider maximum value", - "functionType": "Expression", - "group": "Slider value configuration", - "name": "ValueMax", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyValueMax()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Thickness of track.", - "fullName": "Slider track thickness", - "functionType": "Expression", - "group": "Slider track configuration", - "name": "TrackThickness", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyTrackThickness()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Length of track.", - "fullName": "Slider track length", - "functionType": "Expression", - "group": "Slider track configuration", - "name": "TrackLength", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyTrackLength()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Height of thumb.", - "fullName": "Slider thumb height", - "functionType": "Expression", - "group": "Slider thumb configuration", - "name": "ThumbHeight", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyThumbHeight()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change the maximum value of a slider.", - "fullName": "Slider maximum value", - "functionType": "Action", - "group": "Slider value configuration", - "name": "SetValueMax", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMax" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"ValueMax\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::Value()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Maximum value", - "name": "ValueMax", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "The tick spacing of a slider.", - "fullName": "Tick spacing", - "functionType": "Expression", - "group": "Slider value configuration", - "name": "TickSpacing", - "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyTickSpacing()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Tick spacing", - "name": "TickSpacing", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the tick spacing of a slider.", - "fullName": "Tick spacing", - "functionType": "Action", - "group": "Slider value configuration", - "name": "SetTickSpacing", - "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTickSpacing" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"TickSpacing\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::Value()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Tick spacing", - "name": "TickSpacing", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change length of track.", - "fullName": "Track length", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetTrackLength", - "sentence": "Change track length of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackLength" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move thumb to correct place (based on new track size)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyValue()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Track width", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change thickness of track.", - "fullName": "Track thickness", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetTrackThickness", - "sentence": "Change track thickness of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackThickness" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure thumb width is not smaller than track height + 2 pixels (to prevent track ends from showing)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackThickness() + 2" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyTrackThickness() + 2", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbHeight" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackThickness() + 2" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetThumbHeight" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyTrackThickness() + 2", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Track thickness", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change width of thumb.", - "fullName": "Thumb width", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbWidth", - "sentence": "Change thumb width of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Thumb cannot be less than track thickness (plus 2 pixels)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Thumb width", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change height of thumb.", - "fullName": "Thumb height", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbHeight", - "sentence": "Change thumb height of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Thumb cannot be less than track thickness (plus 2 pixels)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbHeight" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Thumb height", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change radius of the halo around the thumb. This size is also used to detect interaction with the slider.", - "fullName": "Halo radius", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetHaloRadius", - "sentence": "Change halo radius of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Halo radius", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the halo opacity when the thumb is hovered.", - "fullName": "Halo opacity (hover)", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetHaloOpacityHover", - "sentence": "Change the halo opacity when hovered of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloOpacityHover" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Halo opacity (hover)", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change opacity of halo when pressed.", - "fullName": "Halo opacity (pressed)", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetHaloOpacityPressed", - "sentence": "Change halo opacity when pressed of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloOpacityClick" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Halo opacity (pressed)", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change shape of thumb (circle or rectangle).", - "fullName": "Thumb shape", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbShape", - "sentence": "Change shape of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbShape" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Shape\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure thumb width is not smaller than track height (to prevent track ends from showing)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"rectangle\"" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackThickness()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyTrackThickness()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "New thumb shape", - "name": "Shape", - "supplementaryInformation": "[\"circle\",\"rectangle\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Make track use rounded ends.", - "fullName": "Rounded track ends", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetRoundedTrack", - "sentence": "Draw _PARAM0_ with a rounded track: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "GetArgumentAsNumber(\"Value\")", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "GetArgumentAsNumber(\"Value\")", - "=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Rounded track", - "name": "Value", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "Change opacity of thumb.", - "fullName": "Thumb opacity", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbOpacity", - "sentence": "Change thumb opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOpacity" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Thumb opacity", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change opacity of inactive track.", - "fullName": "Inactive track opacity", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetInactiveTrackOpacity", - "sentence": "Change inactive track opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackOpacity" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Inactive track opacity", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change opacity of active track.", - "fullName": "Active track opacity", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetActiveTrackOpacity", - "sentence": "Change active track opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackOpacity" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Active track opacity", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the color of the track that is LEFT of the thumb.", - "fullName": "Active track color ", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetActiveTrackColor", - "sentence": "Change active track color of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Active track color", - "name": "Color", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "Change the color of the track that is RIGHT of the thumb.", - "fullName": "Inactive track color", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetInactiveTrackColor", - "sentence": "Change inactive track color of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Inactive track color", - "name": "Color", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "Change the thumb color to a specific value.", - "fullName": "Thumb color", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbColor", - "sentence": "Change thumb color of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Thumb color", - "name": "Color", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "Update the hitbox.", - "fullName": "Update hitbox", - "functionType": "Action", - "group": "Private", - "name": "UpdateHitbox", - "private": true, - "sentence": "Update the hitbox of _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::SetRotationCenter" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyTrackLength() / 2", - "Object.Behavior::PropertyTrackThickness() / 2" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::SetRectangularCollisionMask" - }, - "parameters": [ - "Object", - "-Object.Behavior::PropertyThumbWidth() / 2", - "-Object.Behavior::PropertyThumbHeight() / 2", - "Object.Behavior::PropertyTrackLength() + Object.Behavior::PropertyThumbWidth() / 2", - "Object.Behavior::PropertyThumbHeight() / 2" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "0", - "type": "Number", - "label": "Minimum value", - "name": "ValueMin" - }, - { - "value": "1", - "type": "Number", - "label": "Maximum value", - "name": "ValueMax" - }, - { - "value": "0", - "type": "Number", - "label": "Tick spacing", - "name": "TickSpacing" - }, - { - "value": "circle", - "type": "Choice", - "label": "Thumb shape", - "group": "Thumb", - "choices": [ - { - "label": "circle", - "value": "circle" - }, - { - "label": "rectangle", - "value": "rectangle" - } - ], - "name": "ThumbShape" - }, - { - "value": "20", - "type": "Number", - "label": "Thumb width", - "group": "Thumb", - "name": "ThumbWidth" - }, - { - "value": "20", - "type": "Number", - "label": "Thumb height", - "group": "Thumb", - "name": "ThumbHeight" - }, - { - "value": " 24;119;211", - "type": "Color", - "label": "Thumb Color", - "group": "Thumb", - "name": "ThumbColor" - }, - { - "value": "255", - "type": "Number", - "label": "Thumb opacity", - "group": "Thumb", - "name": "ThumbOpacity" - }, - { - "value": "200", - "type": "Number", - "label": "Track length", - "group": "Track", - "name": "TrackLength" - }, - { - "value": "4", - "type": "Number", - "label": "Track thickness", - "group": "Track", - "name": "TrackThickness" - }, - { - "value": "", - "type": "String", - "label": "Inactive track color (thumb color by default)", - "group": "Track", - "name": "InactiveTrackColor" - }, - { - "value": "96", - "type": "Number", - "label": "Inactive track opacity", - "group": "Track", - "name": "InactiveTrackOpacity" - }, - { - "value": " ", - "type": "String", - "label": "Active track color (thumb color by default)", - "group": "Track", - "name": "ActiveTrackColor" - }, - { - "value": "255", - "type": "Number", - "label": "Active track opacity", - "group": "Track", - "name": "ActiveTrackOpacity" - }, - { - "value": "24", - "type": "Number", - "label": "Halo size (hover)", - "group": "Thumb", - "name": "HaloRadius" - }, - { - "value": "32", - "type": "Number", - "label": "Halo opacity (hover)", - "group": "Thumb", - "name": "HaloOpacityHover" - }, - { - "value": "64", - "type": "Number", - "label": "Halo opacity (pressed)", - "group": "Thumb", - "name": "HaloOpacityClick" - }, - { - "value": "true", - "type": "Boolean", - "label": "Rounded track ends", - "group": "Track", - "name": "RoundedTrack" - }, - { - "value": "true", - "type": "Boolean", - "label": "Enable interactions", - "name": "Enabled" - }, - { - "value": "", - "type": "Boolean", - "label": "", - "hidden": true, - "name": "IsBeingDragged" - }, - { - "value": "0", - "type": "Number", - "label": "", - "hidden": true, - "name": "Value" - }, - { - "value": "0", - "type": "Number", - "label": "", - "hidden": true, - "name": "ThumbOffset" - }, - { - "value": "true", - "type": "Boolean", - "label": "", - "hidden": true, - "name": "NeedRedraw" - }, - { - "value": "", - "type": "Boolean", - "label": "", - "hidden": true, - "name": "IsHovered" - }, - { - "value": "", - "type": "Number", - "label": "", - "hidden": true, - "name": "MouseX" - }, - { - "value": "", - "type": "Number", - "label": "", - "hidden": true, - "name": "MouseY" - }, - { - "value": "", - "type": "Number", - "label": "", - "hidden": true, - "name": "CurrentHaloRadius" - }, - { - "value": "0.2", - "type": "Number", - "label": "", - "hidden": true, - "name": "HaloGrowSpeed" - }, - { - "value": "", - "type": "Number", - "label": "", - "hidden": true, - "name": "TargetHaloRadius" - } - ], - "sharedPropertyDescriptors": [] - } - ], - "eventsBasedObjects": [] - }, - { - "author": "", - "category": "User interface", - "extensionNamespace": "", - "fullName": "Panel sprite button", - "gdevelopVersion": ">=5.5.230", - "helpPath": "/objects/button", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI5LDIzSDNjLTEuMSwwLTItMC45LTItMlYxMWMwLTEuMSwwLjktMiwyLTJoMjZjMS4xLDAsMiwwLjksMiwydjEwQzMxLDIyLjEsMzAuMSwyMywyOSwyM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMywxOUwxMywxOWMtMS4xLDAtMi0wLjktMi0ydi0yYzAtMS4xLDAuOS0yLDItMmgwYzEuMSwwLDIsMC45LDIsMnYyQzE1LDE4LjEsMTQuMSwxOSwxMywxOXoiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIxOCIgeTE9IjEzIiB4Mj0iMTgiIHkyPSIxOSIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjIxIiB5MT0iMTMiIHgyPSIxOCIgeTI9IjE3Ii8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMjEiIHkxPSIxOSIgeDI9IjE5IiB5Mj0iMTYiLz4NCjwvc3ZnPg0K", - "name": "PanelSpriteButton", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Interface Elements/Interface Elements_interface_ui_button_ok_cta_clock_tap.svg", - "shortDescription": "A button that can be customized.", - "version": "2.1.1", - "description": [ - "A button that can be used for menus and most labelled buttons of a game. The button can be customized with a background for each state and a label. It handles user interactions and a simple condition can be used to check if it is clicked.", - "", - "There are ready-to-use buttons in the asset-store [menu buttons pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=menu-buttons-menu-buttons)." - ], - "origin": { - "identifier": "PanelSpriteButton", - "name": "gdevelop-extension-store" - }, - "tags": [ - "button", - "ui" - ], - "authorIds": [ - "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" - ], - "changelog": [ - { - "version": "2.0.0", - "breaking": "- Buttons now use \"variants\", allowing easy swapping of their visual aspect. You will have to make some adjustments to existing buttons in your project. Follow this [migration documentation](https://wiki.gdevelop.io/gdevelop5/objects/custom-objects-prefab-template/migrate-to-variants/) to do these changes." - } - ], - "dependencies": [], - "globalVariables": [], - "sceneVariables": [], - "eventsFunctions": [ - { - "description": "Check if the events are running for the editor.", - "fullName": "Editor is running", - "functionType": "Condition", - "name": "IsInGameEdition", - "private": true, - "sentence": "Events are running for the editor", - "events": [ - { - "type": "BuiltinCommonInstructions::JsCode", - "inlineCode": [ - "const game = runtimeScene.getGame();\r", - "eventsFunctionContext.returnValue = game.isInGameEdition && game.isInGameEdition();" - ], - "parameterObjects": "", - "useStrict": true, - "eventsSheetExpanded": false - } - ], - "parameters": [], - "objectGroups": [] - } - ], - "eventsBasedBehaviors": [ - { - "description": "The finite state machine used internally by the button object.", - "fullName": "Button finite state machine", - "name": "ButtonFSM", - "objectType": "", - "private": true, - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "PanelSpriteButton::IsInGameEdition" - }, - "parameters": [ - "", - "" - ] - } - ], - "actions": [], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Finite state machine", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "The \"Validated\" state only last one frame." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Validated\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"Idle\"" - ] - } - ] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Check position", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure the cursor position is only checked once per frame." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "MouseIsInside", - "False", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "ShouldCheckHovering", - "True", - "" - ] - }, - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "Object", - "MouseOnlyCursorX(Object.Layer(), 0)", - "MouseOnlyCursorY(Object.Layer(), 0)" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "MouseIsInside", - "True", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Touches are always pressed, so ShouldCheckHovering doesn't matter." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "TouchIsInside", - "False", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "TouchId", - "!=", - "0" - ] - }, - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "Object", - "TouchX(TouchId, Object.Layer(), 0)", - "TouchY(TouchId, Object.Layer(), 0)" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "TouchIsInside", - "True", - "" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Handle touch start", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "HasAnyTouchOrMouseStarted" - }, - "parameters": [ - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Index", - "=", - "0" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Repeat", - "repeatExpression": "StartedTouchOrMouseCount()", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "Object", - "TouchX(StartedTouchOrMouseId(Index), Object.Layer(), 0)", - "TouchY(StartedTouchOrMouseId(Index), Object.Layer(), 0)" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "TouchId", - "=", - "StartedTouchOrMouseId(Index)" - ] - }, - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "TouchIsInside", - "True", - "" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"Hovered\"" - ] - }, - { - "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"Idle\"" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedInside\"" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Index", - "+", - "1" - ] - } - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Apply position changes", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "BooleanVariable" - }, - "parameters": [ - "MouseIsInside", - "True", - "" - ] - }, - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Hovered\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"Idle\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "MouseIsInside", - "True", - "" - ] - }, - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Idle\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"Hovered\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "BooleanVariable" - }, - "parameters": [ - "TouchIsInside", - "True", - "" - ] - }, - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedInside\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedOutside\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "TouchIsInside", - "True", - "" - ] - }, - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedOutside\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedInside\"" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Handle touch end", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "HasTouchEnded" - }, - "parameters": [ - "", - "TouchId" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "TouchId", - "=", - "0" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedInside\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"Validated\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedInside\"" - ] - }, - { - "type": { - "inverted": true, - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Validated\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"Idle\"" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteButton::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "onDeActivate", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PanelSpriteButton::ButtonFSM::ResetState" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteButton::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Reset the state of the button.", - "fullName": "Reset state", - "functionType": "Action", - "name": "ResetState", - "private": true, - "sentence": "Reset the button state of _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"Idle\"" - ] - }, - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "TouchId", - "=", - "0" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteButton::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button is not used.", - "fullName": "Is idle", - "functionType": "Condition", - "name": "IsIdle", - "sentence": "_PARAM0_ is idle", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Idle\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteButton::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button was just clicked.", - "fullName": "Is clicked", - "functionType": "Condition", - "name": "IsClicked", - "sentence": "_PARAM0_ is clicked", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Validated\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteButton::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the cursor is hovered over the button.", - "fullName": "Is hovered", - "functionType": "Condition", - "name": "IsHovered", - "sentence": "_PARAM0_ is hovered", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Hovered\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteButton::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button is either hovered or pressed but not hovered.", - "fullName": "Is focused", - "functionType": "Condition", - "name": "IsFocused", - "sentence": "_PARAM0_ is focused", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Hovered\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedOutside\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteButton::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button is currently being pressed with mouse or touch.", - "fullName": "Is pressed", - "functionType": "Condition", - "name": "IsPressed", - "sentence": "_PARAM0_ is pressed", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedInside\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteButton::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button is currently being pressed outside with mouse or touch.", - "fullName": "Is held outside", - "functionType": "Condition", - "name": "IsPressedOutside", - "sentence": "_PARAM0_ is held outside", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedOutside\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteButton::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the touch id that is using the button or 0 if none.", - "fullName": "Touch id", - "functionType": "ExpressionAndCondition", - "name": "TouchId", - "sentence": "the touch id", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "TouchId" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteButton::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "true", - "type": "Boolean", - "label": "", - "description": "Should check hovering", - "hidden": true, - "name": "ShouldCheckHovering" - }, - { - "value": "Idle", - "type": "Choice", - "label": "State", - "choices": [ - { - "label": "Idle", - "value": "Idle" - }, - { - "label": "Hovered", - "value": "Hovered" - }, - { - "label": "PressedInside", - "value": "PressedInside" - }, - { - "label": "PressedOutside", - "value": "PressedOutside" - }, - { - "label": "Validated", - "value": "Validated" - } - ], - "hidden": true, - "name": "State" - }, - { - "value": "0", - "type": "Number", - "label": "Touch id", - "hidden": true, - "name": "TouchId" - }, - { - "value": "", - "type": "Boolean", - "label": "Touch is inside", - "hidden": true, - "name": "TouchIsInside" - }, - { - "value": "", - "type": "Boolean", - "label": "Mouse is inside", - "hidden": true, - "name": "MouseIsInside" - }, - { - "value": "", - "type": "Number", - "label": "", - "hidden": true, - "name": "Index" - } - ], - "sharedPropertyDescriptors": [] - } - ], - "eventsBasedObjects": [ - { - "areaMaxX": 256, - "areaMaxY": 64, - "areaMaxZ": 64, - "areaMinX": 0, - "areaMinY": 0, - "areaMinZ": 0, - "defaultName": "Button", - "description": "A button that can be customized.", - "fullName": "Button (panel sprite)", - "isInnerAreaFollowingParentSize": true, - "isUsingLegacyInstancesRenderer": false, - "name": "PanelSpriteButton", - "objects": [ - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "Label", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 4, - "topEdgeAnchor": 4, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "useLegacyBottomAndRightAnchors": false - } - ], - "string": "Text", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Text", - "font": "", - "textAlignment": "center", - "verticalTextAlignment": "center", - "characterSize": 20, - "lineHeight": 0, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Idle", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [ - { - "folded": true, - "name": "State", - "type": "string", - "value": "Idle" - } - ], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 1, - "useLegacyBottomAndRightAnchors": false - }, - { - "name": "ButtonFSM", - "type": "PanelSpriteButton::ButtonFSM", - "ShouldCheckHovering": true - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Hovered", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 1, - "useLegacyBottomAndRightAnchors": false - }, - { - "name": "Tween", - "type": "Tween::TweenBehavior" - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Pressed", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 1, - "useLegacyBottomAndRightAnchors": false - } - ] - }, - { - "assetStoreId": "", - "name": "BitmapLabel", - "type": "BitmapText::BitmapTextObject", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 4, - "topEdgeAnchor": 4, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "useLegacyBottomAndRightAnchors": false - } - ], - "content": { - "text": "Text", - "opacity": 255, - "scale": 1, - "fontSize": 20, - "tint": "255;255;255", - "bitmapFontResourceName": "", - "textureAtlasResourceName": "", - "align": "center", - "verticalTextAlignment": "center" - } - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Label" - }, - { - "objectName": "BitmapLabel" - }, - { - "objectName": "Idle" - }, - { - "objectName": "Hovered" - }, - { - "objectName": "Pressed" - } - ] - }, - "objectsGroups": [ - { - "name": "Background", - "objects": [ - { - "name": "Idle" - }, - { - "name": "Hovered" - }, - { - "name": "Pressed" - } - ] - }, - { - "name": "Labels", - "objects": [ - { - "name": "Label" - }, - { - "name": "BitmapLabel" - } - ] - } - ], - "layers": [ - { - "ambientLightColorB": 200, - "ambientLightColorG": 200, - "ambientLightColorR": 200, - "camera2DPlaneMaxDrawingDistance": 5000, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 3, - "cameraType": "", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "instances": [ - { - "angle": 0, - "customSize": true, - "depth": 1, - "height": 64, - "layer": "", - "name": "Idle", - "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", - "width": 256, - "x": 0, - "y": 0, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "depth": 1, - "height": 64, - "layer": "", - "name": "Label", - "persistentUuid": "3b29c95c-5363-4e25-bf47-eecf13e8a226", - "width": 256, - "x": 0, - "y": 32, - "zOrder": 2, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - } - ], - "editionSettings": [], - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "onCreated", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Create one background instance for of each state.\nOnly the instance for the current state is shown." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Hovered", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Pressed", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "ResizableCapability::ResizableBehavior::SetSize" - }, - "parameters": [ - "Hovered", - "Resizable", - "Idle.Width()", - "Idle.Height()" - ] - }, - { - "type": { - "value": "ResizableCapability::ResizableBehavior::SetSize" - }, - "parameters": [ - "Pressed", - "Resizable", - "Idle.Width()", - "Idle.Height()" - ] - }, - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Hovered" - ] - }, - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Pressed" - ] - }, - { - "type": { - "value": "SetZOrder" - }, - "parameters": [ - "Hovered", - "=", - "1" - ] - }, - { - "type": { - "value": "SetZOrder" - }, - "parameters": [ - "Pressed", - "=", - "1" - ] - }, - { - "type": { - "value": "TextContainerCapability::TextContainerBehavior::SetValue" - }, - "parameters": [ - "Labels", - "Text", - "=", - "LabelText" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [ - { - "name": "Background", - "objects": [ - { - "name": "Idle" - }, - { - "name": "Hovered" - }, - { - "name": "Pressed" - } - ] - } - ] - }, - { - "fullName": "", - "functionType": "Action", - "name": "onHotReloading", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::IsPressed" - }, - "parameters": [ - "Object", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::SetLabelOffset" - }, - "parameters": [ - "Object", - "=", - "PressedLabelOffsetY", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "TextContainerCapability::TextContainerBehavior::SetValue" - }, - "parameters": [ - "Labels", - "Text", - "=", - "LabelText" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Apply states", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Show the right background accordingly to the new state." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::IsIdle" - }, - "parameters": [ - "Object", - "ButtonFSM" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::SetLabelOffset" - }, - "parameters": [ - "Object", - "=", - "0", - "" - ] - }, - { - "type": { - "value": "Show" - }, - "parameters": [ - "Idle", - "" - ] - }, - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Pressed" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Visible" - }, - "parameters": [ - "Hovered" - ] - }, - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "HoveredFadeOutDuration", - ">", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "Tween::TweenBehavior::AddObjectOpacityTween2" - }, - "parameters": [ - "Hovered", - "Tween", - "\"Fadeout\"", - "0", - "\"linear\"", - "HoveredFadeOutDuration", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "HoveredFadeOutDuration", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Hovered" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "OpacityCapability::OpacityBehavior::Value" - }, - "parameters": [ - "Hovered", - "Opacity", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Hovered" - ] - }, - { - "type": { - "value": "OpacityCapability::OpacityBehavior::SetValue" - }, - "parameters": [ - "Hovered", - "Opacity", - "=", - "255" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::IsHovered" - }, - "parameters": [ - "Object", - "ButtonFSM" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::SetLabelOffset" - }, - "parameters": [ - "Object", - "=", - "0", - "" - ] - }, - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Idle" - ] - }, - { - "type": { - "value": "Show" - }, - "parameters": [ - "Hovered", - "" - ] - }, - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Pressed" - ] - }, - { - "type": { - "value": "Tween::RemoveTween" - }, - "parameters": [ - "Hovered", - "Tween", - "\"Fadeout\"" - ] - }, - { - "type": { - "value": "OpacityCapability::OpacityBehavior::SetValue" - }, - "parameters": [ - "Hovered", - "Opacity", - "=", - "255" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::IsPressed" - }, - "parameters": [ - "Object", - "ButtonFSM" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::SetLabelOffset" - }, - "parameters": [ - "Object", - "=", - "PressedLabelOffsetY", - "" - ] - }, - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Idle" - ] - }, - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Hovered" - ] - }, - { - "type": { - "value": "Show" - }, - "parameters": [ - "Pressed", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::IsFocused" - }, - "parameters": [ - "Object", - "ButtonFSM" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::SetLabelOffset" - }, - "parameters": [ - "Object", - "=", - "0", - "" - ] - }, - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Idle" - ] - }, - { - "type": { - "value": "Show" - }, - "parameters": [ - "Hovered", - "" - ] - }, - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Pressed" - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button is not used.", - "fullName": "Is idle", - "functionType": "Condition", - "name": "IsIdle", - "sentence": "_PARAM0_ is idle", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::ButtonFSM::IsIdle" - }, - "parameters": [ - "Idle", - "ButtonFSM", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button was just clicked.", - "fullName": "Is clicked", - "functionType": "Condition", - "name": "IsClicked", - "sentence": "_PARAM0_ is clicked", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::ButtonFSM::IsClicked" - }, - "parameters": [ - "Idle", - "ButtonFSM", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the cursor is hovered over the button.", - "fullName": "Is hovered", - "functionType": "Condition", - "name": "IsHovered", - "sentence": "_PARAM0_ is hovered", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::ButtonFSM::IsHovered" - }, - "parameters": [ - "Idle", - "ButtonFSM", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button is either hovered or pressed but not hovered.", - "fullName": "Is focused", - "functionType": "Condition", - "name": "IsFocused", - "sentence": "_PARAM0_ is focused", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::ButtonFSM::IsFocused" - }, - "parameters": [ - "Idle", - "ButtonFSM", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button is currently being pressed with mouse or touch.", - "fullName": "Is pressed", - "functionType": "Condition", - "name": "IsPressed", - "sentence": "_PARAM0_ is pressed", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::ButtonFSM::IsPressed" - }, - "parameters": [ - "Idle", - "ButtonFSM", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "Change the text of the button label.", - "fullName": "Label text", - "functionType": "Action", - "name": "SetLabelText", - "private": true, - "sentence": "Change the text of _PARAM0_ to _PARAM1_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "TextContainerCapability::TextContainerBehavior::SetValue" - }, - "parameters": [ - "Labels", - "Text", - "=", - "Value" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - }, - { - "description": "Text", - "name": "Value", - "type": "string" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "LabelText", - "name": "SetLabelTextOp", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "TextContainerCapability::TextContainerBehavior::SetValue" - }, - "parameters": [ - "Labels", - "Text", - "=", - "Value" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "the label text.", - "fullName": "Label text", - "functionType": "ExpressionAndCondition", - "name": "LabelText", - "sentence": "the label text", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnString" - }, - "parameters": [ - "Labels.Text::Value()" - ] - } - ] - } - ], - "expressionType": { - "type": "string" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "De/activate interactions with the button.", - "fullName": "De/activate interactions", - "functionType": "Action", - "name": "Activate", - "sentence": "Activate interactions with _PARAM0_: _PARAM1_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "ShouldActivate", - "True", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "Idle", - "ButtonFSM", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "BooleanVariable" - }, - "parameters": [ - "ShouldActivate", - "True", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "Idle", - "ButtonFSM", - "no" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - }, - { - "description": "Activate", - "name": "ShouldActivate", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "Check if interactions are activated on the button.", - "fullName": "Interactions activated", - "functionType": "Condition", - "name": "IsActivated", - "sentence": "Interactions on _PARAM0_ are activated", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BehaviorActivated" - }, - "parameters": [ - "Idle", - "ButtonFSM" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "the labelOffset of the object.", - "fullName": "LabelOffset", - "functionType": "ExpressionAndCondition", - "name": "LabelOffset", - "private": true, - "sentence": "the labelOffset", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "LabelOffset" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "LabelOffset", - "name": "SetLabelOffset", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetCenterY" - }, - "parameters": [ - "Labels", - "+", - "Value - LabelOffset" - ] - }, - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "LabelOffset", - "=", - "Value" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", - "type": "object" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "", - "type": "MultilineString", - "label": "Label", - "name": "LabelText" - }, - { - "value": "0.25", - "type": "Number", - "unit": "Second", - "label": "Hovered fade out duration", - "group": "States", - "name": "HoveredFadeOutDuration" - }, - { - "value": "0", - "type": "Number", - "unit": "Pixel", - "label": "Label offset on Y axis when pressed", - "group": "States", - "name": "PressedLabelOffsetY" - }, - { - "value": "0", - "type": "Number", - "unit": "Pixel", - "label": "", - "hidden": true, - "name": "LabelOffset" - }, - { - "value": "", - "type": "Choice", - "label": "", - "choices": [ - { - "label": "Label.Text=LabelText", - "value": "Label.Text=LabelText" - }, - { - "label": "BitmapLabel.Text=LabelText", - "value": "BitmapLabel.Text=LabelText" - } - ], - "hidden": true, - "name": "_PropertyMapping" - } - ], - "variants": [ - { - "areaMaxX": 348, - "areaMaxY": 102, - "areaMaxZ": 64, - "areaMinX": 0, - "areaMinY": 0, - "areaMinZ": 0, - "name": "Green Button With Stone Frame 2", - "objects": [ - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "Label", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 1, - "useLegacyBottomAndRightAnchors": false - } - ], - "string": "Button", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "characterSize": 40, - "color": { - "b": 255, - "g": 255, - "r": 255 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Button", - "font": "LakkiReddy-Regular.ttf", - "textAlignment": "center", - "verticalTextAlignment": "center", - "characterSize": 40, - "lineHeight": 0, - "color": "255;255;255" - } - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 102, - "leftMargin": 0, - "name": "Idle", - "rightMargin": 0, - "texture": "Green Button With Stone Frame_Idle.png", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 348, - "variables": [ - { - "folded": true, - "name": "State", - "type": "string", - "value": "Idle" - } - ], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 1, - "useLegacyBottomAndRightAnchors": false - }, - { - "name": "ButtonFSM", - "type": "PanelSpriteButton::ButtonFSM", - "serializedBehavior": { - "name": "ButtonFSM", - "type": "PanelSpriteButton::ButtonFSM", - "ShouldCheckHovering": true - } - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 102, - "leftMargin": 0, - "name": "Hovered", - "rightMargin": 0, - "texture": "Green Button With Stone Frame_Hovered.png", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 348, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 1, - "useLegacyBottomAndRightAnchors": false - }, - { - "name": "Tween", - "type": "Tween::TweenBehavior", - "serializedBehavior": { - "name": "Tween", - "type": "Tween::TweenBehavior" - } - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 102, - "leftMargin": 0, - "name": "Pressed", - "rightMargin": 0, - "texture": "Green Button With Stone Frame_Pressed.png", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 348, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 1, - "useLegacyBottomAndRightAnchors": false - } - ] - }, - { - "assetStoreId": "", - "name": "BitmapLabel", - "type": "BitmapText::BitmapTextObject", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 4, - "topEdgeAnchor": 4, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "useLegacyBottomAndRightAnchors": false - } - ], - "content": { - "text": "Text", - "opacity": 255, - "scale": 1, - "fontSize": 20, - "tint": "255;255;255", - "bitmapFontResourceName": "", - "textureAtlasResourceName": "", - "align": "center", - "verticalTextAlignment": "center" - } - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Label" - }, - { - "objectName": "Idle" - }, - { - "objectName": "Hovered" - }, - { - "objectName": "Pressed" - }, - { - "objectName": "BitmapLabel" - } - ] - }, - "objectsGroups": [ - { - "name": "Background", - "objects": [ - { - "name": "Idle" - }, - { - "name": "Hovered" - }, - { - "name": "Pressed" - } - ] - }, - { - "name": "Labels", - "objects": [ - { - "name": "Label" - }, - { - "name": "BitmapLabel" - } - ] - } - ], - "layers": [ - { - "ambientLightColorB": 200, - "ambientLightColorG": 200, - "ambientLightColorR": 200, - "camera2DPlaneMaxDrawingDistance": 5000, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 3, - "cameraType": "", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "instances": [ - { - "angle": 0, - "customSize": false, - "depth": 1, - "height": 64, - "layer": "", - "name": "Idle", - "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", - "width": 64, - "x": 0, - "y": 0, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "depth": 1, - "height": 61, - "keepRatio": true, - "layer": "", - "name": "Label", - "persistentUuid": "f8a927cc-1139-440f-8a4e-bc8e56e322bf", - "width": 283, - "x": 32, - "y": 52, - "zOrder": 2, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - } - ], - "editionSettings": { - "grid": false, - "gridType": "rectangular", - "gridWidth": 32, - "gridHeight": 32, - "gridDepth": 32, - "gridOffsetX": 0, - "gridOffsetY": 0, - "gridOffsetZ": 0, - "gridColor": 10401023, - "gridAlpha": 0.8, - "snap": false, - "zoomFactor": 2.0114942528735633, - "windowMask": false, - "selectedLayer": "" - } - } - ] - } - ] - }, - { - "author": "", - "category": "User interface", - "extensionNamespace": "", - "fullName": "Slider", - "gdevelopVersion": ">=5.5.230", - "helpPath": "/objects/slider", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSI3IiByPSIzIi8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMyIgeTE9IjciIHgyPSIyMCIgeTI9IjciLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjciIHgyPSIyNiIgeTI9IjciLz4NCjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjEyIiBjeT0iMTYiIHI9IjMiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIzIiB5MT0iMTYiIHgyPSI5IiB5Mj0iMTYiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjE2IiB4Mj0iMTUiIHkyPSIxNiIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSIyNSIgcj0iMyIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjMiIHkxPSIyNSIgeDI9IjIwIiB5Mj0iMjUiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjI1IiB4Mj0iMjYiIHkyPSIyNSIvPg0KPC9zdmc+DQo=", - "name": "PanelSpriteSlider", - "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/Line Hero Pack/Master/SVG/UI Essentials/1678c39a3b2bd3df4f82a8a293770db4986a6bcfd3f78e738ddfc86e39176423_UI Essentials_sliders_options.svg", - "shortDescription": "A draggable slider that users can move to select a numerical value.", - "version": "2.0.1", - "description": [ - "A draggable slider that users can move to select a numerical value. The slider can be customized with sprites.", - "", - "There are ready-to-use sliders in the asset-store [settings UI pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=settings-ui-settings-ui)." - ], - "origin": { - "identifier": "PanelSpriteSlider", - "name": "gdevelop-extension-store" - }, - "tags": [ - "draggable", - "slider", - "ui", - "widget" - ], - "authorIds": [ - "IWykYNRvhCZBN3vEgKEbBPOR3Oc2", - "gqDaZjCfevOOxBYkK6zlhtZnXCg1" - ], - "changelog": [ - { - "version": "2.0.0", - "breaking": "- Sliders now use \"variants\", allowing easy swapping of their visual aspect. You will have to make some adjustments to existing sliders in your project. Follow this [migration documentation](https://wiki.gdevelop.io/gdevelop5/objects/custom-objects-prefab-template/migrate-to-variants/) to do these changes." - } - ], - "dependencies": [], - "globalVariables": [], - "sceneVariables": [], - "eventsFunctions": [ - { - "description": "Check if the events are running for the editor.", - "fullName": "Editor is running", - "functionType": "Condition", - "name": "IsInGameEdition", - "private": true, - "sentence": "Events are running for the editor", - "events": [ - { - "type": "BuiltinCommonInstructions::JsCode", - "inlineCode": [ - "const game = runtimeScene.getGame();\r", - "eventsFunctionContext.returnValue = game.isInGameEdition && game.isInGameEdition();" - ], - "parameterObjects": "", - "useStrict": true, - "eventsSheetExpanded": false - } - ], - "parameters": [], - "objectGroups": [] - } - ], - "eventsBasedBehaviors": [ - { - "description": "Represent a value on a slider.", - "fullName": "Slider", - "name": "Slider", - "objectType": "", - "private": true, - "eventsFunctions": [ - { - "description": "the value of the object.", - "fullName": "Value", - "functionType": "ExpressionAndCondition", - "name": "Value", - "sentence": "the value", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "CurrentValue" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "Value", - "name": "SetValue", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "StepSize", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "CurrentValue", - "=", - "clamp(Value, MinValue, MaxValue)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "StepSize", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "CurrentValue", - "=", - "clamp(round(Value / StepSize) * StepSize, MinValue, MaxValue)" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the minimum value of the object.", - "fullName": "Minimum value", - "functionType": "ExpressionAndCondition", - "group": "Resource bar configuration", - "name": "MinValue", - "sentence": "the minimum value", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "MinValue" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "MinValue", - "name": "SetMinValue", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "MinValue", - "=", - "Value" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::Slider::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::Value()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the maximum value of the object.", - "fullName": "Maximum value", - "functionType": "ExpressionAndCondition", - "group": "Resource bar configuration", - "name": "MaxValue", - "sentence": "the maximum value", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "MaxValue" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "MaxValue", - "name": "SetMaxValue", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "MaxValue", - "=", - "Value" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::Slider::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::Value()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the bar value bounds size.", - "fullName": "Size", - "functionType": "ExpressionAndCondition", - "name": "Size", - "sentence": "the bar value bounds size", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::MaxValue() - Object.Behavior::MinValue()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the step size of the object.", - "fullName": "Step size", - "functionType": "ExpressionAndCondition", - "group": "Resource bar configuration", - "name": "StepSize", - "sentence": "the step size", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "StepSize" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "StepSize", - "name": "SetStepSize", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "StepSize", - "=", - "Value" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::Slider::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::Value()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "0", - "type": "Number", - "label": "Value", - "name": "CurrentValue" - }, - { - "value": "0", - "type": "Number", - "label": "Minimum value", - "name": "MinValue" - }, - { - "value": "1", - "type": "Number", - "label": "Maximum value", - "name": "MaxValue" - }, - { - "value": "0", - "type": "Number", - "label": "Step size", - "name": "StepSize" - } - ], - "sharedPropertyDescriptors": [] - }, - { - "description": "The finite state machine used internally by the button object.", - "fullName": "Button finite state machine", - "name": "ButtonFSM", - "objectType": "", - "private": true, - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "PanelSpriteSlider::IsInGameEdition" - }, - "parameters": [ - "", - "" - ] - } - ], - "actions": [], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Finite state machine", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "The \"Validated\" state only last one frame." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Validated\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"Idle\"" - ] - } - ] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Check position", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure the cursor position is only checked once per frame." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "MouseIsInside", - "False", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "ShouldCheckHovering", - "True", - "" - ] - }, - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "Object", - "MouseOnlyCursorX(Object.Layer(), 0)", - "MouseOnlyCursorY(Object.Layer(), 0)" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "MouseIsInside", - "True", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Touches are always pressed, so ShouldCheckHovering doesn't matter." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "TouchIsInside", - "False", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "TouchId", - "!=", - "0" - ] - }, - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "Object", - "TouchX(TouchId, Object.Layer(), 0)", - "TouchY(TouchId, Object.Layer(), 0)" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "TouchIsInside", - "True", - "" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Handle touch start", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "HasAnyTouchOrMouseStarted" - }, - "parameters": [ - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Index", - "=", - "0" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Repeat", - "repeatExpression": "StartedTouchOrMouseCount()", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "Object", - "TouchX(StartedTouchOrMouseId(Index), Object.Layer(), 0)", - "TouchY(StartedTouchOrMouseId(Index), Object.Layer(), 0)" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "TouchId", - "=", - "StartedTouchOrMouseId(Index)" - ] - }, - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "TouchIsInside", - "True", - "" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"Hovered\"" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"Idle\"" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedInside\"" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Index", - "+", - "1" - ] - } - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Apply position changes", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "BooleanVariable" - }, - "parameters": [ - "MouseIsInside", - "True", - "" - ] - }, - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Hovered\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"Idle\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "MouseIsInside", - "True", - "" - ] - }, - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Idle\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"Hovered\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "BooleanVariable" - }, - "parameters": [ - "TouchIsInside", - "True", - "" - ] - }, - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedInside\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedOutside\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "TouchIsInside", - "True", - "" - ] - }, - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedOutside\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedInside\"" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Handle touch end", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "HasTouchEnded" - }, - "parameters": [ - "", - "TouchId" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "TouchId", - "=", - "0" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedInside\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"Validated\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedInside\"" - ] - }, - { - "type": { - "inverted": true, - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Validated\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"Idle\"" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "onDeActivate", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "State", - "=", - "\"Idle\"" - ] - }, - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "TouchId", - "=", - "0" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button is not used.", - "fullName": "Is idle", - "functionType": "Condition", - "name": "IsIdle", - "sentence": "_PARAM0_ is idle", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Idle\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button was just clicked.", - "fullName": "Is clicked", - "functionType": "Condition", - "name": "IsClicked", - "sentence": "_PARAM0_ is clicked", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Validated\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the cursor is hovered over the button.", - "fullName": "Is hovered", - "functionType": "Condition", - "name": "IsHovered", - "sentence": "_PARAM0_ is hovered", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Hovered\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button is either hovered or pressed but not hovered.", - "fullName": "Is focused", - "functionType": "Condition", - "name": "IsFocused", - "sentence": "_PARAM0_ is focused", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"Hovered\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedOutside\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button is currently being pressed with mouse or touch.", - "fullName": "Is pressed", - "functionType": "Condition", - "name": "IsPressed", - "sentence": "_PARAM0_ is pressed", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedInside\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button is currently being pressed outside with mouse or touch.", - "fullName": "Is held outside", - "functionType": "Condition", - "name": "IsPressedOutside", - "sentence": "_PARAM0_ is held outside", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "State", - "=", - "\"PressedOutside\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the touch id that is using the button or 0 if none.", - "fullName": "Touch id", - "functionType": "ExpressionAndCondition", - "name": "TouchId", - "sentence": "the touch id", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "TouchId" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "true", - "type": "Boolean", - "label": "", - "description": "Should check hovering", - "hidden": true, - "name": "ShouldCheckHovering" - }, - { - "value": "Idle", - "type": "Choice", - "label": "State", - "choices": [ - { - "label": "Idle", - "value": "Idle" - }, - { - "label": "Hovered", - "value": "Hovered" - }, - { - "label": "PressedInside", - "value": "PressedInside" - }, - { - "label": "PressedOutside", - "value": "PressedOutside" - }, - { - "label": "Validated", - "value": "Validated" - } - ], - "hidden": true, - "name": "State" - }, - { - "value": "0", - "type": "Number", - "label": "Touch id", - "hidden": true, - "name": "TouchId" - }, - { - "value": "", - "type": "Boolean", - "label": "Touch is inside", - "hidden": true, - "name": "TouchIsInside" - }, - { - "value": "", - "type": "Boolean", - "label": "Mouse is inside", - "hidden": true, - "name": "MouseIsInside" - }, - { - "value": "", - "type": "Number", - "label": "", - "hidden": true, - "name": "Index" - } - ], - "sharedPropertyDescriptors": [] - } - ], - "eventsBasedObjects": [ - { - "areaMaxX": 256, - "areaMaxY": 64, - "areaMaxZ": 64, - "areaMinX": 0, - "areaMinY": 0, - "areaMinZ": 0, - "defaultName": "Slider", - "description": "Let users select a numerical value by dragging a slider.", - "fullName": "Slider", - "isInnerAreaFollowingParentSize": true, - "isUsingLegacyInstancesRenderer": false, - "name": "PanelSpriteSlider", - "objects": [ - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "Label", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "It displays the value when it changes.", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "It displays the value when it changes.", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "lineHeight": 0, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Thumb", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 4, - "leftEdgeAnchor": 0, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 4, - "useLegacyBottomAndRightAnchors": false - }, - { - "name": "Draggable", - "type": "DraggableBehavior::Draggable", - "checkCollisionMask": false - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "FillBar", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "topEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "useLegacyBottomAndRightAnchors": false - }, - { - "name": "Slider", - "type": "PanelSpriteSlider::Slider", - "Value": 0, - "MinValue": 0, - "MaxValue": 1, - "StepSize": 1 - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Background", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "topEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "useLegacyBottomAndRightAnchors": false - }, - { - "name": "ButtonFSM", - "type": "PanelSpriteSlider::ButtonFSM", - "ShouldCheckHovering": true, - "State": "Idle", - "TouchId": 0, - "TouchIsInside": false, - "MouseIsInside": false, - "Index": 0 - } - ] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Label" - }, - { - "objectName": "Thumb" - }, - { - "objectName": "FillBar" - }, - { - "objectName": "Background" - } - ] - }, - "objectsGroups": [], - "layers": [ - { - "ambientLightColorB": 200, - "ambientLightColorG": 200, - "ambientLightColorR": 200, - "camera2DPlaneMaxDrawingDistance": 5000, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 3, - "cameraType": "", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "instances": [ - { - "angle": 0, - "customSize": true, - "depth": 0, - "height": 64, - "layer": "", - "name": "Background", - "persistentUuid": "7b36a716-8a01-496a-ad7d-0de60daff8f9", - "width": 256, - "x": 0, - "y": 0, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "depth": 1, - "height": 44, - "layer": "", - "name": "FillBar", - "persistentUuid": "e775f69e-7845-4103-8a05-5266aba60742", - "width": 236, - "x": 10, - "y": 10, - "zOrder": 2, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "depth": 1, - "height": 84, - "layer": "", - "name": "Thumb", - "persistentUuid": "476a27da-e34f-451f-b660-04a6bbefddbe", - "width": 32, - "x": 230, - "y": -10, - "zOrder": 3, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - } - ], - "editionSettings": [], - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "onCreated", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteSlider::IsInGameEdition" - }, - "parameters": [ - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "Thumb", - "Draggable", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Anchors won't work as there is an absolute margin and a proportional size at the same time" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "FillBar", - "Anchor", - "" - ] - }, - { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "Thumb", - "Anchor", - "" - ] - }, - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "BarLeftPlusRightMargin", - "=", - "Object.Width() - FillBar.Width()" - ] - }, - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "BarTopPlusBottomMargin", - "=", - "Object.Height() - FillBar.Height()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "This allows to detect a change of \"intial value\" on hot reload." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "PreviousInitialValue", - "=", - "InitialValue" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Create the label that is displayed over the thumb." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Label", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Label" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Pass the configuration to the behavior." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::UpdateSliderConfiguration" - }, - "parameters": [ - "Object", - "" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" - }, - "parameters": [ - "Object", - "=", - "InitialValue", - "Object.PropertyInitialValue()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetIncludedInParentCollisionMask" - }, - "parameters": [ - "Label", - "" - ] - }, - { - "type": { - "value": "SetIncludedInParentCollisionMask" - }, - "parameters": [ - "Thumb", - "" - ] - }, - { - "type": { - "value": "SetIncludedInParentCollisionMask" - }, - "parameters": [ - "FillBar", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "onHotReloading", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::UpdateSliderConfiguration" - }, - "parameters": [ - "Object", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "InitialValue", - "!=", - "PreviousInitialValue" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "PreviousInitialValue", - "=", - "InitialValue" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" - }, - "parameters": [ - "Object", - "=", - "InitialValue", - "Object.PropertyInitialValue()" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "OldParentWidth", - "!=", - "Object.Width()" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "OldParentWidth", - "=", - "Object.Width()" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::UpdateThumbPosition" - }, - "parameters": [ - "Object", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ResizableCapability::ResizableBehavior::SetHeight" - }, - "parameters": [ - "FillBar", - "Resizable", - "=", - "Object.Height() - BarTopPlusBottomMargin" - ] - }, - { - "type": { - "value": "SetCenterY" - }, - "parameters": [ - "Thumb", - "=", - "FillBar.CenterY()" - ] - }, - { - "type": { - "value": "SetY" - }, - "parameters": [ - "Label", - "=", - "Thumb.Y() - Label.Height() - LabelMargin" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "PanelSpriteSlider::IsInGameEdition" - }, - "parameters": [ - "", - "" - ] - } - ], - "actions": [], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Handle touches", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BehaviorActivated" - }, - "parameters": [ - "Background", - "ButtonFSM" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "Thumb", - "Draggable" - ] - }, - { - "type": { - "inverted": true, - "value": "DraggableBehavior::Dropped" - }, - "parameters": [ - "Thumb", - "Draggable" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "PanelSpriteSlider::ButtonFSM::IsPressed" - }, - "parameters": [ - "Background", - "ButtonFSM", - "" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::ButtonFSM::IsPressedOutside" - }, - "parameters": [ - "Background", - "ButtonFSM", - "" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" - }, - "parameters": [ - "Object", - "=", - "FillBar.Slider::MinValue() + FillBar.Slider::Size() * (TouchX(Background.ButtonFSM::TouchId(), Object.Layer()) - FillBar.X()) / Object.FullBarWidth()", - "FillBar.Slider::MinValue() + FillBar.Slider::Size() * (MouseX() - Object.FullBarLeft()) / Object.FullBarWidth()" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "ShowLabelAtChanges", - "True", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Show" - }, - "parameters": [ - "Label", - "" - ] - }, - { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Label", - "\"HideBack\"" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "Thumb", - "Draggable" - ] - } - ], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" - }, - "parameters": [ - "Object", - "=", - "FillBar.Slider::MinValue() + FillBar.Slider::Size() * (Thumb.CenterX() - FillBar.X()) / Object.FullBarWidth()", - "FillBar.Slider::MinValue() + FillBar.Slider::Size() * (Thumb.CenterX() - Object.FullBarLeft()) / Object.FullBarWidth()" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "ShowLabelAtChanges", - "True", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Show" - }, - "parameters": [ - "Label", - "" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableBehavior::Dropped" - }, - "parameters": [ - "Thumb", - "Draggable" - ] - } - ], - "actions": [ - { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Label", - "\"HideBack\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "ShowLabelAtChanges", - "True", - "" - ] - }, - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "Thumb", - "MouseOnlyCursorX(Object.Layer(), 0)", - "MouseOnlyCursorY(Thumb.Layer(), 0)" - ] - } - ], - "actions": [ - { - "type": { - "value": "Show" - }, - "parameters": [ - "Label", - "" - ] - }, - { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Label", - "\"HideBack\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CompareObjectTimer" - }, - "parameters": [ - "Label", - "\"HideBack\"", - ">", - "0.5" - ] - } - ], - "actions": [ - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Label" - ] - }, - { - "type": { - "value": "RemoveObjectTimer" - }, - "parameters": [ - "Label", - "\"HideBack\"" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the slider is being dragged.", - "fullName": "Being dragged", - "functionType": "Condition", - "group": "Slider", - "name": "IsBeingDragged", - "sentence": "_PARAM0_ is being dragged", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "Thumb", - "Draggable" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::ButtonFSM::IsPressed" - }, - "parameters": [ - "Background", - "ButtonFSM", - "" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::ButtonFSM::IsPressedOutside" - }, - "parameters": [ - "Background", - "ButtonFSM", - "" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "the value of the slider.", - "fullName": "Value", - "functionType": "ExpressionAndCondition", - "name": "Value", - "sentence": "the value", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "FillBar.Slider::Value()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "Value", - "name": "SetValue", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::Slider::SetValue" - }, - "parameters": [ - "FillBar", - "Slider", - "=", - "Value", - "" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::UpdateThumbPosition" - }, - "parameters": [ - "Object", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the minimum value of the slider.", - "fullName": "Minimum value", - "functionType": "ExpressionAndCondition", - "group": "Slider configuration", - "name": "MinValue", - "sentence": "the minimum value", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "FillBar.Slider::MinValue()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "MinValue", - "name": "SetMinValue", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::Slider::SetMinValue" - }, - "parameters": [ - "FillBar", - "Slider", - "=", - "Value", - "" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::UpdateThumbPosition" - }, - "parameters": [ - "Object", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the maximum value of the slider.", - "fullName": "Maximum value", - "functionType": "ExpressionAndCondition", - "group": "Slider configuration", - "name": "MaxValue", - "sentence": "the maximum value", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "FillBar.Slider::MaxValue()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "MaxValue", - "name": "SetMaxValue", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::Slider::SetMaxValue" - }, - "parameters": [ - "FillBar", - "Slider", - "=", - "Value", - "" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::UpdateThumbPosition" - }, - "parameters": [ - "Object", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the step size of the slider.", - "fullName": "Step size", - "functionType": "ExpressionAndCondition", - "group": "Slider configuration", - "name": "StepSize", - "sentence": "the step size", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "FillBar.Slider::StepSize()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "StepSize", - "name": "SetStepSize", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::Slider::SetStepSize" - }, - "parameters": [ - "FillBar", - "Slider", - "=", - "Value", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "PanelSpriteSlider::Slider", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the label is shown.", - "fullName": "Label is shown", - "functionType": "Condition", - "group": "Slider configuration", - "name": "IsLabelShown", - "sentence": "_PARAM0_ label is shown", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "ShowLabelAtChanges", - "True", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "Show (or hide) the label on the bar.", - "fullName": "Show label", - "functionType": "Action", - "group": "Slider configuration", - "name": "SetLabelShown", - "sentence": "Show the label of _PARAM0_: _PARAM1_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "BooleanVariable" - }, - "parameters": [ - "Value", - "True", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "ShowLabelAtChanges", - "False", - "" - ] - }, - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Label" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "Value", - "True", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "ShowLabelAtChanges", - "True", - "" - ] - }, - { - "type": { - "value": "Show" - }, - "parameters": [ - "Label", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - }, - { - "description": "Show the label", - "name": "Value", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "Update the thumb position according to the slider value.", - "fullName": "Update thumb position", - "functionType": "Action", - "name": "UpdateThumbPosition", - "private": true, - "sentence": "Update the thumb position of _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteSlider::Slider::Size" - }, - "parameters": [ - "FillBar", - "Slider", - ">", - "0", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ResizableCapability::ResizableBehavior::SetWidth" - }, - "parameters": [ - "FillBar", - "Resizable", - "=", - "Object.FullBarWidth() * (FillBar.Slider::Value() - FillBar.Slider::MinValue()) / FillBar.Slider::Size()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetCenterX" - }, - "parameters": [ - "Thumb", - "=", - "FillBar.X() + FillBar.Width()" - ] - }, - { - "type": { - "value": "SetCenterY" - }, - "parameters": [ - "Thumb", - "=", - "FillBar.CenterY()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "TextContainerCapability::TextContainerBehavior::SetValue" - }, - "parameters": [ - "Label", - "Text", - "=", - "ToString(Object.Value())" - ] - }, - { - "type": { - "value": "SetCenterX" - }, - "parameters": [ - "Label", - "=", - "Thumb.CenterX()" - ] - }, - { - "type": { - "value": "SetY" - }, - "parameters": [ - "Label", - "=", - "Thumb.Y() - Label.Height() - LabelMargin" - ] - }, - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Label", - "=", - "-Object.Angle()" - ] - } - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Expression", - "name": "FullBarWidth", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Width() - BarLeftPlusRightMargin" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "Update the slider configuration.", - "fullName": "Update slider configuration", - "functionType": "Action", - "name": "UpdateSliderConfiguration", - "private": true, - "sentence": "Update the slider configuration of _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Pass configuration to the behavior and update children." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetMinValue" - }, - "parameters": [ - "Object", - "=", - "MinValue", - "Object.PropertyMaxValue()" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetMaxValue" - }, - "parameters": [ - "Object", - "=", - "MaxValue", - "Object.PropertyMaxValue()" - ] - }, - { - "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetStepSize" - }, - "parameters": [ - "Object", - "=", - "StepSize", - "Object.PropertyMaxValue()" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "De/activate interactions with the button.", - "fullName": "De/activate interactions", - "functionType": "Action", - "name": "Activate", - "sentence": "Activate interactions with _PARAM0_: _PARAM1_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "ShouldActivate", - "True", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "Thumb", - "Draggable", - "yes" - ] - }, - { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "Background", - "ButtonFSM", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "BooleanVariable" - }, - "parameters": [ - "ShouldActivate", - "True", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "Thumb", - "Draggable", - "no" - ] - }, - { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "Background", - "ButtonFSM", - "no" - ] - }, - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Label" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - }, - { - "description": "Activate", - "name": "ShouldActivate", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the slider allows interactions.", - "fullName": "Interactions activated", - "functionType": "Condition", - "name": "IsActivated", - "sentence": "Interactions on _PARAM0_ are activated", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BehaviorActivated" - }, - "parameters": [ - "Background", - "ButtonFSM" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", - "type": "object" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "0", - "type": "Number", - "label": "Bar left margin", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar" - ], - "choices": [], - "hidden": true, - "name": "BarLeftPadding" - }, - { - "value": "0", - "type": "Number", - "label": "Bar top margin", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar" - ], - "choices": [], - "hidden": true, - "name": "BarTopPadding" - }, - { - "value": "0", - "type": "Number", - "label": "Bar right margin", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar" - ], - "choices": [], - "hidden": true, - "name": "BarRightPadding" - }, - { - "value": "0", - "type": "Number", - "label": "Bar bottom margin", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar" - ], - "choices": [], - "hidden": true, - "name": "BarBottomPadding" - }, - { - "value": "true", - "type": "Boolean", - "label": "Show the label when the value is changed", - "group": "Label", - "name": "ShowLabelAtChanges" - }, - { - "value": "8", - "type": "Number", - "unit": "Pixel", - "label": "Label margin", - "group": "Label", - "name": "LabelMargin" - }, - { - "value": "0", - "type": "Number", - "unit": "Dimensionless", - "label": "Minimum value", - "group": "Value", - "name": "MinValue" - }, - { - "value": "100", - "type": "Number", - "unit": "Dimensionless", - "label": "Maximum value", - "group": "Value", - "name": "MaxValue" - }, - { - "value": "1", - "type": "Number", - "unit": "Dimensionless", - "label": "Step size", - "group": "Value", - "name": "StepSize" - }, - { - "value": "50", - "type": "Number", - "unit": "Dimensionless", - "label": "Initial value", - "group": "Value", - "name": "InitialValue" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "It's used to detect a change at hot reload.", - "hidden": true, - "name": "PreviousInitialValue" - }, - { - "value": "Center-center", - "type": "String", - "label": "", - "description": "Only used by the scene editor.", - "extraInformation": [ - "Thumb" - ], - "choices": [], - "hidden": true, - "name": "ThumbAnchorOrigin" - }, - { - "value": "Center-right", - "type": "String", - "label": "", - "description": "Only used by the scene editor.", - "extraInformation": [ - "FillBar" - ], - "choices": [], - "hidden": true, - "name": "ThumbAnchorTarget" - }, - { - "value": "", - "type": "Boolean", - "label": "", - "description": "Only used by the scene editor.", - "extraInformation": [ - "Label" - ], - "choices": [], - "hidden": true, - "name": "ShowLabel" - }, - { - "value": "0", - "type": "Number", - "label": "", - "hidden": true, - "name": "BarLeftPlusRightMargin" - }, - { - "value": "0", - "type": "Number", - "label": "", - "hidden": true, - "name": "BarTopPlusBottomMargin" - }, - { - "value": "0", - "type": "Number", - "label": "", - "hidden": true, - "name": "OldParentWidth" - } - ], - "variants": [ - { - "areaMaxX": 583, - "areaMaxY": 63, - "areaMaxZ": 64, - "areaMinX": 0, - "areaMinY": 0, - "areaMinZ": 0, - "assetStoreAssetId": "05b0eb2d13ff37b70927d0184d4705e9c39c0b8fece7463127c4fe9eb65bb422", - "assetStoreOriginalName": "Small Plastic Green Round Slider", - "name": "Small Plastic Green Round Slider", - "objects": [ - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "Label", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "It displays the value when it changes.", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 221, - "g": 221, - "r": 221 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "It displays the value when it changes.", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "lineHeight": 0, - "color": "221;221;221" - } - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 59, - "leftMargin": 0, - "name": "Thumb", - "rightMargin": 0, - "texture": "Small Plastic Green Round Slider Thumb.png", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 63, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 4, - "leftEdgeAnchor": 0, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 4, - "useLegacyBottomAndRightAnchors": false - }, - { - "name": "Draggable", - "type": "DraggableBehavior::Draggable", - "checkCollisionMask": false - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 16, - "leftMargin": 0, - "name": "FillBar", - "rightMargin": 0, - "texture": "Transparent.png", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 16, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 1, - "useLegacyBottomAndRightAnchors": false - }, - { - "name": "Slider", - "type": "PanelSpriteSlider::Slider", - "Value": 0, - "MinValue": 0, - "MaxValue": 1, - "StepSize": 1 - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 31, - "height": 63, - "leftMargin": 31, - "name": "Background", - "rightMargin": 31, - "texture": "Small Plastic Green Round Slider Border.png", - "tiled": false, - "topMargin": 31, - "type": "PanelSpriteObject::PanelSprite", - "width": 583, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 1, - "useLegacyBottomAndRightAnchors": false - }, - { - "name": "ButtonFSM", - "type": "PanelSpriteSlider::ButtonFSM", - "ShouldCheckHovering": true, - "State": "Idle", - "TouchId": 0, - "TouchIsInside": false, - "MouseIsInside": false, - "Index": 0 - } - ] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Label" - }, - { - "objectName": "Thumb" - }, - { - "objectName": "FillBar" - }, - { - "objectName": "Background" - } - ] - }, - "objectsGroups": [], - "layers": [ - { - "ambientLightColorB": 200, - "ambientLightColorG": 200, - "ambientLightColorR": 200, - "camera2DPlaneMaxDrawingDistance": 5000, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 3, - "cameraType": "", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "instances": [ - { - "angle": 0, - "customSize": false, - "depth": 1, - "height": 64, - "layer": "", - "name": "Background", - "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", - "width": 64, - "x": 0, - "y": 0, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "keepRatio": true, - "layer": "", - "name": "Thumb", - "persistentUuid": "66c86c92-2307-478b-b235-9fd684f1b6dc", - "width": 0, - "x": 520, - "y": 2, - "zOrder": 2, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "depth": 0.9961685823754789, - "height": 16, - "layer": "", - "name": "FillBar", - "persistentUuid": "8ab1d9ff-14ee-4041-930f-b3792501b635", - "width": 520, - "x": 31, - "y": 23, - "zOrder": 3, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - } - ], - "editionSettings": [] - } - ] - } - ] - }, - { - "author": "VegeTato, Tristan Rhodes (https://victrisgames.itch.io/)", - "category": "Movement", - "extensionNamespace": "", - "fullName": "Make objects orbit around a center object", - "gdevelopVersion": "", - "helpPath": "", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBkPSJNMTYsOWMtMy45LDAtNywzLjEtNyw3czMuMSw3LDcsN3M3LTMuMSw3LTdTMTkuOSw5LDE2LDl6Ii8+DQoJPHBhdGggZD0iTTI3LjcsOC4zQzI3LjksNy45LDI4LDcuNSwyOCw3YzAtMS43LTEuMy0zLTMtM2MtMC41LDAtMC45LDAuMS0xLjMsMC4zQzIxLjQsMi44LDE4LjgsMiwxNiwyQzguMywyLDIsOC4zLDIsMTYNCgkJczYuMywxNCwxNCwxNHMxNC02LjMsMTQtMTRDMzAsMTMuMiwyOS4yLDEwLjYsMjcuNyw4LjN6IE0xNiwyOEM5LjQsMjgsNCwyMi42LDQsMTZTOS40LDQsMTYsNGMyLjIsMCw0LjQsMC42LDYuMywxLjgNCgkJQzIyLjEsNi4xLDIyLDYuNiwyMiw3YzAsMS43LDEuMywzLDMsM2MwLjQsMCwwLjktMC4xLDEuMi0wLjNjMS4yLDEuOSwxLjgsNCwxLjgsNi4zQzI4LDIyLjYsMjIuNiwyOCwxNiwyOHoiLz4NCjwvZz4NCjwvc3ZnPg0K", - "name": "OrbitingObjects", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Glyphster Pack/Master/SVG/Space/Space_earth_moon_orbit.svg", - "shortDescription": "Make objects orbit around a center object in a circular or elliptical shape.", - "version": "0.6.0", - "description": [ - "Run the actions on every frame to make the orbiting objects move.", - "The extension will automatically create/delete orbiting objects to match the quantity specified. ", - "Use the delete function or set the quantity to 0 to remove all orbiting objects.", - "", - "The *elliptical orbit* action can be used to create a 3D effect by changing the z-order of orbiting objects.", - "", - "The customizable parameters include:", - "- Center object", - "- Orbiting object (must be different than the Center object)", - "- Quantity of orbiting objects", - "- Distance from the center object", - "- Speed of the orbiting objects (in degrees per second). Use negative numbers to orbit counter-clockwise.", - "- Speed to rotate each orbiting object (in degrees per second). Use negative numbers to rotate counter-clockwise.", - "", - "Example uses:", - "- Make shield objects around the player to protect from enemies", - "- Weapons that can damage enemies when they collide", - "- A visual indicator of ammo quantity or health points", - "- Interesting animations of stacked objects that can function as a single entity ", - "- Visual cue for an active character power-up, such as invincibility" - ], - "origin": { - "identifier": "OrbitingObjects", - "name": "gdevelop-extension-store" - }, - "tags": [ - "orbit", - "rotate", - "player", - "shield", - "angle", - "ammo", - "health" - ], - "authorIds": [ - "gqDaZjCfevOOxBYkK6zlhtZnXCg1", - "IRIhkkTTl2UHhfjrLTTH5GYwkYu1" - ], - "dependencies": [], - "globalVariables": [], - "sceneVariables": [], - "eventsFunctions": [ - { - "description": "Move objects in orbit around a center object.", - "fullName": "Move objects in orbit around a center object", - "functionType": "Action", - "name": "AnimateOrbitingObjects", - "sentence": "Animate _PARAM3_ copies of _PARAM2_ that orbit around _PARAM1_ at a distance of _PARAM5_ with orbit speed of _PARAM4_ degrees per second. Rotate orbiting objects at _PARAM6_ degrees per second. Start objects with an angle offset of _PARAM9_ degrees. Create objects on layer _PARAM7_ with Z value _PARAM8_. Reset locations of orbiting objects after quantity is reduced: _PARAM10_", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Count the number of linked objects (always)", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Note: Must use the Action form of \"Take into account\" so that this variable is set to 0 when there are no linked objects" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "CenterObject", - "LinkedObjectQuantity", - "=", - "Count(OrbitingObject)" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Create orbiting objects (if needed)", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "CenterObject", - "LinkedObjectQuantity", - "<", - "GetArgumentAsNumber(\"OrbitQuantity\")" - ] - } - ], - "actions": [], - "events": [ - { - "infiniteLoopWarning": true, - "type": "BuiltinCommonInstructions::While", - "whileConditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "CenterObject", - "LinkedObjectQuantity", - "<", - "GetArgumentAsNumber(\"OrbitQuantity\")" - ] - } - ], - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Create orbiting objects and link them to the center object" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject.X()", - "CenterObject.Y()", - "GetArgumentAsString(\"OrbitLayer\")" - ] - }, - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - }, - { - "type": { - "value": "SetZOrder" - }, - "parameters": [ - "OrbitingObject", - "=", - "GetArgumentAsNumber(\"OrbitZvalue\")" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Update counter" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "CenterObject", - "LinkedObjectQuantity", - "=", - "Count(OrbitingObject)" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reassign OrbitOrder" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "CenterObject", - "OrbitingObjects.OrderCounter", - "=", - "1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "OrbitingObject", - "conditions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitOrder", - "=", - "CenterObject.Variable(OrbitingObjects.OrderCounter)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "CenterObject", - "OrbitingObjects.OrderCounter", - "+", - "1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Match the angle used by the rest of the orbiting objects" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "OrbitingObject", - "=", - "CenterObject.Variable(OrbitingObjects.RotationAngle)" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Spread out orbiting objects evenly" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitAngle", - "=", - "OrbitingObject.Variable(OrbitOrder) * (360/GetArgumentAsNumber(\"OrbitQuantity\")) + GetArgumentAsNumber(\"StartingOffset\")" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Delete orbiting objects (if needed)", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "CenterObject", - "LinkedObjectQuantity", - ">", - "GetArgumentAsNumber(\"OrbitQuantity\")" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "OrbitingObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitOrder", - ">", - "GetArgumentAsNumber(\"OrbitQuantity\")" - ] - } - ], - "actions": [ - { - "type": { - "value": "Delete" - }, - "parameters": [ - "OrbitingObject", - "" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Spread out orbiting objects evenly" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"ResetObjectsAfterDeletion\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitAngle", - "=", - "OrbitingObject.Variable(OrbitOrder) * (360/GetArgumentAsNumber(\"OrbitQuantity\")) + GetArgumentAsNumber(\"StartingOffset\")" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Move orbiting objects (always)", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "OrbitingObject", - "conditions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Calculate new angle for this frame" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitAngle", - "+", - "GetArgumentAsNumber(\"OrbitSpeed\")*TimeDelta()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Keep the angle between (0 to 360)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitAngle", - ">", - "360" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitAngle", - "=", - "mod(OrbitingObject.Variable(OrbitAngle),360)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move object to new angle" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PutAroundObject" - }, - "parameters": [ - "OrbitingObject", - "CenterObject", - "GetArgumentAsNumber(\"OrbitDistance\")", - "OrbitingObject.Variable(OrbitAngle)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Change angle of rotating objects" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Rotate" - }, - "parameters": [ - "OrbitingObject", - "GetArgumentAsNumber(\"ObjectRotationSpeed\")", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save the current angle so it can be used for new orbiting objects" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "CenterObject", - "OrbitingObjects.RotationAngle", - "=", - "OrbitingObject.Angle()" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [ - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" - }, - { - "description": "Orbiting object", - "longDescription": "Cannot be the same object used for the Center object", - "name": "OrbitingObject", - "type": "objectList" - }, - { - "description": "Quantity of orbiting objects", - "name": "OrbitQuantity", - "type": "expression" - }, - { - "description": "Orbit speed (in degrees per second)", - "longDescription": "Use negative numbers to orbit counter-clockwise", - "name": "OrbitSpeed", - "type": "expression" - }, - { - "description": "Distance from the center object (in pixels)", - "name": "OrbitDistance", - "type": "expression" - }, - { - "description": "Angular speed (in degrees per second)", - "longDescription": "Use negative numbers to rotate counter-clockwise", - "name": "ObjectRotationSpeed", - "type": "expression" - }, - { - "description": "Layer that orbiting objects will be created on (base layer if empty)", - "name": "OrbitLayer", - "type": "layer" - }, - { - "description": "Z order of orbiting objects", - "name": "OrbitZvalue", - "type": "expression" - }, - { - "description": "Starting angle offset (in degrees)", - "name": "StartingOffset", - "type": "expression" - }, - { - "description": "Reset locations of orbiting objects after quantity is reduced", - "name": "ResetObjectsAfterDeletion", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "Move objects in elliptical orbit around a center object. Z-order is changed to make 3D effect.", - "fullName": "Move objects in elliptical orbit around a center object", - "functionType": "Action", - "name": "AnimateEllipticalOrbitingObjects", - "sentence": "Animate _PARAM3_ copies of _PARAM2_ in elliptical orbit around _PARAM1_ with vertical radius of _PARAM5_, horizontal radius of _PARAM9_ and an orbit speed of _PARAM4_ degrees per second. Foreground side is _PARAM10_. Rotate orbiting objects at _PARAM6_ degrees per second", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Count the number of linked objects (always)", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Note: Use the Action (instead of a Condition) for \"Take into account\" to make the action run even when there are no linked objects" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "CenterObject", - "LinkedObjectQuantity", - "=", - "Count(OrbitingObject)" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Create orbiting objects (if needed)", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "CenterObject", - "LinkedObjectQuantity", - "<", - "GetArgumentAsNumber(\"OrbitQuantity\")" - ] - } - ], - "actions": [], - "events": [ - { - "infiniteLoopWarning": true, - "type": "BuiltinCommonInstructions::While", - "whileConditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "CenterObject", - "LinkedObjectQuantity", - "<", - "GetArgumentAsNumber(\"OrbitQuantity\")" - ] - } - ], - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Create orbiting objects and link them to the center object" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject.X()", - "CenterObject.Y()", - "CenterObject.Layer()" - ] - }, - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Update counter" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "CenterObject", - "LinkedObjectQuantity", - "=", - "Count(OrbitingObject)" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reassign OrbitOrder" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "CenterObject", - "OrbitingObjects.OrderCounter", - "=", - "1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "OrbitingObject", - "conditions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitOrder", - "=", - "CenterObject.Variable(OrbitingObjects.OrderCounter)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "CenterObject", - "OrbitingObjects.OrderCounter", - "+", - "1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Match the angle used by the rest of the orbiting objects" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "OrbitingObject", - "=", - "CenterObject.Variable(OrbitingObjects.RotationAngle)" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Spread out orbiting objects evenly" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitAngle", - "=", - "OrbitingObject.Variable(OrbitOrder) * (360/GetArgumentAsNumber(\"OrbitQuantity\")) + GetArgumentAsNumber(\"StartingOffset\")" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Delete orbiting objects (if needed)", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "CenterObject", - "LinkedObjectQuantity", - ">", - "GetArgumentAsNumber(\"OrbitQuantity\")" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "OrbitingObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitOrder", - ">", - "GetArgumentAsNumber(\"OrbitQuantity\")" - ] - } - ], - "actions": [ - { - "type": { - "value": "Delete" - }, - "parameters": [ - "OrbitingObject", - "" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Spread out orbiting objects evenly" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"ResetObjectsAfterDeletion\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitAngle", - "=", - "OrbitingObject.Variable(OrbitOrder) * (360/GetArgumentAsNumber(\"OrbitQuantity\")) + GetArgumentAsNumber(\"StartingOffset\")" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Move orbiting objects (always)", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "OrbitingObject", - "conditions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Calculate new angle for this frame" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitAngle", - "+", - "GetArgumentAsNumber(\"OrbitSpeed\") * TimeDelta()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Keep the angle between (0 to 360)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitAngle", - ">", - "360" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "OrbitingObject", - "OrbitAngle", - "=", - "mod(OrbitingObject.Variable(OrbitAngle), 360)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move object to new angle" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetCenter" - }, - "parameters": [ - "OrbitingObject", - "=", - "CenterObject.BoundingBoxCenterX() + XFromAngleAndDistance(OrbitingObject.Variable(OrbitAngle), GetArgumentAsNumber(\"HorizontalDistance\"))", - "=", - "CenterObject.BoundingBoxCenterY() + YFromAngleAndDistance(OrbitingObject.Variable(OrbitAngle), GetArgumentAsNumber(\"VerticalDistance\"))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Change angle of rotating objects" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Rotate" - }, - "parameters": [ - "OrbitingObject", - "GetArgumentAsNumber(\"ObjectRotationSpeed\")", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save the current angle so it can be used for new orbiting objects" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "CenterObject", - "OrbitingObjects.RotationAngle", - "=", - "OrbitingObject.Angle()" - ] - } - ] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Update Z order as it moves around the orbit", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Foreground = Bottom (Default)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "CompareArgumentAsString" - }, - "parameters": [ - "\"ForegroundSide\"", - "=", - "\"\"" - ] - }, - { - "type": { - "value": "CompareArgumentAsString" - }, - "parameters": [ - "\"ForegroundSide\"", - "=", - "\"Bottom\"" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetZOrder" - }, - "parameters": [ - "OrbitingObject", - "=", - "CenterObject.ZOrder() + (OrbitingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxCenterY())" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Foreground = Top" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CompareArgumentAsString" - }, - "parameters": [ - "\"ForegroundSide\"", - "=", - "\"Top\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetZOrder" - }, - "parameters": [ - "OrbitingObject", - "=", - "CenterObject.ZOrder() + (CenterObject.BoundingBoxCenterY() - OrbitingObject.BoundingBoxCenterY())" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Foreground = Left" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CompareArgumentAsString" - }, - "parameters": [ - "\"ForegroundSide\"", - "=", - "\"Left\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetZOrder" - }, - "parameters": [ - "OrbitingObject", - "=", - "CenterObject.ZOrder() + (CenterObject.BoundingBoxCenterX() - OrbitingObject.BoundingBoxCenterX())" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Foreground = Right" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CompareArgumentAsString" - }, - "parameters": [ - "\"ForegroundSide\"", - "=", - "\"Right\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetZOrder" - }, - "parameters": [ - "OrbitingObject", - "=", - "CenterObject.ZOrder() + (OrbitingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxCenterX())" - ] - } - ] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [ - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" - }, - { - "description": "Orbiting object", - "longDescription": "Cannot be the same object used for the Center object", - "name": "OrbitingObject", - "type": "objectList" - }, - { - "description": "Quantity of orbiting objects", - "name": "OrbitQuantity", - "type": "expression" - }, - { - "description": "Orbit speed (in degrees per second)", - "longDescription": "Use negative numbers to orbit counter-clockwise", - "name": "OrbitSpeed", - "type": "expression" - }, - { - "description": "Vertical distance from the center object (pixels)", - "name": "VerticalDistance", - "type": "expression" - }, - { - "description": "Angular speed (in degrees per second)", - "longDescription": "Use negative numbers to rotate counter-clockwise", - "name": "ObjectRotationSpeed", - "type": "expression" - }, - { - "description": "Starting angle offset (in degrees)", - "name": "StartingOffset", - "type": "expression" - }, - { - "description": "Reset locations of orbiting objects after quantity is reduced", - "name": "ResetObjectsAfterDeletion", - "type": "yesorno" - }, - { - "description": "Horizontal distance from the center object (pixels)", - "name": "HorizontalDistance", - "type": "expression" - }, - { - "description": "Foreground Side", - "name": "ForegroundSide", - "supplementaryInformation": "[\"Top\",\"Bottom\",\"Left\",\"Right\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Delete orbiting objects that are linked to a center object.", - "fullName": "Delete orbiting objects that are linked to a center object", - "functionType": "Action", - "name": "DeleteOrbitingObjects", - "sentence": "Delete all _PARAM2_ that are linked to _PARAM1_", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Delete objects", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Delete orbiting objects" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "OrbitingObject", - "CenterObject" - ] - } - ], - "actions": [ - { - "type": { - "value": "Delete" - }, - "parameters": [ - "OrbitingObject", - "" - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" - }, - { - "description": "Orbiting object", - "longDescription": "Cannot be the same object that was used for the Center object", - "name": "OrbitingObject", - "type": "objectList" - } - ], - "objectGroups": [] - } - ], - "eventsBasedBehaviors": [], - "eventsBasedObjects": [] - }, - { - "author": "Tristan Rhodes (https://victrisgames.itch.io/)", - "category": "Visual effect", - "extensionNamespace": "", - "fullName": "Shake Object (position, angle, scale)", - "gdevelopVersion": "", - "helpPath": "https://victrisgames.itch.io/gdevelop-camera-shake-example", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWFycm93LWFsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMywxMUgxOEwxNi41LDkuNUwxNy45Miw4LjA4TDIxLjg0LDEyTDE3LjkyLDE1LjkyTDE2LjUsMTQuNUwxOCwxM0gxM1YxOEwxNC41LDE2LjVMMTUuOTIsMTcuOTJMMTIsMjEuODRMOC4wOCwxNy45Mkw5LjUsMTYuNUwxMSwxOFYxM0g2TDcuNSwxNC41TDYuMDgsMTUuOTJMMi4xNiwxMkw2LjA4LDguMDhMNy41LDkuNUw2LDExSDExVjZMOS41LDcuNUw4LjA4LDYuMDhMMTIsMi4xNkwxNS45Miw2LjA4TDE0LjUsNy41TDEzLDZWMTFaIiAvPjwvc3ZnPg==", - "name": "ShakeObject", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/arrow-all.svg", - "shortDescription": "Shake an object, using one or more ways to shake (position, angle, scale).", - "version": "1.5.5", - "description": [ - "Select one or more methods of shaking:", - "- Position: Shake the X and/or Y position of the object ", - "- Angle: Shake the angle (rotation) of the object ", - "- Scale: Shake the scale of the object (must be a sprite)", - "", - "Control how the object shakes:", - "- Amplitude: How far the object moves during each shake", - "- Duration: Amount of time to shake the object", - "- Time between shakes: Amount of time between each movement of the object", - "- Keep shaking until stopped (boolean)", - "", - "Tips:", - "- For a single-shake effect, set the \"Time between shakes\" to be equal to \"Duration\" (great for a hit or impact)", - "- To make the single-shake move in the opposite direction, use negative numbers ", - "- To repeat a single-shake effect in a loop, add a condition \"Object is not shaking\" ", - "- Use a long \"Time between shakes\" to simulate a slow moving object (like a ship rocking back and forth)", - "- Make sure to \"Stop shaking\" before starting a new shake if it uses different parameters. ", - "- Use \"Shake until stopped\" to simulate engine vibration, earthquake, or pulsing", - "", - "The top-down RPG example uses this extension for damage animations ([open the project online](https://editor.gdevelop.io/?project=example://top-down-rpg))." - ], - "origin": { - "identifier": "ShakeObject", - "name": "gdevelop-extension-store" - }, - "tags": [ - "shaking", - "object", - "effect", - "shake", - "scale", - "position", - "rotate", - "angle" - ], - "authorIds": [ - "gqDaZjCfevOOxBYkK6zlhtZnXCg1" - ], - "dependencies": [], - "globalVariables": [], - "sceneVariables": [], - "eventsFunctions": [], - "eventsBasedBehaviors": [ - { - "description": "Shake an object, using one or more ways to shake (position, angle).\nThis behavior can be used on any type of object.", - "fullName": "Shake object (position, angle)", - "name": "ShakeObject_PositionAngle", - "objectType": "", - "eventsFunctions": [ - { - "description": "Shake an object, using one or more ways to shake (position, angle).", - "fullName": "Shake object (position, angle)", - "functionType": "Action", - "name": "ShakeObject_PositionAngle", - "sentence": "Shake object _PARAM0_ for _PARAM2_ seconds. Modify position amplitude _PARAM3_ on X axis and _PARAM4_ on Y axis, angle rotation amplitude _PARAM5_. Wait _PARAM6_ seconds between shakes. Keep shaking until stopped: _PARAM7_", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Shake Object", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Start/Reset duration timer" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Object", - "\"__ShakeObject_DurationTimer\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Pass input parameters to global variables so that onScenePostEvents can use them" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_Duration", - "=", - "GetArgumentAsNumber(\"Duration\")" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "=", - "GetArgumentAsNumber(\"PowerX\")" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "=", - "GetArgumentAsNumber(\"PowerY\")" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerAngle", - "=", - "GetArgumentAsNumber(\"PowerAngle\")" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_TimeBetweenShakes", - "=", - "GetArgumentAsNumber(\"TimeBetweenShakes\")" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Determine if the shake should keep going until stopped" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeForever", - "False" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"ShakeForever\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeForever", - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Add default values if none were provided" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_Duration", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_Duration", - "=", - "0.5" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_TimeBetweenShakes", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_TimeBetweenShakes", - "=", - "0.08" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "If duration is less than a single shake, increase duration to make 1 full shake" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_Duration", - "<", - "Object.Variable(__ShakeObject_TimeBetweenShakes)" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_Duration", - "=", - "Object.Variable(__ShakeObject_TimeBetweenShakes)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Detect initial shake" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_InitialShake", - "=", - "1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Initiate the onScenePostEvents function" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "1" - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngle", - "type": "behavior" - }, - { - "description": "Duration of shake (in seconds) (Default: 0.5) ", - "name": "Duration", - "type": "expression" - }, - { - "description": "Amplitude of postion shake in X direction (in pixels) (For example: 5)", - "name": "PowerX", - "type": "expression" - }, - { - "description": "Amplitude of position shake in Y direction (in pixels) (For example: 5)", - "name": "PowerY", - "type": "expression" - }, - { - "description": "Amplitude of angle rotation shake (in degrees) (For example: 5)", - "name": "PowerAngle", - "type": "expression" - }, - { - "description": "Amount of time between shakes (in seconds) (Default: 0.08)", - "name": "TimeBetweenShakes", - "type": "expression" - }, - { - "description": "Keep shaking until stopped", - "longDescription": "Duration value will be ignored", - "name": "ShakeForever", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Shake Object", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Start shaking", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "1" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Keep object shaking forever (if desired)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeForever", - "True" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_Duration", - "=", - "100" - ] - }, - { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Object", - "\"__ShakeObject_DurationTimer\"" - ] - } - ] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Calculate movement of the shake", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Run once before every shake movement" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_InitialShake", - "=", - "1" - ] - }, - { - "type": { - "value": "ObjectTimer" - }, - "parameters": [ - "Object", - "\"__ShakeObject_ShakeTimer\"", - "Object.Variable(__ShakeObject_TimeBetweenShakes)" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Object", - "\"__ShakeObject_ShakeTimer\"" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeCounter", - "+", - "1" - ] - } - ], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Correct for drift and reset drift tracking variables", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move to correct any drift from previous shake" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetX" - }, - "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_DisplacementTravelledX)" - ] - }, - { - "type": { - "value": "SetY" - }, - "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_DisplacementTravelledY)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerAngle", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_AngleTravelled)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reset drift detection variables" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledX", - "=", - "0" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledY", - "=", - "0" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_AngleTravelled", - "=", - "0" - ] - } - ] - } - ], - "parameters": [] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Calculate Position Shake" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "PositionDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * [-1 or 1]" - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make initial shake NOT random so users can set a direction for a one-shake effect" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_InitialShake", - "=", - "1" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementX", - "=", - "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementY", - "=", - "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY)" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "After initial shake pick a random direction" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_InitialShake", - "=", - "0" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementX", - "=", - "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX) * RandomWithStep(-1, 1, 2)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementY", - "=", - "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY) * RandomWithStep(-1, 1, 2)" - ] - } - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Calculate Rotation (angle) shake " - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerAngle", - "!=", - "0" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Every \"even\" shake, rotate clockwise" - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "mod(Object.Variable(__ShakeObject_ShakeCounter),2)", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementAngle", - "=", - "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerAngle)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Every \"odd\" shake, rotate counter-clockwise" - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "mod(Object.Variable(__ShakeObject_ShakeCounter),2)", - "=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementAngle", - "=", - "-1 *(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerAngle)" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save that initial shake has been processed" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_InitialShake", - "=", - "0" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Move object", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Calculate the fraction of shake that occured during this frame" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PercentTimeElapsedThisFrame", - "=", - "min(1,TimeDelta()/Object.Variable(__ShakeObject_TimeBetweenShakes))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Increase change for the first half of the shake (move away from original values)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ObjectTimer" - }, - "parameters": [ - "Object", - "\"__ShakeObject_ShakeTimer\"", - "Object.Variable(__ShakeObject_TimeBetweenShakes)/2" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Change position" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetX" - }, - "parameters": [ - "Object", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - }, - { - "type": { - "value": "SetY" - }, - "parameters": [ - "Object", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save movement to calculate drift" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledX", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledY", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Change angle" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Variable(__ShakeObject_PowerAngle)", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Object", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save movement to calculate drift" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_AngleTravelled", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Decrease change the second half of the shake (return to original position)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectTimer" - }, - "parameters": [ - "Object", - "\"__ShakeObject_ShakeTimer\"", - "Object.Variable(__ShakeObject_TimeBetweenShakes)/2" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Change position" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetX" - }, - "parameters": [ - "Object", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - }, - { - "type": { - "value": "SetY" - }, - "parameters": [ - "Object", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save movement to calculate drift" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledX", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledY", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Change angle" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Variable(__ShakeObject_PowerAngle)", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Object", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save movement to calculate drift" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_AngleTravelled", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Stop shaking", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Stop shaking when the duration has been reached (or if the stop shaking function was called)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "ObjectTimer" - }, - "parameters": [ - "Object", - "\"__ShakeObject_DurationTimer\"", - "Object.Variable(__ShakeObject_Duration)" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "-1" - ] - } - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "0" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeCounter", - "=", - "0" - ] - } - ], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Correct for drift and reset drift tracking variables", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move to correct any drift from previous shake" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetX" - }, - "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_DisplacementTravelledX)" - ] - }, - { - "type": { - "value": "SetY" - }, - "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_DisplacementTravelledY)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerAngle", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_AngleTravelled)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reset drift detection variables" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledX", - "=", - "0" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledY", - "=", - "0" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_AngleTravelled", - "=", - "0" - ] - } - ] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngle", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Stop any shaking of object that was initiated by the Shake Object extension.", - "fullName": "Stop shaking the object", - "functionType": "Action", - "name": "StopShaking", - "sentence": "Stop shaking _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ShakeObject::ShakeObject_PositionAngle::IsShaking" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "-1" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngle", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if an object is shaking.", - "fullName": "Check if an object is shaking", - "functionType": "Condition", - "name": "IsShaking", - "sentence": "_PARAM0_ is shaking", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngle", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [], - "sharedPropertyDescriptors": [] - }, - { - "description": "Shake an object, using one or more ways to shake (position, angle, scale)\nThis behavior can only be used on sprite objects.", - "fullName": "Shake object (position, angle, scale)", - "name": "ShakeObject_PositionAngleScale", - "objectType": "Sprite", - "eventsFunctions": [ - { - "description": "Shake an object, using one or more ways to shake (position, angle, scale).", - "fullName": "Shake object (position, angle, scale)", - "functionType": "Action", - "name": "ShakeObject_PositionAngleScale", - "sentence": "Shake object _PARAM0_ for _PARAM2_ seconds. Modify position amplitude _PARAM3_ on X axis and _PARAM4_ on Y axis, angle rotation amplitude _PARAM5_, and scale amplitude _PARAM6_. Wait _PARAM7_ seconds between shakes. Keep shaking until stopped: _PARAM8_", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Shake Object", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Start/Reset duration timer" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Object", - "\"__ShakeObject_DurationTimer\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Pass input parameters to global variables so that onScenePostEvents can use them" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_Duration", - "=", - "GetArgumentAsNumber(\"Duration\")" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "=", - "GetArgumentAsNumber(\"PowerX\")" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "=", - "GetArgumentAsNumber(\"PowerY\")" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerAngle", - "=", - "GetArgumentAsNumber(\"PowerAngle\")" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerScale", - "=", - "GetArgumentAsNumber(\"PowerScale\")" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_TimeBetweenShakes", - "=", - "GetArgumentAsNumber(\"TimeBetweenShakes\")" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Determine if the shake should keep going until stopped" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeForever", - "False" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"ShakeForever\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeForever", - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Add default values if none were provided" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_Duration", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_Duration", - "=", - "0.5" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_TimeBetweenShakes", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_TimeBetweenShakes", - "=", - "0.08" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "If duration is less than a single shake, increase duration to make 1 full shake" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_Duration", - "<", - "Object.Variable(__ShakeObject_TimeBetweenShakes)" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_Duration", - "=", - "Object.Variable(__ShakeObject_TimeBetweenShakes)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Detect initial shake" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_InitialShake", - "=", - "1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Initiate the onScenePostEvents function" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "1" - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "Sprite", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngleScale", - "type": "behavior" - }, - { - "description": "Duration of shake (in seconds) (Default: 0.5)", - "name": "Duration", - "type": "expression" - }, - { - "description": "Amplitude of postion shake in X direction (in pixels) (For example: 5)", - "name": "PowerX", - "type": "expression" - }, - { - "description": "Amplitude of position shake in Y direction (in pixels) (For example: 5)", - "name": "PowerY", - "type": "expression" - }, - { - "description": "Amplitude of angle rotation shake (in degrees) (For example: 5)", - "name": "PowerAngle", - "type": "expression" - }, - { - "description": "Amplitude of scale shake (in percent change) (For example: 5)", - "name": "PowerScale", - "type": "expression" - }, - { - "description": "Amount of time between shakes (in seconds) (Default: 0.08)", - "name": "TimeBetweenShakes", - "type": "expression" - }, - { - "description": "Keep shaking until stopped", - "longDescription": "Duration value will be ignored", - "name": "ShakeForever", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Shake Object", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Start shaking", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "1" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Keep object shaking forever (if desired)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeForever", - "True" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_Duration", - "=", - "100" - ] - }, - { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Object", - "\"__ShakeObject_DurationTimer\"" - ] - } - ] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Calculate movement of the shake", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Run once before every shake movement" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_InitialShake", - "=", - "1" - ] - }, - { - "type": { - "value": "ObjectTimer" - }, - "parameters": [ - "Object", - "\"__ShakeObject_ShakeTimer\"", - "Object.Variable(__ShakeObject_TimeBetweenShakes)" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Object", - "\"__ShakeObject_ShakeTimer\"" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeCounter", - "+", - "1" - ] - } - ], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Correct for drift and reset drift tracking variables", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move to correct any drift from previous shake" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetX" - }, - "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_DisplacementTravelledX)" - ] - }, - { - "type": { - "value": "SetY" - }, - "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_DisplacementTravelledY)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerAngle", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_AngleTravelled)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerScale", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ChangeScale" - }, - "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_ScaleTravelled)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reset drift detection variables" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledX", - "=", - "0" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledY", - "=", - "0" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_AngleTravelled", - "=", - "0" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ScaleTravelled", - "=", - "0" - ] - } - ] - } - ], - "parameters": [] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Calculate Position Shake" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "PositionDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * [-1 or 1]" - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make initial shake NOT random so users can set a direction for a one-shake effect" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_InitialShake", - "=", - "1" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementX", - "=", - "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementY", - "=", - "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY)" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "After initial shake pick a random direction" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_InitialShake", - "=", - "0" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementX", - "=", - "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX) * RandomWithStep(-1, 1, 2)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementY", - "=", - "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY) * RandomWithStep(-1, 1, 2)" - ] - } - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Calculate Rotation (angle) shake " - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerAngle", - "!=", - "0" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Every \"even\" shake, rotate clockwise" - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "mod(Object.Variable(__ShakeObject_ShakeCounter),2)", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementAngle", - "=", - "-1 * (Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerAngle)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Every \"odd\" shake, rotate counter-clockwise" - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "mod(Object.Variable(__ShakeObject_ShakeCounter),2)", - "=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementAngle", - "=", - "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerAngle)" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Calculate Scale shake" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerScale", - "!=", - "0" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Calculate object scale displacement, with linear decay over time" - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "ScaleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * 1/100" - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Every even shake, increase scale" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "mod(Object.Variable(__ShakeObject_ShakeCounter),2)", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementScale", - "=", - "-1 * (Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerScale) * (1/100)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Every \"odd\" shake, decrease scale" - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "ScaleDisplacement = -1 * (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * 1/100" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "mod(Object.Variable(__ShakeObject_ShakeCounter),2)", - "=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementScale", - "=", - "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerScale) * (1/100)" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save that initial shake has been processed" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_InitialShake", - "=", - "0" - ] - } - ] - } - ] - } - ], - "parameters": [] + ], + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Text0", + "persistentUuid": "fa6d0ba8-ce6e-462d-8741-9acddede2539", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 4, + "thickness": 4 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], + "behaviors": [ + { + "name": "OrbitingObjectEmitter", + "type": "OrbitingObjects::OrbitingObjectEmitter", + "StartingOffset": 0, + "ForegroundSide": "", + "ZOrderOffset": 0, + "RadiusX": 300, + "RadiusY": 300, + "OrbitAngularSpeed": 45, + "SpiningSpeed": -90, + "ShouldFillGap": false, + "Quantity": 10 + } + ], + "string": "0", + "font": "", + "textAlignment": "center", + "characterSize": 550, + "color": { + "b": 28, + "g": 231, + "r": 248 + }, + "content": { + "bold": true, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "0", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "top", + "characterSize": 550, + "lineHeight": 0, + "color": "248;231;28" + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "WidthLabel", + "persistentUuid": "63d5271a-bbaa-4bd3-bd3d-d24356c79f41", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 4, + "thickness": 4 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], + "behaviors": [ + { + "name": "ShakeObject_PositionAngle", + "type": "ShakeObject::ShakeObject_PositionAngle" + } + ], + "string": "Width", + "font": "", + "textAlignment": "center", + "characterSize": 50, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": true, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Width", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "top", + "characterSize": 50, + "lineHeight": 0, + "color": "255;255;255" + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Title", + "persistentUuid": "b8f62a63-8fd4-477c-b9db-1d6bb24e3bc7", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "ShakeObject_PositionAngle", + "type": "ShakeObject::ShakeObject_PositionAngle" + } + ], + "string": "Orbiting Objects Extension", + "font": "", + "textAlignment": "center", + "characterSize": 60, + "color": { + "b": 224, + "g": 16, + "r": 189 + }, + "content": { + "bold": true, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Orbiting Objects Extension", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "top", + "characterSize": 60, + "lineHeight": 0, + "color": "189;16;224" + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "HeightLabel", + "persistentUuid": "5b42bae7-4651-4686-91d8-b5d05995c7ac", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 4, + "thickness": 4 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], + "behaviors": [ + { + "name": "ShakeObject_PositionAngle", + "type": "ShakeObject::ShakeObject_PositionAngle" + } + ], + "string": "Height", + "font": "", + "textAlignment": "center", + "characterSize": 50, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": true, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Height", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "top", + "characterSize": 50, + "lineHeight": 0, + "color": "255;255;255" + } + }, + { + "additive": true, + "assetStoreId": "8b9d676aee2e7b4e359522aecea263890ba30f957c5665d63d459675b12980f2", + "destroyWhenNoParticles": true, + "emitterAngleA": 0, + "emitterAngleB": 360, + "emitterForceMax": 50, + "emitterForceMin": 50, + "flow": 150, + "jumpForwardInTimeOnCreation": 0, + "maxParticleNb": 1000, + "name": "Gas", + "particleAlpha1": 100, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 224, + "particleBlue2": 255, + "particleColor1": "189;16;224", + "particleColor2": "255;255;255", + "particleGravityX": 0, + "particleGravityY": 0, + "particleGreen1": 16, + "particleGreen2": 255, + "particleLifeTimeMax": 4, + "particleLifeTimeMin": 2, + "particleRed1": 189, + "particleRed2": 255, + "particleSize1": 100, + "particleSize2": 0, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "persistentUuid": "9a2eb0b7-5e96-4609-bc75-692ee7894ebf", + "rendererParam1": 1, + "rendererParam2": 1, + "rendererType": "Quad", + "tank": -1, + "textureParticleName": "Gas.png", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 500, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "574655a4565bd983af8f5dd98e0fd8cda3bd67cf929c00d3db317e898322e06b", + "name": "Star", + "persistentUuid": "6e606c45-283d-4505-b516-b8d3b416c118", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 2, + "thickness": 2 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "animations": [ + { + "name": "LargeWide", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Star_LargeWide.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Medium", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Star_Medium.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "LargeNarrow", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Star_LargeNarrow.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Small", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Star_Small.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "05b0eb2d13ff37b70927d0184d4705e9c39c0b8fece7463127c4fe9eb65bb422", + "name": "WidthSlider", + "persistentUuid": "62cd2ea4-fbc6-46dc-9f19-d1303dae2b2a", + "type": "PanelSpriteSlider::PanelSpriteSlider", + "variant": "Yellow Circle Ended Line Slider", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "LabelMargin": 8, + "BarLeftPadding": 31, + "BarRightPadding": 31, + "InitialValue": 300, + "MinValue": -300, + "MaxValue": 300 + } + }, + { + "assetStoreId": "05b0eb2d13ff37b70927d0184d4705e9c39c0b8fece7463127c4fe9eb65bb422", + "name": "HeightSlider", + "persistentUuid": "24de9d6f-7b40-4461-b8a0-7983d9060d2a", + "type": "PanelSpriteSlider::PanelSpriteSlider", + "variant": "Yellow Circle Ended Line Slider", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "LabelMargin": 8, + "BarLeftPadding": 31, + "BarRightPadding": 31, + "MinValue": -300, + "MaxValue": 300, + "ShowLabelAtChanges": false, + "InitialValue": 50 + } + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "folderName": "UI", + "children": [ + { + "objectName": "Title" + }, + { + "objectName": "Gas" + }, + { + "objectName": "HeightLabel" + }, + { + "objectName": "HeightSlider" + }, + { + "objectName": "WidthLabel" + }, + { + "objectName": "WidthSlider" + } + ] + }, + { + "objectName": "Text0" + }, + { + "objectName": "Star" + } + ] + }, + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "OrbitingObjects::OrbitingObjectEmitter::SetRadiusX" + }, + "parameters": [ + "Text0", + "OrbitingObjectEmitter", + "=", + "WidthSlider.Value()", + "" + ] + }, + { + "type": { + "value": "OrbitingObjects::OrbitingObjectEmitter::SetRadiusY" + }, + "parameters": [ + "Text0", + "OrbitingObjectEmitter", + "=", + "HeightSlider.Value()", + "" + ] + }, + { + "type": { + "value": "OrbitingObjects::OrbitingObjectEmitter::AnimateOrbitingObjects" + }, + "parameters": [ + "Text0", + "OrbitingObjectEmitter", + "Star", + "" + ] + } + ] + } + ], + "layers": [ + { + "ambientLightColorB": 10038552, + "ambientLightColorG": 6067680, + "ambientLightColorR": 9764888, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "cameraType": "perspective", + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "Background", + "renderingType": "", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 0, + "ambientLightColorG": 8065944, + "ambientLightColorR": 16, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "cameraType": "perspective", + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "", + "renderingType": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Animation", + "type": "AnimatableCapability::AnimatableBehavior" + }, + { + "name": "Effect", + "type": "EffectCapability::EffectBehavior" + }, + { + "name": "Flippable", + "type": "FlippableCapability::FlippableBehavior" + }, + { + "name": "Opacity", + "type": "OpacityCapability::OpacityBehavior" + }, + { + "name": "OrbitingObjectEmitter", + "type": "OrbitingObjects::OrbitingObjectEmitter" + }, + { + "name": "Resizable", + "type": "ResizableCapability::ResizableBehavior" + }, + { + "name": "Scale", + "type": "ScalableCapability::ScalableBehavior" + }, + { + "name": "ShakeObject_PositionAngle", + "type": "ShakeObject::ShakeObject_PositionAngle" + }, + { + "name": "Text", + "type": "TextContainerCapability::TextContainerBehavior" + } + ] + }, + { + "b": 87, + "disableInputWhenNotFocused": true, + "mangledName": "Orbiting_32Objects", + "name": "Orbiting Objects", + "r": 58, + "standardSortMethod": true, + "stopSoundsOnStartup": true, + "title": "", + "v": 48, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.2, + "snap": true, + "zoomFactor": 0.7933114167663481, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + }, + "objectsGroups": [ + { + "name": "Slider", + "objects": [ + { + "name": "QuantitySlider" + }, + { + "name": "SpeedSlider" + }, + { + "name": "DistanceSlider" + }, + { + "name": "SpinningSlider" + } + ] + }, + { + "name": "Label", + "objects": [ + { + "name": "DistanceLabel" + }, + { + "name": "SpeedLabel" + }, + { + "name": "SpinningLabel" + }, + { + "name": "QuantityLabel" + } + ] + } + ], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "QuantityLabel", + "persistentUuid": "72c863d1-80db-4d2d-8ca0-5f2f71c221ea", + "width": 0, + "x": 865, + "y": 174, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "SpeedLabel", + "persistentUuid": "227316ff-37c0-4d29-be2b-53a27b8e7c84", + "width": 0, + "x": 864, + "y": 270, + "zOrder": 6, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "DistanceLabel", + "persistentUuid": "378fbf96-fd67-491a-be49-d000b14eaec9", + "width": 0, + "x": 864, + "y": 366, + "zOrder": 7, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "SpinningLabel", + "persistentUuid": "8ac982a2-7ba4-49bf-9491-f40dedba566f", + "width": 0, + "x": 864, + "y": 462, + "zOrder": 9, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "AnimateOnLeftClickLabel", + "persistentUuid": "13b5566a-dddf-46c3-ad74-9d07be6a140b", + "width": 0, + "x": 911, + "y": 576, + "zOrder": 13, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Title", + "persistentUuid": "d5bfc867-e526-44b4-a2b9-19347ae15e77", + "width": 0, + "x": 298, + "y": 32, + "zOrder": 14, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "DeleteOnRightClickLabel", + "persistentUuid": "2577d3c9-1c68-4b09-9a01-c219412ab200", + "width": 0, + "x": 911, + "y": 640, + "zOrder": 15, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 18, + "keepRatio": true, + "layer": "", + "name": "QuantitySlider", + "persistentUuid": "a1b74e4d-7b6e-4c6b-8009-eee6c69ee3ca", + "width": 350, + "x": 866, + "y": 206, + "zOrder": 21, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 18, + "keepRatio": true, + "layer": "", + "name": "SpeedSlider", + "persistentUuid": "62da1475-6670-4644-81a5-e0c1e6054c4f", + "width": 350, + "x": 864, + "y": 302, + "zOrder": 22, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 18, + "keepRatio": true, + "layer": "", + "name": "DistanceSlider", + "persistentUuid": "8c4c2f8f-2c33-463c-8c4a-bd51405305a0", + "width": 350, + "x": 864, + "y": 398, + "zOrder": 23, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 18, + "keepRatio": true, + "layer": "", + "name": "SpinningSlider", + "persistentUuid": "4ed75b4f-73b2-49e0-8e8e-aa4c118919dd", + "width": 350, + "x": 864, + "y": 494, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "AnimateOnLeftClick", + "persistentUuid": "0d511268-f569-4bc7-b867-e1a9ad100c2a", + "width": 0, + "x": 864, + "y": 576, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "DeleteOnRightClick", + "persistentUuid": "fce6ea8d-ba8f-4895-9647-6c1ab49ade15", + "width": 0, + "x": 864, + "y": 640, + "zOrder": 26, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "SpaceShip", + "persistentUuid": "54c02c26-8c36-4aa5-9562-90e9694c337e", + "width": 0, + "x": 314, + "y": 480, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "SpaceShip", + "persistentUuid": "582af00e-8480-477c-b105-0297bf58228d", + "width": 0, + "x": 128, + "y": 192, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "SpaceShip", + "persistentUuid": "1ceca429-4976-4509-b783-0bee61dc4670", + "width": 0, + "x": 576, + "y": 238, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "DistanceLabel", + "persistentUuid": "93533269-7086-4ca0-81d2-5216656b37ea", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [ + { + "name": "Text", + "persistentUuid": "7b347cbb-1d0a-4c19-87db-8789af6c6e6a", + "type": "string", + "value": "" + } + ], + "effects": [], + "behaviors": [], + "string": "Distance: ", + "font": "", + "textAlignment": "", + "characterSize": 20, + "color": { + "b": 240, + "g": 240, + "r": 240 + }, + "content": { + "bold": true, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Distance: ", + "font": "", + "textAlignment": "", + "verticalTextAlignment": "top", + "characterSize": 20, + "lineHeight": 0, + "color": "240;240;240" + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "SpeedLabel", + "persistentUuid": "61c83358-a803-47e2-9b1f-720326aa56c0", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [ + { + "name": "Text", + "persistentUuid": "71db0b68-16a8-453c-ac6b-a3181be5c8c8", + "type": "string", + "value": "" + } + ], + "effects": [], + "behaviors": [], + "string": "Speed: ", + "font": "", + "textAlignment": "", + "characterSize": 20, + "color": { + "b": 240, + "g": 240, + "r": 240 + }, + "content": { + "bold": true, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Speed: ", + "font": "", + "textAlignment": "", + "verticalTextAlignment": "top", + "characterSize": 20, + "lineHeight": 0, + "color": "240;240;240" + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "SpinningLabel", + "persistentUuid": "fa104252-ecf2-4d29-985e-67dffaf8738a", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [ + { + "name": "Text", + "persistentUuid": "9c63ba2e-1eab-432e-8a43-51c5a1b1d7c9", + "type": "string", + "value": "" + } + ], + "effects": [], + "behaviors": [], + "string": "Spinning: ", + "font": "", + "textAlignment": "", + "characterSize": 20, + "color": { + "b": 240, + "g": 240, + "r": 240 + }, + "content": { + "bold": true, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Spinning: ", + "font": "", + "textAlignment": "", + "verticalTextAlignment": "top", + "characterSize": 20, + "lineHeight": 0, + "color": "240;240;240" + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "AnimateOnLeftClickLabel", + "persistentUuid": "f32331a9-90ff-4098-a4d4-1ef39abae9b0", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Only active during left-click", + "font": "", + "textAlignment": "", + "characterSize": 20, + "color": { + "b": 240, + "g": 240, + "r": 240 + }, + "content": { + "bold": true, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Only active during left-click", + "font": "", + "textAlignment": "", + "verticalTextAlignment": "top", + "characterSize": 20, + "lineHeight": 0, + "color": "240;240;240" + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "DeleteOnRightClickLabel", + "persistentUuid": "862a3277-1b41-45e7-8963-27b0f597d303", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Right-click to delete", + "font": "", + "textAlignment": "", + "characterSize": 20, + "color": { + "b": 240, + "g": 240, + "r": 240 + }, + "content": { + "bold": true, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Right-click to delete", + "font": "", + "textAlignment": "", + "verticalTextAlignment": "top", + "characterSize": 20, + "lineHeight": 0, + "color": "240;240;240" + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Title", + "persistentUuid": "6da81982-f224-4400-ac8d-745e3012a57b", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Extension: Orbiting Objects", + "font": "", + "textAlignment": "", + "characterSize": 50, + "color": { + "b": 240, + "g": 240, + "r": 240 + }, + "content": { + "bold": true, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Extension: Orbiting Objects", + "font": "", + "textAlignment": "", + "verticalTextAlignment": "top", + "characterSize": 50, + "lineHeight": 0, + "color": "240;240;240" + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "QuantityLabel", + "persistentUuid": "f1045eb9-ea11-41ac-920d-9cdef0c587f7", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [ + { + "name": "Text", + "persistentUuid": "a31a1afa-f4ef-471a-8c3a-bd0330f65d4d", + "type": "string", + "value": "" + } + ], + "effects": [], + "behaviors": [], + "string": "Quantity: ", + "font": "", + "textAlignment": "", + "characterSize": 20, + "color": { + "b": 240, + "g": 240, + "r": 240 + }, + "content": { + "bold": true, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Quantity: ", + "font": "", + "textAlignment": "", + "verticalTextAlignment": "top", + "characterSize": 20, + "lineHeight": 0, + "color": "240;240;240" + } + }, + { + "assetStoreId": "de0bcee3ad202a7776cc0ca96c10613a98505b66498581794155b08ddaf9c76c", + "name": "QuantitySlider", + "persistentUuid": "840c15cc-fbc5-40bb-a5a6-b339b48b141d", + "type": "PanelSpriteSlider::PanelSpriteSlider", + "variant": "Yellow Circle Ended Line Slider", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "BarTopPadding": 3, + "BarLeftPadding": 3, + "BarRightPadding": 3, + "BarBottomPadding": 4, + "LabelMargin": 4, + "MaxValue": 20, + "MinValue": 0, + "InitialValue": 3, + "ShowLabelAtChanges": false + } + }, + { + "assetStoreId": "de0bcee3ad202a7776cc0ca96c10613a98505b66498581794155b08ddaf9c76c", + "name": "SpeedSlider", + "persistentUuid": "41f5f5e1-6c11-4d25-9601-6724ca2b58f8", + "type": "PanelSpriteSlider::PanelSpriteSlider", + "variant": "Yellow Circle Ended Line Slider", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "BarTopPadding": 3, + "BarLeftPadding": 3, + "BarRightPadding": 3, + "BarBottomPadding": 4, + "LabelMargin": 4, + "MaxValue": 90, + "MinValue": -90, + "InitialValue": 45, + "ShowLabelAtChanges": false + } + }, + { + "assetStoreId": "de0bcee3ad202a7776cc0ca96c10613a98505b66498581794155b08ddaf9c76c", + "name": "DistanceSlider", + "persistentUuid": "66a1e2d9-de4e-42c5-9a46-e5fc0baeddf0", + "type": "PanelSpriteSlider::PanelSpriteSlider", + "variant": "Yellow Circle Ended Line Slider", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "BarTopPadding": 3, + "BarLeftPadding": 3, + "BarRightPadding": 3, + "BarBottomPadding": 4, + "LabelMargin": 4, + "MaxValue": 300, + "MinValue": 0, + "InitialValue": 150, + "ShowLabelAtChanges": false + } + }, + { + "assetStoreId": "de0bcee3ad202a7776cc0ca96c10613a98505b66498581794155b08ddaf9c76c", + "name": "SpinningSlider", + "persistentUuid": "5a87a126-e7a7-4406-bd1a-6c34938c0136", + "type": "PanelSpriteSlider::PanelSpriteSlider", + "variant": "Yellow Circle Ended Line Slider", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "BarTopPadding": 3, + "BarLeftPadding": 3, + "BarRightPadding": 3, + "BarBottomPadding": 4, + "LabelMargin": 4, + "MaxValue": 180, + "MinValue": -180, + "InitialValue": 90, + "ShowLabelAtChanges": false + } + }, + { + "assetStoreId": "3ad21d013739f00250a281206fa27d2dfbcd2b19841eb538cd3c901f4965117e", + "name": "AnimateOnLeftClick", + "persistentUuid": "68193c55-6b9d-440f-8334-744e276bbaca", + "type": "SpriteToggleSwitch::SpriteToggleSwitch", + "variant": "Rounded Square Yellow Toggle", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "IsChecked": false + } + }, + { + "assetStoreId": "3ad21d013739f00250a281206fa27d2dfbcd2b19841eb538cd3c901f4965117e", + "name": "DeleteOnRightClick", + "persistentUuid": "fa8023fc-6d07-406d-822a-5aea9e25226c", + "type": "SpriteToggleSwitch::SpriteToggleSwitch", + "variant": "Rounded Square Yellow Toggle", + "variables": [], + "effects": [], + "behaviors": [], + "content": {} + }, + { + "adaptCollisionMaskAutomatically": true, + "assetStoreId": "b01970df01552d57c0efa613e014c59f211967bd8a07690c6ded673e21a67a6b", + "name": "Bomb", + "persistentUuid": "c5a0c24f-d5f8-4745-80fb-7d46880c7169", + "preScale": 3, + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Bomb.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 15, + "y": 0 + }, + { + "x": 15, + "y": 13 + }, + { + "x": 0, + "y": 13 + } + ] + ] + } + ] + } + ] + } + ] + }, + { + "adaptCollisionMaskAutomatically": true, + "assetStoreId": "0d6dd6c9aeca8eb1c2fc87232d9d4c54201fa9d6fc9afdc1a4cedf263f90fa01", + "name": "SpaceShip", + "persistentUuid": "f6c3ac40-e0d9-43f9-85a3-dbc4982a0e6c", + "preScale": 3, + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "OrbitingObjectEmitter", + "type": "OrbitingObjects::OrbitingObjectEmitter", + "Quantity": 3, + "OrbitAngularSpeed": 90, + "RadiusY": 200, + "RadiusX": 200, + "StartingOffset": 0, + "ShouldFillGap": true, + "ZOrderOffset": 0, + "SpiningSpeed": 0 + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "SpaceShip 2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 34, + "y": 0 + }, + { + "x": 34, + "y": 38 + }, + { + "x": 0, + "y": 38 + } + ] + ] + } + ] + } + ] + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "folderName": "UI", + "children": [ + { + "objectName": "Title" + }, + { + "objectName": "QuantityLabel" + }, + { + "objectName": "QuantitySlider" + }, + { + "objectName": "SpeedLabel" + }, + { + "objectName": "SpeedSlider" + }, + { + "objectName": "DistanceLabel" + }, + { + "objectName": "DistanceSlider" + }, + { + "objectName": "SpinningLabel" + }, + { + "objectName": "SpinningSlider" + }, + { + "objectName": "AnimateOnLeftClickLabel" + }, + { + "objectName": "AnimateOnLeftClick" + }, + { + "objectName": "DeleteOnRightClickLabel" + }, + { + "objectName": "DeleteOnRightClick" + } + ] + }, + { + "objectName": "Bomb" + }, + { + "objectName": "SpaceShip" + } + ] + }, + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "User input", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Animate orbiting objects only when left button is clicked on a Santa" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "SpriteToggleSwitch::SpriteToggleSwitch::IsChecked" + }, + "parameters": [ + "AnimateOnLeftClick", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "OrbitingObjects::OrbitingObjectEmitter::AnimateOrbitingObjects" + }, + "parameters": [ + "SpaceShip", + "OrbitingObjectEmitter", + "Bomb", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SpriteToggleSwitch::SpriteToggleSwitch::IsChecked" + }, + "parameters": [ + "AnimateOnLeftClick", + "" + ] + }, + { + "type": { + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "IsCursorOnObject" + }, + "parameters": [ + "SpaceShip", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "OrbitingObjects::OrbitingObjectEmitter::AnimateOrbitingObjects" + }, + "parameters": [ + "SpaceShip", + "OrbitingObjectEmitter", + "Bomb", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Delete orbiting objects" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SpriteToggleSwitch::SpriteToggleSwitch::IsChecked" + }, + "parameters": [ + "DeleteOnRightClick", + "" + ] + }, + { + "type": { + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Right" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + }, + { + "type": { + "value": "IsCursorOnObject" + }, + "parameters": [ + "SpaceShip", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "OrbitingObjects::DeleteOrbitingObjects" + }, + "parameters": [ + "", + "SpaceShip", + "Bomb", + "\"Crystals\"" + ] + }, + { + "type": { + "value": "Delete" + }, + "parameters": [ + "SpaceShip", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "UI", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneJustBegins" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringObjectVariable" + }, + "parameters": [ + "Label", + "Text", + "=", + "Label.Text::Value()" + ] + }, + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "QuantitySlider", + "QuantityLabel" + ] + }, + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "SpeedSlider", + "SpeedLabel" + ] + }, + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "DistanceSlider", + "DistanceLabel" + ] + }, + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "SpinningSlider", + "SpinningLabel" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "Slider", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "Label", + "Slider", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextContainerCapability::TextContainerBehavior::SetValue" + }, + "parameters": [ + "Label", + "Text", + "=", + "Label.Text + ToString(Slider.Value())" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "OrbitingObjects::OrbitingObjectEmitter::SetQuantity" + }, + "parameters": [ + "SpaceShip", + "OrbitingObjectEmitter", + "=", + "QuantitySlider.Value()", + "" + ] + }, + { + "type": { + "value": "OrbitingObjects::OrbitingObjectEmitter::SetOrbitAngularSpeed" + }, + "parameters": [ + "SpaceShip", + "OrbitingObjectEmitter", + "=", + "SpeedSlider.Value()", + "" + ] + }, + { + "type": { + "value": "OrbitingObjects::OrbitingObjectEmitter::SetRadiusX" + }, + "parameters": [ + "SpaceShip", + "OrbitingObjectEmitter", + "=", + "DistanceSlider.Value()", + "" + ] + }, + { + "type": { + "value": "OrbitingObjects::OrbitingObjectEmitter::SetRadiusY" + }, + "parameters": [ + "SpaceShip", + "OrbitingObjectEmitter", + "=", + "DistanceSlider.Value()", + "" + ] + }, + { + "type": { + "value": "OrbitingObjects::OrbitingObjectEmitter::SetSpiningSpeed" + }, + "parameters": [ + "SpaceShip", + "OrbitingObjectEmitter", + "=", + "SpinningSlider.Value()", + "" + ] + } + ] + } + ], + "parameters": [] + } + ], + "layers": [ + { + "ambientLightColorB": 0, + "ambientLightColorG": 0, + "ambientLightColorR": 0, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "cameraType": "perspective", + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "", + "renderingType": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "Animation", + "type": "AnimatableCapability::AnimatableBehavior" + }, + { + "name": "Effect", + "type": "EffectCapability::EffectBehavior" + }, + { + "name": "Flippable", + "type": "FlippableCapability::FlippableBehavior" + }, + { + "name": "Opacity", + "type": "OpacityCapability::OpacityBehavior" + }, + { + "name": "OrbitingObjectEmitter", + "type": "OrbitingObjects::OrbitingObjectEmitter" + }, + { + "name": "Resizable", + "type": "ResizableCapability::ResizableBehavior" + }, + { + "name": "Scale", + "type": "ScalableCapability::ScalableBehavior" + }, + { + "name": "Text", + "type": "TextContainerCapability::TextContainerBehavior" + } + ] + } + ], + "externalEvents": [], + "eventsFunctionsExtensions": [ + { + "author": "VegeTato, Tristan Rhodes (https://victrisgames.itch.io/)", + "category": "Movement", + "dimension": "2D", + "extensionNamespace": "", + "fullName": "Make objects orbit around a center object", + "gdevelopVersion": ">=5.5.222", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBkPSJNMTYsOWMtMy45LDAtNywzLjEtNyw3czMuMSw3LDcsN3M3LTMuMSw3LTdTMTkuOSw5LDE2LDl6Ii8+DQoJPHBhdGggZD0iTTI3LjcsOC4zQzI3LjksNy45LDI4LDcuNSwyOCw3YzAtMS43LTEuMy0zLTMtM2MtMC41LDAtMC45LDAuMS0xLjMsMC4zQzIxLjQsMi44LDE4LjgsMiwxNiwyQzguMywyLDIsOC4zLDIsMTYNCgkJczYuMywxNCwxNCwxNHMxNC02LjMsMTQtMTRDMzAsMTMuMiwyOS4yLDEwLjYsMjcuNyw4LjN6IE0xNiwyOEM5LjQsMjgsNCwyMi42LDQsMTZTOS40LDQsMTYsNGMyLjIsMCw0LjQsMC42LDYuMywxLjgNCgkJQzIyLjEsNi4xLDIyLDYuNiwyMiw3YzAsMS43LDEuMywzLDMsM2MwLjQsMCwwLjktMC4xLDEuMi0wLjNjMS4yLDEuOSwxLjgsNCwxLjgsNi4zQzI4LDIyLjYsMjIuNiwyOCwxNiwyOHoiLz4NCjwvZz4NCjwvc3ZnPg0K", + "name": "OrbitingObjects", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Glyphster Pack/Master/SVG/Space/Space_earth_moon_orbit.svg", + "shortDescription": "Make objects orbit around a center object in a circular or elliptical path.", + "version": "0.8.0", + "description": [ + "Run the actions on every frame to make the orbiting objects move.", + "The extension will automatically create/delete orbiting objects to match the quantity specified. ", + "Use the delete function or set the quantity to 0 to remove all orbiting objects.", + "", + "The *elliptical orbit* action can be used to create a 3D effect by changing the z-order of orbiting objects.", + "", + "The customizable parameters include:", + "- Center object", + "- Orbiting object (must be different than the Center object)", + "- Quantity of orbiting objects", + "- Distance from the center object", + "- Speed of the orbiting objects (in degrees per second). Use negative numbers to orbit counter-clockwise.", + "- Speed to rotate each orbiting object (in degrees per second). Use negative numbers to rotate counter-clockwise.", + "", + "Example uses:", + "- Make shield objects around the player to protect from enemies", + "- Weapons that can damage enemies when they collide", + "- A visual indicator of ammo quantity or health points", + "- Interesting animations of stacked objects that can function as a single entity ", + "- Visual cue for an active character power-up, such as invincibility", + "", + "An example shows how to use this extension ([open the project online](https://editor.gdevelop.io/?project=example://orbiting-objects))." + ], + "origin": { + "identifier": "OrbitingObjects", + "name": "gdevelop-extension-store" + }, + "tags": [ + "orbit", + "rotate", + "player", + "shield", + "angle", + "ammo", + "health" + ], + "authorIds": [ + "gqDaZjCfevOOxBYkK6zlhtZnXCg1", + "IRIhkkTTl2UHhfjrLTTH5GYwkYu1", + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" + ], + "dependencies": [], + "globalVariables": [], + "sceneVariables": [], + "eventsFunctions": [ + { + "description": "Move objects in orbit around a center object.", + "fullName": "Move objects in orbit around a center object", + "functionType": "Action", + "name": "AnimateOrbitingObjects", + "private": true, + "sentence": "Animate _PARAM3_ copies of _PARAM2_ that orbit around _PARAM1_ at a distance of _PARAM5_ with orbit speed of _PARAM4_ degrees per second. Rotate orbiting objects at _PARAM6_ degrees per second. Start objects with an angle offset of _PARAM9_ degrees. Create objects on layer _PARAM7_ with Z value _PARAM8_. Reset locations of orbiting objects after quantity is reduced: _PARAM10_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ResetObjectsAfterDeletion", + "=", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "OrbitingObjects::AnimateEllipticalOrbitingObjects" + }, + "parameters": [ + "", + "CenterObject", + "OrbitingObject", + "OrbitQuantity", + "OrbitSpeed", + "OrbitDistance", + "ObjectRotationSpeed", + "StartingOffset", + "", + "OrbitDistance", + "\"None\"", + "OrbitZvalue", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ResetObjectsAfterDeletion", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "OrbitingObjects::AnimateEllipticalOrbitingObjects" + }, + "parameters": [ + "", + "CenterObject", + "OrbitingObject", + "OrbitQuantity", + "OrbitSpeed", + "OrbitDistance", + "ObjectRotationSpeed", + "StartingOffset", + "yes", + "OrbitDistance", + "\"None\"", + "OrbitZvalue", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + }, + { + "description": "Orbiting object", + "longDescription": "Cannot be the same object used for the Center object", + "name": "OrbitingObject", + "type": "objectList" + }, + { + "description": "Quantity of orbiting objects", + "name": "OrbitQuantity", + "type": "expression" + }, + { + "description": "Orbit speed (in degrees per second)", + "longDescription": "Use negative numbers to orbit counter-clockwise", + "name": "OrbitSpeed", + "type": "expression" + }, + { + "description": "Distance from the center object (in pixels)", + "name": "OrbitDistance", + "type": "expression" + }, + { + "description": "Angular speed (in degrees per second)", + "longDescription": "Use negative numbers to rotate counter-clockwise", + "name": "ObjectRotationSpeed", + "type": "expression" + }, + { + "description": "Layer that orbiting objects will be created on (base layer if empty)", + "name": "OrbitLayer", + "type": "layer" + }, + { + "description": "Z order of orbiting objects", + "name": "OrbitZvalue", + "type": "expression" + }, + { + "description": "Starting angle offset (in degrees)", + "name": "StartingOffset", + "type": "expression" + }, + { + "description": "Reset locations of orbiting objects after quantity is reduced", + "name": "ResetObjectsAfterDeletion", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Delete orbiting objects that are linked to a center object.", + "fullName": "Delete orbiting objects that are linked to a center object", + "functionType": "Action", + "name": "DeleteOrbitingObjects", + "private": true, + "sentence": "Delete all _PARAM2_ that are linked to _PARAM1_", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Delete objects", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Delete orbiting objects" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "OrbitingObject", + "CenterObject" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "OrbitingObject", + "" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + }, + { + "description": "Orbiting object", + "longDescription": "Cannot be the same object that was used for the Center object", + "name": "OrbitingObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "Move objects in elliptical orbit around a center object. Z-order is changed to make 3D effect.", + "fullName": "Move objects in elliptical orbit around a center object", + "functionType": "Action", + "name": "AnimateEllipticalOrbitingObjects", + "private": true, + "sentence": "Animate _PARAM3_ copies of _PARAM2_ in elliptical orbit around _PARAM1_ with vertical radius of _PARAM5_, horizontal radius of _PARAM9_ and an orbit speed of _PARAM4_ degrees per second. Foreground side is _PARAM10_. Rotate orbiting objects at _PARAM6_ degrees per second. Initial Z-Order: _PARAM11_", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Count the number of linked objects (always)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Note: Use the Action (instead of a Condition) for \"Take into account\" to make the action run even when there are no linked objects" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "OrbitingObject", + "CenterObject" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "CenterObject", + "LinkedObjectQuantity", + "=", + "Count(OrbitingObject)" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Create orbiting objects (if needed)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "CenterObject", + "LinkedObjectQuantity", + "<", + "OrbitQuantity" + ] + } + ], + "actions": [], + "events": [ + { + "infiniteLoopWarning": true, + "type": "BuiltinCommonInstructions::While", + "whileConditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "CenterObject", + "LinkedObjectQuantity", + "<", + "OrbitQuantity" + ] + } + ], + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create orbiting objects and link them to the center object" }, { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Move object", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "Create" }, - "comment": "Calculate the fraction of shake that occured during this frame" + "parameters": [ + "", + "OrbitingObject", + "CenterObject.X()", + "CenterObject.Y()", + "CenterObject.Layer()" + ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PercentTimeElapsedThisFrame", - "=", - "min(1,TimeDelta()/Object.Variable(__ShakeObject_TimeBetweenShakes))" - ] - } + "type": { + "value": "SetZOrder" + }, + "parameters": [ + "OrbitingObject", + "=", + "OrbitZvalue" ] }, { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "LinkedObjects::LinkObjects" }, - "comment": "Increase change for the first half of the shake (move away from original values)" + "parameters": [ + "", + "OrbitingObject", + "CenterObject" + ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "ObjectTimer" - }, - "parameters": [ - "Object", - "\"__ShakeObject_ShakeTimer\"", - "Object.Variable(__ShakeObject_TimeBetweenShakes)/2" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Change position" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetX" - }, - "parameters": [ - "Object", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - }, - { - "type": { - "value": "SetY" - }, - "parameters": [ - "Object", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save movement to calculate drift" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledX", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledY", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Change angle" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Variable(__ShakeObject_PowerAngle)", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Object", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save movement to calculate drift" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_AngleTravelled", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Change scale" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Variable(__ShakeObject_PowerScale)", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ChangeScale" - }, - "parameters": [ - "Object", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save movement to calculate drift" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ScaleTravelled", - "+", - "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ] - } - ] - } + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "CenterObject", + "LinkedObjectQuantity", + "+", + "1" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reassign OrbitOrder" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "OrbitingObject", + "CenterObject" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "OrderCounter", + "=", + "1" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "OrbitingObject", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "OrbitingObject", + "OrbitOrder", + "=", + "OrderCounter" ] }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "OrderCounter", + "+", + "1" + ] + } + ], + "events": [ { "type": "BuiltinCommonInstructions::Comment", "color": { @@ -32813,294 +2938,132 @@ "textG": 0, "textR": 0 }, - "comment": "Decrease change the second half of the shake (return to original position)" + "comment": "Match the angle used by the rest of the orbiting objects" }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "ObjectTimer" + "value": "SetAngle" }, "parameters": [ - "Object", - "\"__ShakeObject_ShakeTimer\"", - "Object.Variable(__ShakeObject_TimeBetweenShakes)/2" + "OrbitingObject", + "=", + "CenterObject.Variable(OrbitingObjects.RotationAngle)" ] } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Change position" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetX" - }, - "parameters": [ - "Object", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - }, - { - "type": { - "value": "SetY" - }, - "parameters": [ - "Object", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save movement to calculate drift" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledX", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledY", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Change angle" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Variable(__ShakeObject_PowerAngle)", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Object", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save movement to calculate drift" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_AngleTravelled", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ] - } - ] - }, + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Spread out orbiting objects evenly" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "ModVarObjet" }, - "comment": "Change scale" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Variable(__ShakeObject_PowerScale)", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ChangeScale" - }, - "parameters": [ - "Object", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save movement to calculate drift" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ScaleTravelled", - "-", - "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" - ] - } - ] - } + "parameters": [ + "OrbitingObject", + "OrbitAngle", + "=", + "OrbitingObject.Variable(OrbitOrder) * 360 / OrbitQuantity + StartingOffset" ] } ] } - ], - "parameters": [] + ] } + ], + "variables": [ + { + "name": "OrderCounter", + "type": "number", + "value": 0 + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Delete orbiting objects (if needed)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "CenterObject", + "LinkedObjectQuantity", + ">", + "OrbitQuantity" ] } ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Stop shaking", - "source": "", - "type": "BuiltinCommonInstructions::Group", + "actions": [], "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "OrbitingObject", + "CenterObject" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "OrbitingObject", + "OrbitOrder", + ">", + "OrbitQuantity" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "OrbitingObject", + "" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Comment", "color": { @@ -33111,78 +3074,202 @@ "textG": 0, "textR": 0 }, - "comment": "Stop shaking when the duration has been reached (or if the stop shaking function was called)" + "comment": "Spread out orbiting objects evenly" }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "BuiltinCommonInstructions::Or" + "value": "BooleanVariable" }, - "parameters": [], - "subInstructions": [ + "parameters": [ + "ResetObjectsAfterDeletion", + "True", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "OrbitingObject", + "conditions": [], + "actions": [ { "type": { - "value": "ObjectTimer" + "value": "ModVarObjet" }, "parameters": [ - "Object", - "\"__ShakeObject_DurationTimer\"", - "Object.Variable(__ShakeObject_Duration)" + "OrbitingObject", + "OrbitAngle", + "=", + "OrbitingObject.Variable(OrbitOrder) * 360 / OrbitQuantity + StartingOffset" ] - }, + } + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Move orbiting objects (always)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "OrbitingObject", + "CenterObject" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "OrbitingObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate new angle for this frame" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { "type": { - "value": "VarObjet" + "value": "ModVarObjet" }, "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", + "OrbitingObject", + "OrbitAngle", "=", - "-1" + "mod(OrbitingObject.Variable(OrbitAngle) + OrbitSpeed * TimeDelta(), 360)" ] } ] }, { - "type": { - "value": "BuiltinCommonInstructions::Once" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [] - } - ], - "actions": [ + "comment": "Move object to new angle" + }, { - "type": { - "value": "ModVarObjet" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetCenter" + }, + "parameters": [ + "OrbitingObject", + "=", + "CenterObject.BoundingBoxCenterX() + XFromAngleAndDistance(OrbitingObject.Variable(OrbitAngle), HorizontalDistance)", + "=", + "CenterObject.BoundingBoxCenterY() + YFromAngleAndDistance(OrbitingObject.Variable(OrbitAngle), VerticalDistance)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "0" + "comment": "Change angle of rotating objects" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Rotate" + }, + "parameters": [ + "OrbitingObject", + "ObjectRotationSpeed", + "" + ] + } ] }, { - "type": { - "value": "ModVarObjet" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "Object", - "__ShakeObject_ShakeCounter", - "=", - "0" + "comment": "Save the current angle so it can be used for new orbiting objects" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "CenterObject", + "OrbitingObjects.RotationAngle", + "=", + "OrbitingObject.Angle()" + ] + } ] - } - ], - "events": [ + }, { "colorB": 228, "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Correct for drift and reset drift tracking variables", + "name": "Update Z order as it moves around the orbit", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -33196,7 +3283,7 @@ "textG": 0, "textR": 0 }, - "comment": "Move to correct any drift from previous shake" + "comment": "Foreground = Bottom (Default)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -33209,24 +3296,22 @@ "subInstructions": [ { "type": { - "value": "VarObjet" + "value": "StringVariable" }, "parameters": [ - "Object", - "__ShakeObject_PowerX", - "!=", - "0" + "ForegroundSide", + "=", + "\"\"" ] }, { "type": { - "value": "VarObjet" + "value": "StringVariable" }, "parameters": [ - "Object", - "__ShakeObject_PowerY", - "!=", - "0" + "ForegroundSide", + "=", + "\"Bottom\"" ] } ] @@ -33235,78 +3320,51 @@ "actions": [ { "type": { - "value": "SetX" - }, - "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_DisplacementTravelledX)" - ] - }, - { - "type": { - "value": "SetY" + "value": "SetZOrder" }, "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_DisplacementTravelledY)" + "OrbitingObject", + "=", + "CenterObject.ZOrder() + OrbitingObject.CenterY() - CenterObject.CenterY()" ] } ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_PowerAngle", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_AngleTravelled)" - ] - } - ] + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Foreground = Top" }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "VarObjet" + "value": "StringVariable" }, "parameters": [ - "Object", - "__ShakeObject_PowerScale", - "!=", - "0" + "ForegroundSide", + "=", + "\"Top\"" ] } ], "actions": [ { "type": { - "value": "ChangeScale" + "value": "SetZOrder" }, "parameters": [ - "Object", - "-", - "Object.Variable(__ShakeObject_ScaleTravelled)" + "OrbitingObject", + "=", + "CenterObject.ZOrder() + CenterObject.CenterY() - OrbitingObject.CenterY()" ] } ] @@ -33321,54 +3379,70 @@ "textG": 0, "textR": 0 }, - "comment": "Reset drift detection variables" + "comment": "Foreground = Left" }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "ModVarObjet" + "value": "StringVariable" }, "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledX", + "ForegroundSide", "=", - "0" + "\"Left\"" ] - }, + } + ], + "actions": [ { "type": { - "value": "ModVarObjet" + "value": "SetZOrder" }, "parameters": [ - "Object", - "__ShakeObject_DisplacementTravelledY", + "OrbitingObject", "=", - "0" + "CenterObject.ZOrder() + CenterObject.CenterX() - OrbitingObject.CenterX()" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Foreground = Right" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { "type": { - "value": "ModVarObjet" + "value": "StringVariable" }, "parameters": [ - "Object", - "__ShakeObject_AngleTravelled", + "ForegroundSide", "=", - "0" + "\"Right\"" ] - }, + } + ], + "actions": [ { "type": { - "value": "ModVarObjet" + "value": "SetZOrder" }, "parameters": [ - "Object", - "__ShakeObject_ScaleTravelled", + "OrbitingObject", "=", - "0" + "CenterObject.ZOrder() + OrbitingObject.CenterX() - CenterObject.CenterX()" ] } ] @@ -33378,393 +3452,142 @@ } ] } - ], - "parameters": [] + ] } ], "parameters": [] } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "Sprite", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngleScale", - "type": "behavior" - } - ], - "objectGroups": [] + ] + } + ], + "parameters": [ + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" }, { - "description": "Stop shaking an object.", - "fullName": "Stop shaking an object", - "functionType": "Action", - "name": "StopShaking", - "sentence": "Stop shaking _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ShakeObject::ShakeObject_PositionAngleScale::IsShaking" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "-1" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "Sprite", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngleScale", - "type": "behavior" - } - ], - "objectGroups": [] + "description": "Orbiting object", + "longDescription": "Cannot be the same object used for the Center object", + "name": "OrbitingObject", + "type": "objectList" }, { - "description": "Check if an object is shaking.", - "fullName": "Check if an object is shaking", - "functionType": "Condition", - "name": "IsShaking", - "sentence": "_PARAM0_ is shaking", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "Object", - "__ShakeObject_ShakeInProgress", - "=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "Sprite", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngleScale", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [], - "sharedPropertyDescriptors": [] - } - ], - "eventsBasedObjects": [] - }, - { - "author": "", - "category": "Input", - "extensionNamespace": "", - "fullName": "Multitouch joystick and buttons (sprite)", - "gdevelopVersion": ">=5.5.222", - "helpPath": "/objects/multitouch-joystick", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTYiIGN5PSIxNiIgcj0iMTMiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjI4LjQsMTIgMjAsMTIgMjAsMy42ICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMjAsMjguNCAyMCwyMCAyOC40LDIwICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMy42LDIwIDEyLDIwIDEyLDI4LjQgIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIxMiwzLjYgMTIsMTIgMy42LDEyICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxNiw2IDE2LjcsNyAxNS4zLDcgIi8+DQo8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjE2LDI2IDE1LjMsMjUgMTYuNywyNSAiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iNiwxNiA3LDE1LjMgNywxNi43ICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyNiwxNiAyNSwxNi43IDI1LDE1LjMgIi8+DQo8L3N2Zz4NCg==", - "name": "SpriteMultitouchJoystick", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Videogames/Videogames_controller_joystick_arrows_direction.svg", - "shortDescription": "Joysticks or buttons for touchscreens.", - "version": "1.9.0", - "description": [ - "Multitouch joysticks are objects showing a joystick on the screen, useful for mobile. They work like a physical gamepad:", - "- 4 or 8 directions", - "- Analogus pads", - "- Player selection", - "- Automatic \"mapper\" behaviors for 2D and 3D movement behaviors (platformer characters, top-down movement, 3D character etc...). Add one of these to the object with the movement behavior (i.e: the player most of the time) and the behavior will then be controlled automatically by the virtual joystick (it works by reading the multitouch joystick state and simulating controls). No need for additional events to make it work once the behaviors are set up.", - "", - "There are ready-to-use joysticks in the asset-store [multitouch joysticks pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=multitouch-joysticks-multitouch-joysticks)." - ], - "origin": { - "identifier": "SpriteMultitouchJoystick", - "name": "gdevelop-extension-store" - }, - "tags": [ - "multitouch", - "joystick", - "thumbstick", - "controller", - "touchscreen", - "twin stick", - "shooter", - "virtual", - "platformer", - "platform", - "top-down" - ], - "authorIds": [ - "gqDaZjCfevOOxBYkK6zlhtZnXCg1", - "1OgYzWp5UeVPbiWGJwI6vqfgZLC3", - "v0YRpdAnIucZFgiRCCecqVnGKno2", - "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" - ], - "dependencies": [], - "globalVariables": [], - "sceneVariables": [ - { - "name": "Controllers", - "type": "array", - "children": [ + "description": "Quantity of orbiting objects", + "name": "OrbitQuantity", + "type": "expression" + }, { - "type": "structure", - "children": [ - { - "name": "Buttons", - "type": "array", - "children": [ - { - "type": "structure", - "children": [ - { - "name": "State", - "type": "string", - "value": "Idle" - } - ] - } - ] - }, - { - "name": "Joystick", - "type": "structure", - "children": [] - } - ] - } - ] - } - ], - "eventsFunctions": [ - { - "description": "Check if the events are running for the editor.", - "fullName": "Editor is running", - "functionType": "Condition", - "name": "IsInGameEdition", - "private": true, - "sentence": "Events are running for the editor", - "events": [ + "description": "Orbit speed (in degrees per second)", + "longDescription": "Use negative numbers to orbit counter-clockwise", + "name": "OrbitSpeed", + "type": "expression" + }, { - "type": "BuiltinCommonInstructions::JsCode", - "inlineCode": [ - "const game = runtimeScene.getGame();\r", - "eventsFunctionContext.returnValue = game.isInGameEdition && game.isInGameEdition();" - ], - "parameterObjects": "", - "useStrict": true, - "eventsSheetExpanded": false + "description": "Vertical distance from the center object (pixels)", + "name": "VerticalDistance", + "type": "expression" + }, + { + "description": "Angular speed (in degrees per second)", + "longDescription": "Use negative numbers to rotate counter-clockwise", + "name": "ObjectRotationSpeed", + "type": "expression" + }, + { + "description": "Starting angle offset (in degrees)", + "name": "StartingOffset", + "type": "expression" + }, + { + "description": "Reset locations of orbiting objects after quantity is reduced", + "name": "ResetObjectsAfterDeletion", + "type": "yesorno" + }, + { + "description": "Horizontal distance from the center object (pixels)", + "name": "HorizontalDistance", + "type": "expression" + }, + { + "description": "Foreground Side", + "name": "ForegroundSide", + "supplementaryInformation": "[\"Top\",\"Bottom\",\"Left\",\"Right\"]", + "type": "stringWithSelector" + }, + { + "description": "Z order of orbiting objects", + "name": "OrbitZvalue", + "type": "expression" } ], - "parameters": [], "objectGroups": [] - }, + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "AnimateOrbitingObjects" + }, + { + "functionName": "AnimateEllipticalOrbitingObjects" + }, + { + "functionName": "DeleteOrbitingObjects" + } + ] + }, + "eventsBasedBehaviors": [ { - "fullName": "Accelerated speed", - "functionType": "Expression", - "name": "AcceleratedSpeed", - "private": true, - "sentence": "", - "events": [ + "description": "Make objects orbit around itself in a circular path.", + "fullName": "Orbiting object emitter", + "helpPath": "", + "iconUrl": "", + "name": "OrbitingObjectEmitter", + "objectType": "", + "previewIconUrl": "", + "eventsFunctions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "AcceleratedSpeed", - "=", - "CurrentSpeed" - ] - } - ], + "description": "Move objects in elliptical orbit around a center object. Z-order is changed to make 3D effect.", + "fullName": "Animate orbiting objects", + "functionType": "Action", + "name": "AnimateOrbitingObjects", + "sentence": "Animate copies of _PARAM2_ in elliptical orbit around _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "NumberVariable" + "value": "BooleanVariable" }, "parameters": [ - "TargetedSpeed", - "<", - "0" + "ShouldFillGap", + "=", + "" ] } ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reduce the speed to match the stick force." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "CurrentSpeed", - "<", - "TargetedSpeed" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "AcceleratedSpeed", - "=", - "min(TargetedSpeed, CurrentSpeed + Acceleration * TimeDelta())" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "CurrentSpeed", - ">", - "TargetedSpeed" - ] - }, - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "CurrentSpeed", - "<", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "AcceleratedSpeed", - "-", - "Acceleration * TimeDelta()" - ] - } - ] - }, + "actions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "OrbitingObjects::AnimateEllipticalOrbitingObjects" }, - "comment": "Turn back at least as fast as it would stop." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "CurrentSpeed", - ">=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "AcceleratedSpeed", - "=", - "max(TargetedSpeed, CurrentSpeed - max(Acceleration , Deceleration) * TimeDelta())" - ] - } + "parameters": [ + "", + "Object", + "OrbitingObject", + "Quantity", + "OrbitAngularSpeed", + "RadiusY", + "SpiningSpeed", + "StartingOffset", + "no", + "RadiusX", + "Object.Behavior::ForegroundSide()", + "Object.ZOrder() + ZOrderOffset", + "" ] } ] @@ -33774,206 +3597,149 @@ "conditions": [ { "type": { - "value": "NumberVariable" + "value": "BooleanVariable" }, "parameters": [ - "TargetedSpeed", - ">", - "0" + "ShouldFillGap", + "True", + "" ] } ], - "actions": [], - "events": [ + "actions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "OrbitingObjects::AnimateEllipticalOrbitingObjects" }, - "comment": "Reduce the speed to match the stick force." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "CurrentSpeed", - ">", - "TargetedSpeed" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "AcceleratedSpeed", - "=", - "max(TargetedSpeed, CurrentSpeed - Acceleration * TimeDelta())" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "CurrentSpeed", - "<", - "TargetedSpeed" - ] - }, - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "CurrentSpeed", - ">", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "AcceleratedSpeed", - "+", - "Acceleration * TimeDelta()" - ] - } + "parameters": [ + "", + "Object", + "OrbitingObject", + "Quantity", + "OrbitAngularSpeed", + "RadiusY", + "SpiningSpeed", + "StartingOffset", + "yes", + "RadiusX", + "Object.Behavior::ForegroundSide()", + "Object.ZOrder() + ZOrderOffset", + "" ] - }, + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" + }, + { + "description": "Orbiting object", + "longDescription": "Cannot be the same object used for the Center object", + "name": "OrbitingObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "the orbit radius on X axis of the object.", + "fullName": "Orbit radius on X axis", + "functionType": "ExpressionAndCondition", + "group": "Orbiting object emitter configuration", + "name": "RadiusX", + "sentence": "the orbit radius on X axis", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "SetReturnNumber" }, - "comment": "Turn back at least as fast as it would stop." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "CurrentSpeed", - "<=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "AcceleratedSpeed", - "=", - "min(TargetedSpeed, CurrentSpeed + max(Acceleration , Deceleration) * TimeDelta())" - ] - } + "parameters": [ + "RadiusX" ] } ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "RadiusX", + "group": "Orbiting object emitter configuration", + "name": "SetRadiusX", + "sentence": "", + "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "NumberVariable" + "value": "SetNumberVariable" }, "parameters": [ - "TargetedSpeed", + "RadiusX", "=", - "0" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "CurrentSpeed", - "<", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "AcceleratedSpeed", - "=", - "min(0, CurrentSpeed + Acceleration * TimeDelta())" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "CurrentSpeed", - ">", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "AcceleratedSpeed", - "=", - "max(0, CurrentSpeed - Acceleration * TimeDelta())" - ] - } + "Value" ] } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the orbit radius on Y axis of the object. Use a negative value to change which part is in front.", + "fullName": "Orbit radius on Y axis", + "functionType": "ExpressionAndCondition", + "group": "Orbiting object emitter configuration", + "name": "RadiusY", + "sentence": "the orbit radius on Y axis", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -33983,1423 +3749,2110 @@ "value": "SetReturnNumber" }, "parameters": [ - "clamp(AcceleratedSpeed, -SpeedMax, SpeedMax)" + "RadiusY" ] } ] } ], - "variables": [ + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, { - "name": "AcceleratedSpeed", - "type": "number", - "value": 0 + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Current speed", - "name": "CurrentSpeed", - "type": "expression" - }, - { - "description": "Targeted speed", - "name": "TargetedSpeed", - "type": "expression" - }, - { - "description": "Max speed", - "name": "SpeedMax", - "type": "expression" - }, - { - "description": "Acceleration", - "name": "Acceleration", - "type": "expression" + ], + "objectGroups": [] }, { - "description": "Deceleration", - "name": "Deceleration", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Check if a button was just pressed on a multitouch controller.", - "fullName": "Multitouch controller button just pressed", - "functionType": "Condition", - "name": "IsButtonJustPressed", - "sentence": "Button _PARAM2_ of multitouch controller _PARAM1_ was just pressed", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "RadiusY", + "group": "Orbiting object emitter configuration", + "name": "SetRadiusY", + "sentence": "", + "events": [ { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "Controllers[ControllerIdentifier].Buttons[Button].State", - "=", - "\"JustPressed\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "RadiusY", + "=", + "Value" + ] + } ] } ], - "actions": [ + "parameters": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" } - ] - } - ], - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" + ], + "objectGroups": [] }, { - "description": "Button name", - "name": "Button", - "supplementaryInformation": "[\"A\",\"CROSS\",\"B\",\"CIRCLE\",\"X\",\"SQUARE\",\"Y\",\"TRIANGLE\",\"LB\",\"L1\",\"RB\",\"R1\",\"LT\",\"L2\",\"RT\",\"R2\",\"UP\",\"DOWN\",\"LEFT\",\"RIGHT\",\"BACK\",\"SHARE\",\"START\",\"OPTIONS\",\"CLICK_STICK_LEFT\",\"CLICK_STICK_RIGHT\",\"PS_BUTTON\",\"CLICK_TOUCHPAD\"]", - "type": "string" - } - ], - "objectGroups": [] - }, - { - "description": "Check if a button is pressed on a multitouch controller.", - "fullName": "Multitouch controller button pressed", - "functionType": "Condition", - "name": "IsButtonPressed", - "sentence": "Button _PARAM2_ of multitouch controller _PARAM1_ is pressed", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "fullName": "Foreground side", + "functionType": "StringExpression", + "name": "ForegroundSide", + "private": true, + "sentence": "", + "events": [ { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { "type": { - "value": "StringVariable" + "value": "NumberVariable" }, "parameters": [ - "Controllers[ControllerIdentifier].Buttons[Button].State", - "=", - "\"Pressed\"" + "ZOrderOffset", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnString" + }, + "parameters": [ + "\"Value\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Else", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "abs(RadiusX)", + ">=", + "abs(RadiusY)" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "RadiusY", + ">=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnString" + }, + "parameters": [ + "\"Bottom\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Else", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnString" + }, + "parameters": [ + "\"Top\"" + ] + } + ] + } ] }, { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "Controllers[ControllerIdentifier].Buttons[Button].State", - "=", - "\"JustPressed\"" + "type": "BuiltinCommonInstructions::Else", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "RadiusX", + ">=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnString" + }, + "parameters": [ + "\"Right\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Else", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnString" + }, + "parameters": [ + "\"Left\"" + ] + } + ] + } ] } ] } ], - "actions": [ + "expressionType": { + "type": "string" + }, + "parameters": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" - }, - { - "description": "Button name", - "name": "Button", - "supplementaryInformation": "[\"A\",\"CROSS\",\"B\",\"CIRCLE\",\"X\",\"SQUARE\",\"Y\",\"TRIANGLE\",\"LB\",\"L1\",\"RB\",\"R1\",\"LT\",\"L2\",\"RT\",\"R2\",\"UP\",\"DOWN\",\"LEFT\",\"RIGHT\",\"BACK\",\"SHARE\",\"START\",\"OPTIONS\",\"CLICK_STICK_LEFT\",\"CLICK_STICK_RIGHT\",\"PS_BUTTON\",\"CLICK_TOUCHPAD\"]", - "type": "string" - } - ], - "objectGroups": [] - }, - { - "description": "Check if a button is released on a multitouch controller.", - "fullName": "Multitouch controller button released", - "functionType": "Condition", - "name": "IsButtonReleased", - "sentence": "Button _PARAM2_ of multitouch controller _PARAM1_ is released", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "description": "Object", + "name": "Object", + "type": "object" + }, { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "Controllers[ControllerIdentifier].Buttons[Button].State", - "=", - "\"Released\"" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" } ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" - }, - { - "description": "Button name", - "name": "Button", - "supplementaryInformation": "[\"A\",\"CROSS\",\"B\",\"CIRCLE\",\"X\",\"SQUARE\",\"Y\",\"TRIANGLE\",\"LB\",\"L1\",\"RB\",\"R1\",\"LT\",\"L2\",\"RT\",\"R2\",\"UP\",\"DOWN\",\"LEFT\",\"RIGHT\",\"BACK\",\"SHARE\",\"START\",\"OPTIONS\",\"CLICK_STICK_LEFT\",\"CLICK_STICK_RIGHT\",\"PS_BUTTON\",\"CLICK_TOUCHPAD\"]", - "type": "string" - } - ], - "objectGroups": [] - }, - { - "description": "Change a button state for a multitouch controller.", - "fullName": "Button state", - "functionType": "Action", - "name": "SetButtonState", - "private": true, - "sentence": "Mark _PARAM2_ button as _PARAM3_ for multitouch controller _PARAM1_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetStringVariable" - }, - "parameters": [ - "Controllers[ControllerIdentifier].Buttons[Button].State", - "=", - "ButtonState" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" - }, - { - "description": "Button name", - "name": "Button", - "type": "string" - }, - { - "description": "Button state", - "name": "ButtonState", - "supplementaryInformation": "[\"Idle\",\"Pressed\",\"JustPressed\",\"Released\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Change the dead zone radius of a joystick. The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved).", - "fullName": "Dead zone radius", - "functionType": "Action", - "name": "SetDeadZone", - "private": true, - "sentence": "Change the dead zone of multitouch joystick _PARAM2_ of multitouch controller _PARAM1_ to _PARAM3_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Controllers[ControllerIdentifier].Joystick[JoystickIdentifier].DeadZone", - "=", - "DeadZoneRadius" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" - }, - { - "description": "Joystick name", - "name": "JoystickIdentifier", - "type": "string" - }, - { - "description": "Dead zone radius", - "name": "DeadZoneRadius", - "supplementaryInformation": "[]", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Return the dead zone radius of a joystick. The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved).", - "fullName": "Dead zone radius", - "functionType": "Expression", - "name": "DeadZone", - "private": true, - "sentence": "Change multitouch joystick _PARAM2_ of multitouch controller _PARAM1_ dead zone to _PARAM3_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Controllers[ControllerIdentifier].Joystick[JoystickIdentifier].DeadZone" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" + "objectGroups": [] }, { - "description": "Joystick name", - "name": "JoystickIdentifier", - "type": "string" - } - ], - "objectGroups": [] - }, - { - "description": "the direction index (left = 1, bottom = 1, right = 2, top = 3) for an angle (in degrees).", - "fullName": "Angle to 4-way index", - "functionType": "ExpressionAndCondition", - "name": "AngleTo4Way", - "private": true, - "sentence": "The angle _PARAM1_ 4-way index", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "description": "the quantity of orbiting objects of the object.", + "fullName": "Quantity of orbiting objects", + "functionType": "ExpressionAndCondition", + "group": "Orbiting object emitter configuration", + "name": "Quantity", + "sentence": "the quantity of orbiting objects", + "events": [ { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "mod(round(Angle * 4 / 360), 4)" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Quantity" + ] + } ] } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Angle", - "name": "Angle", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "the direction index (left = 1, bottom-left = 1... top-left = 7) for an angle (in degrees).", - "fullName": "Angle to 8-way index", - "functionType": "ExpressionAndCondition", - "name": "AngleTo8Way", - "private": true, - "sentence": "The angle _PARAM1_ 8-way index", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "mod(round(Angle * 8 / 360), 8)" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Angle", - "name": "Angle", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Check if angle is in a given direction.", - "fullName": "Angle 4-way direction", - "functionType": "Condition", - "name": "IsAngleIn4WayDirection", - "private": true, - "sentence": "The angle _PARAM1_ is the 4-way direction _PARAM2_", - "events": [ + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" + } + ], + "objectGroups": [] + }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "Quantity", + "group": "Orbiting object emitter configuration", + "name": "SetQuantity", + "sentence": "", + "events": [ { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "Direction", - "=", - "\"Right\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Quantity", + "=", + "Value" + ] + } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "SpriteMultitouchJoystick::AngleTo4Way" - }, - "parameters": [ - "", - "=", - "0", - "Angle", - "" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" } ], - "actions": [ + "objectGroups": [] + }, + { + "description": "the orbit speed of the object. Use a negative value to orbit counter-clockwise.", + "fullName": "Orbit speed", + "functionType": "ExpressionAndCondition", + "group": "Orbiting object emitter configuration", + "name": "OrbitAngularSpeed", + "sentence": "the orbit speed", + "events": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "OrbitAngularSpeed" + ] + } ] } - ] + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" + } + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "OrbitAngularSpeed", + "group": "Orbiting object emitter configuration", + "name": "SetOrbitAngularSpeed", + "sentence": "", + "events": [ { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "Direction", - "=", - "\"Down\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "OrbitAngularSpeed", + "=", + "Value" + ] + } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "SpriteMultitouchJoystick::AngleTo4Way" - }, - "parameters": [ - "", - "=", - "1", - "Angle", - "" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" } ], - "actions": [ + "objectGroups": [] + }, + { + "description": "the spining speed of the object.", + "fullName": "Spining speed", + "functionType": "ExpressionAndCondition", + "group": "Orbiting object emitter configuration", + "name": "SpiningSpeed", + "sentence": "the spining speed", + "events": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "SpiningSpeed" + ] + } ] } - ] + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" + } + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "SpiningSpeed", + "group": "Orbiting object emitter configuration", + "name": "SetSpiningSpeed", + "sentence": "", + "events": [ { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "Direction", - "=", - "\"Left\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "SpiningSpeed", + "=", + "Value" + ] + } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "SpriteMultitouchJoystick::AngleTo4Way" - }, - "parameters": [ - "", - "=", - "2", - "Angle", - "" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" } ], - "actions": [ + "objectGroups": [] + }, + { + "description": "Delete orbiting objects that are linked to a center object.", + "fullName": "Delete orbiting objects that are linked to a center object", + "functionType": "Action", + "name": "DeleteOrbitingObjects", + "sentence": "Delete all _PARAM2_ that are linked to _PARAM0_", + "events": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Delete objects", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Delete orbiting objects" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "OrbitingObject", + "Object", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Delete" + }, + "parameters": [ + "OrbitingObject", + "" + ] + } + ] + } + ], + "parameters": [] } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + ], + "parameters": [ { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "Direction", - "=", - "\"Up\"" - ] + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "SpriteMultitouchJoystick::AngleTo4Way" - }, - "parameters": [ - "", - "=", - "3", - "Angle", - "" - ] - } - ], - "actions": [ + "description": "Behavior", + "longDescription": "Cannot be the same object that was used for the Center object", + "name": "Behavior", + "supplementaryInformation": "OrbitingObjects::OrbitingObjectEmitter", + "type": "behavior" + }, { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] + "description": "Orbiting object", + "longDescription": "Cannot be the same object that was used for the Center object", + "name": "OrbitingObject", + "type": "objectList" } - ] + ], + "objectGroups": [] } ], - "parameters": [ + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "AnimateOrbitingObjects" + }, + { + "functionName": "DeleteOrbitingObjects" + }, + { + "functionName": "ForegroundSide" + }, + { + "folderName": "Orbiting object emitter configuration", + "children": [ + { + "functionName": "RadiusX" + }, + { + "functionName": "SetRadiusX" + }, + { + "functionName": "RadiusY" + }, + { + "functionName": "SetRadiusY" + }, + { + "functionName": "Quantity" + }, + { + "functionName": "SetQuantity" + }, + { + "functionName": "OrbitAngularSpeed" + }, + { + "functionName": "SetOrbitAngularSpeed" + }, + { + "functionName": "SpiningSpeed" + }, + { + "functionName": "SetSpiningSpeed" + } + ] + } + ] + }, + "propertyDescriptors": [ { - "description": "Angle", - "name": "Angle", - "type": "expression" + "value": "3", + "type": "Number", + "label": "Quantity of orbiting objects", + "name": "Quantity" }, { - "description": "Direction", - "name": "Direction", - "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\"]", - "type": "stringWithSelector" + "value": "90", + "type": "Number", + "unit": "AngularSpeed", + "label": "Orbit speed", + "description": "Use a negative value to orbit counter-clockwise.", + "name": "OrbitAngularSpeed" + }, + { + "value": "200", + "type": "Number", + "unit": "Pixel", + "label": "Orbit radius on Y axis", + "description": "Use a negative value to change which part is in front.", + "name": "RadiusY" + }, + { + "value": "200", + "type": "Number", + "unit": "Pixel", + "label": "Orbit radius on X axis", + "name": "RadiusX" + }, + { + "value": "0", + "type": "Number", + "unit": "DegreeAngle", + "label": "Starting angle offset", + "advanced": true, + "name": "StartingOffset" + }, + { + "value": "true", + "type": "Boolean", + "label": "Fill the gap when an object is deleted", + "name": "ShouldFillGap" + }, + { + "value": "0", + "type": "Number", + "label": "Z-order offset", + "description": "Leave it to zero for an automatic Z-sorting.", + "advanced": true, + "name": "ZOrderOffset" + }, + { + "value": "0", + "type": "Number", + "unit": "AngularSpeed", + "label": "Spining speed", + "name": "SpiningSpeed" } ], - "objectGroups": [] - }, + "propertiesFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "propertyName": "Quantity" + }, + { + "propertyName": "RadiusX" + }, + { + "propertyName": "RadiusY" + }, + { + "propertyName": "OrbitAngularSpeed" + }, + { + "propertyName": "SpiningSpeed" + }, + { + "propertyName": "ShouldFillGap" + }, + { + "propertyName": "ZOrderOffset" + }, + { + "propertyName": "StartingOffset" + } + ] + } + } + ], + "eventsBasedObjects": [] + }, + { + "author": "", + "category": "User interface", + "dimension": "2D", + "extensionNamespace": "", + "fullName": "Slider", + "gdevelopVersion": ">=5.5.230", + "helpPath": "/objects/slider", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSI3IiByPSIzIi8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMyIgeTE9IjciIHgyPSIyMCIgeTI9IjciLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjciIHgyPSIyNiIgeTI9IjciLz4NCjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjEyIiBjeT0iMTYiIHI9IjMiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIzIiB5MT0iMTYiIHgyPSI5IiB5Mj0iMTYiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjE2IiB4Mj0iMTUiIHkyPSIxNiIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSIyNSIgcj0iMyIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjMiIHkxPSIyNSIgeDI9IjIwIiB5Mj0iMjUiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjI1IiB4Mj0iMjYiIHkyPSIyNSIvPg0KPC9zdmc+DQo=", + "name": "PanelSpriteSlider", + "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/Line Hero Pack/Master/SVG/UI Essentials/1678c39a3b2bd3df4f82a8a293770db4986a6bcfd3f78e738ddfc86e39176423_UI Essentials_sliders_options.svg", + "shortDescription": "A draggable slider that users can move to select a numerical value.", + "version": "2.0.2", + "description": [ + "A draggable slider that users can move to select a numerical value. The slider can be customized with sprites.", + "", + "There are ready-to-use sliders in the asset-store [settings UI pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=settings-ui-settings-ui)." + ], + "origin": { + "identifier": "PanelSpriteSlider", + "name": "gdevelop-extension-store" + }, + "tags": [ + "draggable", + "slider", + "ui", + "widget" + ], + "authorIds": [ + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2", + "gqDaZjCfevOOxBYkK6zlhtZnXCg1" + ], + "changelog": [ + { + "version": "2.0.0", + "breaking": "- Sliders now use \"variants\", allowing easy swapping of their visual aspect. You will have to make some adjustments to existing sliders in your project. Follow this [migration documentation](https://wiki.gdevelop.io/gdevelop5/objects/custom-objects-prefab-template/migrate-to-variants/) to do these changes." + } + ], + "dependencies": [], + "globalVariables": [], + "sceneVariables": [], + "eventsFunctions": [ { - "description": "Check if angle is in a given direction.", - "fullName": "Angle 8-way direction", + "description": "Check if the events are running for the editor.", + "fullName": "Editor is running", "functionType": "Condition", - "name": "IsAngleIn8WayDirection", + "name": "IsInGameEdition", "private": true, - "sentence": "The angle _PARAM1_ is the 8-way direction _PARAM2_", + "sentence": "Events are running for the editor", "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "Direction", - "=", - "\"Right\"" - ] - }, - { - "type": { - "value": "SpriteMultitouchJoystick::AngleTo8Way" - }, - "parameters": [ - "", - "=", - "0", - "Angle", - "" - ] - } + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const game = runtimeScene.getGame();\r", + "eventsFunctionContext.returnValue = game.isInGameEdition && game.isInGameEdition();" ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - }, + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [], + "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "IsInGameEdition" + } + ] + }, + "eventsBasedBehaviors": [ + { + "description": "Represent a value on a slider.", + "fullName": "Slider", + "helpPath": "", + "iconUrl": "", + "name": "Slider", + "objectType": "", + "previewIconUrl": "", + "private": true, + "eventsFunctions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "Direction", - "=", - "\"DownRight\"" - ] - }, - { - "type": { - "value": "SpriteMultitouchJoystick::AngleTo8Way" - }, - "parameters": [ - "", - "=", - "1", - "Angle", - "" - ] - } - ], - "actions": [ + "description": "the value of the object.", + "fullName": "Value", + "functionType": "ExpressionAndCondition", + "name": "Value", + "sentence": "the value", + "events": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "CurrentValue" + ] + } ] } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "Direction", - "=", - "\"Down\"" - ] + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "SpriteMultitouchJoystick::AngleTo8Way" - }, - "parameters": [ - "", - "=", - "2", - "Angle", - "" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::Slider", + "type": "behavior" } ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "Value", + "name": "SetValue", + "sentence": "", + "events": [ { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "Direction", - "=", - "\"DownLeft\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "StepSize", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "CurrentValue", + "=", + "clamp(Value, MinValue, MaxValue)" + ] + } ] }, { - "type": { - "value": "SpriteMultitouchJoystick::AngleTo8Way" - }, - "parameters": [ - "", - "=", - "3", - "Angle", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "StepSize", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "CurrentValue", + "=", + "clamp(round(Value / StepSize) * StepSize, MinValue, MaxValue)" + ] + } ] } ], - "actions": [ + "parameters": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::Slider", + "type": "behavior" } - ] + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "Direction", - "=", - "\"Left\"" - ] - }, + "description": "the minimum value of the object.", + "fullName": "Minimum value", + "functionType": "ExpressionAndCondition", + "group": "Resource bar configuration", + "name": "MinValue", + "sentence": "the minimum value", + "events": [ { - "type": { - "value": "SpriteMultitouchJoystick::AngleTo8Way" - }, - "parameters": [ - "", - "=", - "4", - "Angle", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "MinValue" + ] + } ] } ], - "actions": [ + "expressionType": { + "type": "expression" + }, + "parameters": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::Slider", + "type": "behavior" } - ] + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "Direction", - "=", - "\"UpLeft\"" - ] - }, + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "MinValue", + "group": "Resource bar configuration", + "name": "SetMinValue", + "sentence": "", + "events": [ { - "type": { - "value": "SpriteMultitouchJoystick::AngleTo8Way" - }, - "parameters": [ - "", - "=", - "5", - "Angle", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "MinValue", + "=", + "Value" + ] + }, + { + "type": { + "value": "PanelSpriteSlider::Slider::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::Value()", + "" + ] + } ] } ], - "actions": [ + "parameters": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::Slider", + "type": "behavior" } - ] + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "Direction", - "=", - "\"Up\"" - ] - }, + "description": "the maximum value of the object.", + "fullName": "Maximum value", + "functionType": "ExpressionAndCondition", + "group": "Resource bar configuration", + "name": "MaxValue", + "sentence": "the maximum value", + "events": [ { - "type": { - "value": "SpriteMultitouchJoystick::AngleTo8Way" - }, - "parameters": [ - "", - "=", - "6", - "Angle", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "MaxValue" + ] + } ] } ], - "actions": [ + "expressionType": { + "type": "expression" + }, + "parameters": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::Slider", + "type": "behavior" } - ] + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "MaxValue", + "group": "Resource bar configuration", + "name": "SetMaxValue", + "sentence": "", + "events": [ { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "Direction", - "=", - "\"UpRight\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "MaxValue", + "=", + "Value" + ] + }, + { + "type": { + "value": "PanelSpriteSlider::Slider::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::Value()", + "" + ] + } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "SpriteMultitouchJoystick::AngleTo8Way" - }, - "parameters": [ - "", - "=", - "7", - "Angle", - "" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::Slider", + "type": "behavior" } ], - "actions": [ + "objectGroups": [] + }, + { + "description": "the bar value bounds size.", + "fullName": "Size", + "functionType": "ExpressionAndCondition", + "name": "Size", + "sentence": "the bar value bounds size", + "events": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::MaxValue() - Object.Behavior::MinValue()" + ] + } ] } - ] - } - ], - "parameters": [ - { - "description": "Angle", - "name": "Angle", - "type": "expression" - }, - { - "description": "Direction", - "name": "Direction", - "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\",\"UpLeft\",\"UpRight\",\"DownLeft\",\"DownRight\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Check if joystick is pushed in a given direction.", - "fullName": "Joystick pushed in a direction (4-way)", - "functionType": "Condition", - "name": "IsDirectionPushed4Way", - "sentence": "Joystick _PARAM2_ of multitouch controller _PARAM1_ is pushed in direction _PARAM3_", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + ], + "expressionType": { + "type": "expression" }, - "comment": "Make sure the joystick has moved from center" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "parameters": [ { - "type": { - "value": "SpriteMultitouchJoystick::JoystickForce" - }, - "parameters": [ - "", - ">", - "0", - "ControllerIdentifier", - "JoystickIdentifier", - "" - ] + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "SpriteMultitouchJoystick::IsAngleIn4WayDirection" - }, - "parameters": [ - "", - "SpriteMultitouchJoystick::JoystickAngle(ControllerIdentifier, JoystickIdentifier)", - "Direction", - "" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::Slider", + "type": "behavior" } ], - "actions": [ + "objectGroups": [] + }, + { + "description": "the step size of the object.", + "fullName": "Step size", + "functionType": "ExpressionAndCondition", + "group": "Resource bar configuration", + "name": "StepSize", + "sentence": "the step size", + "events": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "StepSize" + ] + } ] } - ] - } - ], - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" - }, - { - "description": "Joystick name", - "name": "JoystickIdentifier", - "supplementaryInformation": "[\"Primary\",\"Secondary\"]", - "type": "stringWithSelector" - }, - { - "description": "Direction", - "name": "Direction", - "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Check if joystick is pushed in a given direction.", - "fullName": "Joystick pushed in a direction (8-way)", - "functionType": "Condition", - "name": "IsDirectionPushed8Way", - "sentence": "Joystick _PARAM2_ of multitouch controller _PARAM1_ is pushed in direction _PARAM3_", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + ], + "expressionType": { + "type": "expression" }, - "comment": "Make sure the joystick has moved from center" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "parameters": [ { - "type": { - "value": "SpriteMultitouchJoystick::JoystickForce" - }, - "parameters": [ - "", - ">", - "0", - "ControllerIdentifier", - "JoystickIdentifier", - "" - ] + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "SpriteMultitouchJoystick::IsAngleIn8WayDirection" - }, - "parameters": [ - "", - "SpriteMultitouchJoystick::JoystickAngle(ControllerIdentifier, JoystickIdentifier)", - "Direction", - "" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::Slider", + "type": "behavior" } ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" - }, - { - "description": "Joystick name", - "name": "JoystickIdentifier", - "supplementaryInformation": "[\"Primary\",\"Secondary\"]", - "type": "stringWithSelector" + "objectGroups": [] }, { - "description": "Direction", - "name": "Direction", - "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\",\"UpLeft\",\"UpRight\",\"DownLeft\",\"DownRight\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "the percentage the thumb has been pulled away from the joystick center (Range: 0 to 1).", - "fullName": "Joystick force (deprecated)", - "functionType": "ExpressionAndCondition", - "name": "JoystickForce", - "private": true, - "sentence": "Joystick _PARAM2_ of multitouch controller _PARAM1_ force", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "StepSize", + "group": "Resource bar configuration", + "name": "SetStepSize", + "sentence": "", + "events": [ { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "SpriteMultitouchJoystick::StickForce(ControllerIdentifier, JoystickIdentifier)" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "StepSize", + "=", + "Value" + ] + }, + { + "type": { + "value": "PanelSpriteSlider::Slider::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::Value()", + "" + ] + } ] } - ] + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::Slider", + "type": "behavior" + } + ], + "objectGroups": [] } ], - "expressionType": { - "type": "expression" + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "Value" + }, + { + "functionName": "SetValue" + }, + { + "folderName": "Resource bar configuration", + "children": [ + { + "functionName": "MinValue" + }, + { + "functionName": "SetMinValue" + }, + { + "functionName": "MaxValue" + }, + { + "functionName": "SetMaxValue" + }, + { + "functionName": "StepSize" + }, + { + "functionName": "SetStepSize" + } + ] + }, + { + "functionName": "Size" + } + ] }, - "parameters": [ + "propertyDescriptors": [ { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" + "value": "0", + "type": "Number", + "label": "Value", + "name": "CurrentValue" }, { - "description": "Joystick name", - "name": "JoystickIdentifier", - "supplementaryInformation": "[\"Primary\",\"Secondary\"]", - "type": "stringWithSelector" + "value": "0", + "type": "Number", + "label": "Minimum value", + "name": "MinValue" }, { - "description": "", - "name": "Coucou", - "type": "expression" + "value": "1", + "type": "Number", + "label": "Maximum value", + "name": "MaxValue" + }, + { + "value": "0", + "type": "Number", + "label": "Step size", + "name": "StepSize" } ], - "objectGroups": [] + "propertiesFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "propertyName": "CurrentValue" + }, + { + "propertyName": "MinValue" + }, + { + "propertyName": "MaxValue" + }, + { + "propertyName": "StepSize" + } + ] + } }, { - "description": "the force of multitouch contoller stick (from 0 to 1).", - "fullName": "Stick force", - "functionType": "ExpressionAndCondition", - "name": "StickForce", - "sentence": "multitouch controller _PARAM1_ _PARAM2_ stick force", - "events": [ + "description": "The finite state machine used internally by the button object.", + "fullName": "Button finite state machine", + "helpPath": "", + "iconUrl": "", + "name": "ButtonFSM", + "objectType": "", + "previewIconUrl": "", + "private": true, + "eventsFunctions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", + "events": [ { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "max(0, Controllers[ControllerIdentifier].Joystick[JoystickIdentifier].Force - SpriteMultitouchJoystick::DeadZone(ControllerIdentifier, JoystickIdentifier)) / (1 - SpriteMultitouchJoystick::DeadZone(ControllerIdentifier, JoystickIdentifier))" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PanelSpriteSlider::IsInGameEdition" + }, + "parameters": [ + "", + "" + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Finite state machine", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "The \"Validated\" state only last one frame." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Validated\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Check position", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make sure the cursor position is only checked once per frame." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "MouseIsInside", + "False", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShouldCheckHovering", + "True", + "" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Object", + "MouseOnlyCursorX(Object.Layer(), 0)", + "MouseOnlyCursorY(Object.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "MouseIsInside", + "True", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Touches are always pressed, so ShouldCheckHovering doesn't matter." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "False", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "TouchId", + "!=", + "0" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Object", + "TouchX(TouchId, Object.Layer(), 0)", + "TouchY(TouchId, Object.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "True", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Handle touch start", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "HasAnyTouchOrMouseStarted" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Index", + "=", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "StartedTouchOrMouseCount()", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Object", + "TouchX(StartedTouchOrMouseId(Index), Object.Layer(), 0)", + "TouchY(StartedTouchOrMouseId(Index), Object.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "TouchId", + "=", + "StartedTouchOrMouseId(Index)" + ] + }, + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "True", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Hovered\"" + ] + }, + { + "type": { + "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Idle\"" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Index", + "+", + "1" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Apply position changes", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "BooleanVariable" + }, + "parameters": [ + "MouseIsInside", + "True", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Hovered\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "MouseIsInside", + "True", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Hovered\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "BooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "True", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedOutside\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "True", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedOutside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Handle touch end", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "HasTouchEnded" + }, + "parameters": [ + "", + "TouchId" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "TouchId", + "=", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Validated\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + }, + { + "type": { + "inverted": true, + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Validated\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } ] } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" - }, - { - "description": "Stick name", - "name": "JoystickIdentifier", - "supplementaryInformation": "[\"Primary\",\"Secondary\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Change the percentage the thumb has been pulled away from the joystick center (Range: 0 to 1).", - "fullName": "Joystick force", - "functionType": "Action", - "name": "SetJoystickForce", - "private": true, - "sentence": "Change the force of the joystick _PARAM2_ of multitouch controller _PARAM1_ to _PARAM3_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + ], + "parameters": [ { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Controllers[ControllerIdentifier].Joystick[JoystickIdentifier].Force", - "=", - "Value" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" - }, - { - "description": "Joystick name", - "name": "JoystickIdentifier", - "type": "string" - }, - { - "description": "Value", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Return the angle the joystick is pointing towards (Range: -180 to 180).", - "fullName": "Joystick angle (deprecated)", - "functionType": "Expression", - "name": "JoystickAngle", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "description": "Object", + "name": "Object", + "type": "object" + }, { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "SpriteMultitouchJoystick::StickAngle(ControllerIdentifier, JoystickIdentifier)" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", + "type": "behavior" } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" + ], + "objectGroups": [] }, { - "description": "Joystick name", - "name": "JoystickIdentifier", - "supplementaryInformation": "[\"Primary\",\"Secondary\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Return the angle the multitouch controller stick is pointing towards (Range: -180 to 180).", - "fullName": "Stick angle", - "functionType": "Expression", - "name": "StickAngle", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "fullName": "", + "functionType": "Action", + "name": "onDeActivate", + "sentence": "", + "events": [ { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Controllers[ControllerIdentifier].Joystick[JoystickIdentifier].Angle" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "TouchId", + "=", + "0" + ] + } ] } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" - }, - { - "description": "Joystick name", - "name": "JoystickIdentifier", - "supplementaryInformation": "[\"Primary\",\"Secondary\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Change the angle the joystick is pointing towards (Range: -180 to 180).", - "fullName": "Joystick angle", - "functionType": "Action", - "name": "SetJoystickAngle", - "private": true, - "sentence": "Change the angle of the joystick _PARAM2_ of multitouch controller _PARAM1_ to _PARAM3_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + ], + "parameters": [ { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Controllers[ControllerIdentifier].Joystick[JoystickIdentifier].Angle", - "=", - "Value" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" - }, - { - "description": "Joystick name", - "name": "JoystickIdentifier", - "type": "string" - }, - { - "description": "Value", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Return the multitouch contoller stick force on X axis (from -1 at the left to 1 at the right).", - "fullName": "Stick X force", - "functionType": "Expression", - "name": "StickForceX", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "description": "Object", + "name": "Object", + "type": "object" + }, { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "XFromAngleAndDistance(SpriteMultitouchJoystick::StickAngle(ControllerIdentifier, JoystickIdentifier), SpriteMultitouchJoystick::StickForce(ControllerIdentifier, JoystickIdentifier))" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", + "type": "behavior" } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" + ], + "objectGroups": [] }, { - "description": "Joystick name", - "name": "JoystickIdentifier", - "supplementaryInformation": "[\"Primary\",\"Secondary\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Return the multitouch contoller stick force on Y axis (from -1 at the top to 1 at the bottom).", - "fullName": "Stick Y force", - "functionType": "Expression", - "name": "StickForceY", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "description": "Check if the button is not used.", + "fullName": "Is idle", + "functionType": "Condition", + "name": "IsIdle", + "sentence": "_PARAM0_ is idle", + "events": [ { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "YFromAngleAndDistance(SpriteMultitouchJoystick::StickAngle(ControllerIdentifier, JoystickIdentifier), SpriteMultitouchJoystick::StickForce(ControllerIdentifier, JoystickIdentifier))" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } ] } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier", - "type": "expression" + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] }, { - "description": "Joystick name", - "name": "JoystickIdentifier", - "supplementaryInformation": "[\"Primary\",\"Secondary\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Check if a new touch has started on the right or left side of the screen.", - "fullName": "New touch on a screen side", - "functionType": "Condition", - "group": "Multitouch Joystick", - "name": "HasTouchStartedOnScreenSide", - "sentence": "A new touch has started on the _PARAM2_ side of the screen on _PARAM1_'s layer", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "description": "Check if the button was just clicked.", + "fullName": "Is clicked", + "functionType": "Condition", + "name": "IsClicked", + "sentence": "_PARAM0_ is clicked", + "events": [ { - "type": { - "value": "HasAnyTouchOrMouseStarted" - }, - "parameters": [ - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Validated\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } ] } ], - "actions": [], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the cursor is hovered over the button.", + "fullName": "Is hovered", + "functionType": "Condition", + "name": "IsHovered", + "sentence": "_PARAM0_ is hovered", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -35409,22 +5862,57 @@ "value": "StringVariable" }, "parameters": [ - "Side", + "State", "=", - "\"Left\"" + "\"Hovered\"" ] - }, + } + ], + "actions": [ { "type": { - "value": "TouchX" + "value": "SetReturnBoolean" }, "parameters": [ - "", - "StartedTouchOrMouseId(0)", - "<", - "CameraCenterX(Object.Layer())", - "Object.Layer()", - "" + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is either hovered or pressed but not hovered.", + "fullName": "Is focused", + "functionType": "Condition", + "name": "IsFocused", + "sentence": "_PARAM0_ is focused", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Hovered\"" ] } ], @@ -35447,22 +5935,57 @@ "value": "StringVariable" }, "parameters": [ - "Side", + "State", "=", - "\"Right\"" + "\"PressedOutside\"" ] - }, + } + ], + "actions": [ { "type": { - "value": "TouchX" + "value": "SetReturnBoolean" }, "parameters": [ - "", - "StartedTouchOrMouseId(0)", - ">=", - "CameraCenterX(Object.Layer())", - "Object.Layer()", - "" + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is currently being pressed with mouse or touch.", + "fullName": "Is pressed", + "functionType": "Condition", + "name": "IsPressed", + "sentence": "_PARAM0_ is pressed", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" ] } ], @@ -35477,64 +6000,50 @@ } ] } - ] - } - ], - "parameters": [ - { - "description": "Multitouch joystick", - "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", - "type": "objectList" + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] }, { - "description": "Screen side", - "name": "Side", - "supplementaryInformation": "[\"Left\",\"Right\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - } - ], - "eventsBasedBehaviors": [ - { - "description": "Joystick that can be controlled by interacting with a touchscreen.", - "fullName": "Multitouch Joystick", - "name": "MultitouchJoystick", - "objectType": "", - "private": true, - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "onCreated", - "sentence": "", + "description": "Check if the button is currently being pressed outside with mouse or touch.", + "fullName": "Is held outside", + "functionType": "Condition", + "name": "IsPressedOutside", + "sentence": "_PARAM0_ is held outside", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::SetDeadZone" + "value": "StringVariable" }, "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "DeadZoneRadius", - "" + "State", + "=", + "\"PressedOutside\"" ] - }, + } + ], + "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::Reset" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "" + "True" ] } ] @@ -35549,17 +6058,18 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", + "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", "type": "behavior" } ], "objectGroups": [] }, { - "fullName": "", - "functionType": "Action", - "name": "onDeActivate", - "sentence": "", + "description": "the touch id that is using the button or 0 if none.", + "fullName": "Touch id", + "functionType": "ExpressionAndCondition", + "name": "TouchId", + "sentence": "the touch id", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -35567,17 +6077,18 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::Reset" + "value": "SetReturnNumber" }, "parameters": [ - "Object", - "Behavior", - "" + "TouchId" ] } ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { "description": "Object", @@ -35587,582 +6098,628 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", + "supplementaryInformation": "PanelSpriteSlider::ButtonFSM", "type": "behavior" } ], "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "doStepPostEvents" + }, + { + "functionName": "onDeActivate" + }, + { + "functionName": "IsIdle" + }, + { + "functionName": "IsClicked" + }, + { + "functionName": "IsHovered" + }, + { + "functionName": "IsFocused" + }, + { + "functionName": "IsPressed" + }, + { + "functionName": "IsPressedOutside" + }, + { + "functionName": "TouchId" + } + ] + }, + "propertyDescriptors": [ + { + "value": "true", + "type": "Boolean", + "label": "", + "description": "Should check hovering", + "hidden": true, + "name": "ShouldCheckHovering" }, { - "fullName": "", - "functionType": "Action", - "name": "doStepPreEvents", - "sentence": "", - "events": [ + "value": "Idle", + "type": "Choice", + "label": "State", + "choices": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "SpriteMultitouchJoystick::IsInGameEdition" - }, - "parameters": [ - "", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "HasGameJustResumed" - }, - "parameters": [ - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::Reset" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Manage touches", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "HasAnyTouchOrMouseStarted" - }, - "parameters": [ - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "TouchIndex", - "=", - "0" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Repeat", - "repeatExpression": "StartedTouchOrMouseCount()", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "TouchId", - "=", - "0" - ] - }, - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "Object", - "TouchX(StartedTouchOrMouseId(TouchIndex), Object.Layer(), 0)", - "TouchY(StartedTouchOrMouseId(TouchIndex), Object.Layer(), 0)" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "TouchId", - "=", - "StartedTouchOrMouseId(TouchIndex)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "TouchIndex", - "+", - "1" - ] - } - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move thumb back to center when not being pressed (acts like a spring on a real controller)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "HasTouchEnded" - }, - "parameters": [ - "", - "TouchId" - ] - } - ], - "actions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::Reset" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Update joystick position", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "TouchId", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetJoystickAngle" - }, - "parameters": [ - "Object", - "Behavior", - "AngleBetweenPositions(Object.CenterX(), Object.CenterY(), TouchX(TouchId, Object.Layer(), 0), TouchY(TouchId, Object.Layer(), 0))", - "AngleBetweenPositions(Object.CenterX(), Object.CenterY(), TouchX(TouchId, Object.Layer(), 0), TouchY(TouchId, Object.Layer(), 0))" - ] - }, - { - "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetJoystickForce" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "clamp(2 * DistanceBetweenPositions(Object.CenterX(), Object.CenterY(), TouchX(TouchId, Object.Layer(), 0), TouchY(TouchId, Object.Layer(), 0)) / Object.Width(), 0, 1)", - "" - ] - } - ] - } - ], - "parameters": [] - } - ] + "label": "Idle", + "value": "Idle" + }, + { + "label": "Hovered", + "value": "Hovered" + }, + { + "label": "PressedInside", + "value": "PressedInside" + }, + { + "label": "PressedOutside", + "value": "PressedOutside" + }, + { + "label": "Validated", + "value": "Validated" } ], - "parameters": [ + "hidden": true, + "name": "State" + }, + { + "value": "0", + "type": "Number", + "label": "Touch id", + "hidden": true, + "name": "TouchId" + }, + { + "value": "", + "type": "Boolean", + "label": "Touch is inside", + "hidden": true, + "name": "TouchIsInside" + }, + { + "value": "", + "type": "Boolean", + "label": "Mouse is inside", + "hidden": true, + "name": "MouseIsInside" + }, + { + "value": "", + "type": "Number", + "label": "", + "hidden": true, + "name": "Index" + } + ], + "propertiesFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "propertyName": "ShouldCheckHovering" + }, + { + "propertyName": "State" + }, + { + "propertyName": "TouchId" + }, + { + "propertyName": "TouchIsInside" + }, + { + "propertyName": "MouseIsInside" + }, + { + "propertyName": "Index" + } + ] + } + } + ], + "eventsBasedObjects": [ + { + "areaMaxX": 256, + "areaMaxY": 64, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "assetStoreTag": "slider", + "defaultName": "Slider", + "description": "Let users select a numerical value by dragging a slider.", + "fullName": "Slider", + "helpPath": "", + "iconUrl": "", + "isInnerAreaFollowingParentSize": true, + "isUsingLegacyInstancesRenderer": false, + "name": "PanelSpriteSlider", + "previewIconUrl": "", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "It displays the value when it changes.", + "font": "", + "textAlignment": "", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "It displays the value when it changes.", + "font": "", + "textAlignment": "", + "verticalTextAlignment": "top", + "characterSize": 20, + "lineHeight": 0, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Thumb", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ { - "description": "Object", - "name": "Object", - "type": "object" + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "leftEdgeAnchor": 0, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 4, + "useLegacyBottomAndRightAnchors": false }, { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" + "name": "Draggable", + "type": "DraggableBehavior::Draggable", + "checkCollisionMask": false + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "topEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Slider", + "type": "PanelSpriteSlider::Slider", + "Value": 0, + "MinValue": 0, + "MaxValue": 1, + "StepSize": 1 + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Background", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "topEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ButtonFSM", + "type": "PanelSpriteSlider::ButtonFSM", + "ShouldCheckHovering": true, + "State": "Idle", + "TouchId": 0, + "TouchIsInside": false, + "MouseIsInside": false, + "Index": 0 + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "Thumb" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Background" + } + ] + }, + "objectsGroups": [], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "", + "renderingType": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 } ], - "objectGroups": [] + "effects": [] + } + ], + "instances": [ + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "7b36a716-8a01-496a-ad7d-0de60daff8f9", + "width": 256, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] }, { - "description": "the joystick force (from 0 to 1).", - "fullName": "Joystick force", - "functionType": "ExpressionAndCondition", - "name": "JoystickForce", - "sentence": "the joystick force", + "angle": 0, + "customSize": true, + "depth": 1, + "height": 44, + "layer": "", + "name": "FillBar", + "persistentUuid": "e775f69e-7845-4103-8a05-5266aba60742", + "width": 236, + "x": 10, + "y": 10, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 84, + "layer": "", + "name": "Thumb", + "persistentUuid": "476a27da-e34f-451f-b660-04a6bbefddbe", + "width": 32, + "x": 230, + "y": -10, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": [], + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "onCreated", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "PanelSpriteSlider::IsInGameEdition" + }, + "parameters": [ + "", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "ActivateBehavior" }, "parameters": [ - "max(0, JoystickForce - DeadZoneRadius) / (1 - DeadZoneRadius)" + "Thumb", + "Draggable", + "" ] } ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "JoystickForce", - "name": "SetJoystickForce", - "private": true, - "sentence": "", - "events": [ + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Anchors won't work as there is an absolute margin and a proportional size at the same time" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "FillBar", + "Anchor", + "" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Thumb", + "Anchor", + "" + ] + }, { "type": { "value": "SetNumberVariable" }, "parameters": [ - "JoystickForce", + "BarLeftPlusRightMargin", "=", - "Value" + "Object.Width() - FillBar.Width()" ] }, { "type": { - "value": "SpriteMultitouchJoystick::SetJoystickForce" + "value": "SetNumberVariable" }, "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "JoystickForce", - "" + "BarTopPlusBottomMargin", + "=", + "Object.Height() - FillBar.Height()" ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "This allows to detect a change of \"intial value\" on hot reload." }, - { - "description": "", - "name": "Parameter", - "type": "objectList" - } - ], - "objectGroups": [] - }, - { - "description": "Return the angle the joystick is pointing towards (Range: -180 to 180).", - "fullName": "Joystick angle", - "functionType": "Expression", - "name": "JoystickAngle", - "sentence": "", - "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetNumberVariable" }, "parameters": [ - "JoystickAngle" + "PreviousInitialValue", + "=", + "InitialValue" ] } ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change the angle the joystick is pointing towards (Range: -180 to 180).", - "fullName": "Joystick angle", - "functionType": "Action", - "name": "SetJoystickAngle", - "private": true, - "sentence": "Change the joystick angle of _PARAM0_ to _PARAM2_", - "events": [ + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create the label that is displayed over the thumb." + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "Create" }, "parameters": [ - "JoystickAngle", - "=", - "Value" + "", + "Label", + "0", + "0", + "" ] }, { "type": { - "value": "SpriteMultitouchJoystick::SetJoystickAngle" + "value": "Hide" }, "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "JoystickAngle", - "" + "Label" ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" }, { - "description": "Angle", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Return the stick force on X axis (from -1 at the left to 1 at the right).", - "fullName": "Stick X force", - "functionType": "Expression", - "name": "StickForceX", - "sentence": "", - "events": [ + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Pass the configuration to the behavior." + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "PanelSpriteSlider::PanelSpriteSlider::UpdateSliderConfiguration" }, "parameters": [ - "Object.Behavior::JoystickForce() * cos(ToRad(Object.Behavior::JoystickAngle()))" + "Object", + "" ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the stick force on Y axis (from -1 at the top to 1 at the bottom).", - "fullName": "Stick Y force", - "functionType": "Expression", - "name": "StickForceY", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + }, { "type": { - "value": "SetReturnNumber" + "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" }, "parameters": [ - "Object.Behavior::JoystickForce() * sin(ToRad(Object.Behavior::JoystickAngle()))" + "Object", + "=", + "InitialValue", + "Object.PropertyInitialValue()" ] } ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if joystick is pushed in a given direction.", - "fullName": "Joystick pushed in a direction (4-way movement)", - "functionType": "Condition", - "name": "IsDirectionPushed4Way", - "sentence": "_PARAM0_ is pushed in direction _PARAM2_", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::JoystickForce" + "value": "SetIncludedInParentCollisionMask" }, "parameters": [ - "Object", - "Behavior", - ">", - "0", + "Label", "" ] }, { "type": { - "value": "SpriteMultitouchJoystick::IsAngleIn4WayDirection" + "value": "SetIncludedInParentCollisionMask" }, "parameters": [ - "", - "JoystickAngle", - "Direction", + "Thumb", "" ] - } - ], - "actions": [ + }, { "type": { - "value": "SetReturnBoolean" + "value": "SetIncludedInParentCollisionMask" }, "parameters": [ - "True" + "FillBar", + "" ] } ] @@ -36172,64 +6729,67 @@ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" - }, - { - "description": "Direction", - "name": "Direction", - "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\"]", - "type": "stringWithSelector" } ], "objectGroups": [] }, { - "description": "Check if joystick is pushed in a given direction.", - "fullName": "Joystick pushed in a direction (8-way movement)", - "functionType": "Condition", - "name": "IsDirectionPushed8Way", - "sentence": "_PARAM0_ is pushed in direction _PARAM2_", + "fullName": "", + "functionType": "Action", + "name": "onHotReloading", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::JoystickForce" + "value": "PanelSpriteSlider::PanelSpriteSlider::UpdateSliderConfiguration" }, "parameters": [ "Object", - "Behavior", - ">", - "0", "" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::IsAngleIn8WayDirection" + "value": "NumberVariable" }, "parameters": [ - "", - "JoystickAngle", - "Direction", - "" + "InitialValue", + "!=", + "PreviousInitialValue" ] } ], "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "SetNumberVariable" }, "parameters": [ - "True" + "PreviousInitialValue", + "=", + "InitialValue" + ] + }, + { + "type": { + "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" + }, + "parameters": [ + "Object", + "=", + "InitialValue", + "Object.PropertyInitialValue()" ] } ] @@ -36239,29 +6799,17 @@ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" - }, - { - "description": "Direction", - "name": "Direction", - "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\",\"UpLeft\",\"UpRight\",\"DownLeft\",\"DownRight\"]", - "type": "stringWithSelector" } ], "objectGroups": [] }, { - "description": "Check if a joystick is pressed.", - "fullName": "Joystick pressed", - "functionType": "Condition", - "name": "IsPressed", - "sentence": "Joystick _PARAM0_ is pressed", + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -36271,151 +6819,448 @@ "value": "NumberVariable" }, "parameters": [ - "TouchId", + "OldParentWidth", "!=", - "0" + "Object.Width()" ] } ], "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "SetNumberVariable" }, "parameters": [ - "True" + "OldParentWidth", + "=", + "Object.Width()" + ] + }, + { + "type": { + "value": "PanelSpriteSlider::PanelSpriteSlider::UpdateThumbPosition" + }, + "parameters": [ + "Object", + "" ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Reset the joystick values (except for angle, which stays the same)", - "fullName": "Reset", - "functionType": "Action", - "name": "Reset", - "private": true, - "sentence": "Reset the joystick of _PARAM0_", - "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetJoystickForce" + "value": "ResizableCapability::ResizableBehavior::SetHeight" }, "parameters": [ - "Object", - "Behavior", + "FillBar", + "Resizable", "=", - "0", - "" + "Object.Height() - BarTopPlusBottomMargin" ] }, { "type": { - "value": "SetNumberVariable" + "value": "SetCenterY" }, "parameters": [ - "TouchId", + "Thumb", "=", - "0" + "FillBar.CenterY()" + ] + }, + { + "type": { + "value": "SetY" + }, + "parameters": [ + "Label", + "=", + "Thumb.Y() - Label.Height() - LabelMargin" ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the multitouch controller identifier.", - "fullName": "Multitouch controller identifier", - "functionType": "ExpressionAndCondition", - "group": "Multitouch Joystick configuration", - "name": "ControllerIdentifier", - "sentence": "the multitouch controller identifier", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "SetReturnNumber" + "inverted": true, + "value": "PanelSpriteSlider::IsInGameEdition" }, "parameters": [ - "ControllerIdentifier" + "", + "" ] } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Handle touches", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BehaviorActivated" + }, + "parameters": [ + "Background", + "ButtonFSM" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "DraggableBehavior::Dragged" + }, + "parameters": [ + "Thumb", + "Draggable" + ] + }, + { + "type": { + "inverted": true, + "value": "DraggableBehavior::Dropped" + }, + "parameters": [ + "Thumb", + "Draggable" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "PanelSpriteSlider::ButtonFSM::IsPressed" + }, + "parameters": [ + "Background", + "ButtonFSM", + "" + ] + }, + { + "type": { + "value": "PanelSpriteSlider::ButtonFSM::IsPressedOutside" + }, + "parameters": [ + "Background", + "ButtonFSM", + "" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" + }, + "parameters": [ + "Object", + "=", + "FillBar.Slider::MinValue() + FillBar.Slider::Size() * (TouchX(Background.ButtonFSM::TouchId(), Object.Layer()) - FillBar.X()) / Object.FullBarWidth()", + "FillBar.Slider::MinValue() + FillBar.Slider::Size() * (MouseX() - Object.FullBarLeft()) / Object.FullBarWidth()" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShowLabelAtChanges", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Show" + }, + "parameters": [ + "Label", + "" + ] + }, + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Label", + "\"HideBack\"" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableBehavior::Dragged" + }, + "parameters": [ + "Thumb", + "Draggable" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteSlider::PanelSpriteSlider::SetValue" + }, + "parameters": [ + "Object", + "=", + "FillBar.Slider::MinValue() + FillBar.Slider::Size() * (Thumb.CenterX() - FillBar.X()) / Object.FullBarWidth()", + "FillBar.Slider::MinValue() + FillBar.Slider::Size() * (Thumb.CenterX() - Object.FullBarLeft()) / Object.FullBarWidth()" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShowLabelAtChanges", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Show" + }, + "parameters": [ + "Label", + "" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableBehavior::Dropped" + }, + "parameters": [ + "Thumb", + "Draggable" + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Label", + "\"HideBack\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShowLabelAtChanges", + "True", + "" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Thumb", + "MouseOnlyCursorX(Object.Layer(), 0)", + "MouseOnlyCursorY(Thumb.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "Show" + }, + "parameters": [ + "Label", + "" + ] + }, + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Label", + "\"HideBack\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CompareObjectTimer" + }, + "parameters": [ + "Label", + "\"HideBack\"", + ">", + "0.5" + ] + } + ], + "actions": [ + { + "type": { + "value": "Hide" + }, + "parameters": [ + "Label" + ] + }, + { + "type": { + "value": "RemoveObjectTimer" + }, + "parameters": [ + "Label", + "\"HideBack\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" } ], "objectGroups": [] }, { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "ControllerIdentifier", - "name": "SetControllerIdentifier", - "sentence": "", + "description": "Check if the slider is being dragged.", + "fullName": "Being dragged", + "functionType": "Condition", + "group": "Slider", + "name": "IsBeingDragged", + "sentence": "_PARAM0_ is being dragged", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "DraggableBehavior::Dragged" + }, + "parameters": [ + "Thumb", + "Draggable" + ] + }, + { + "type": { + "value": "PanelSpriteSlider::ButtonFSM::IsPressed" + }, + "parameters": [ + "Background", + "ButtonFSM", + "" + ] + }, + { + "type": { + "value": "PanelSpriteSlider::ButtonFSM::IsPressedOutside" + }, + "parameters": [ + "Background", + "ButtonFSM", + "" + ] + } + ] + } + ], "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "SetReturnBoolean" }, "parameters": [ - "ControllerIdentifier", - "=", - "Value" + "True" ] } ] @@ -36425,24 +7270,18 @@ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" } ], "objectGroups": [] }, { - "description": "the joystick name.", - "fullName": "Joystick name", + "description": "the value of the slider.", + "fullName": "Value", "functionType": "ExpressionAndCondition", - "group": "Multitouch Joystick configuration", - "name": "JoystickIdentifier", - "sentence": "the joystick name", + "name": "Value", + "sentence": "the value", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -36450,29 +7289,24 @@ "actions": [ { "type": { - "value": "SetReturnString" + "value": "SetReturnNumber" }, "parameters": [ - "JoystickIdentifier" + "FillBar.Slider::Value()" ] } ] } ], "expressionType": { - "type": "string" + "type": "expression" }, "parameters": [ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" } ], "objectGroups": [] @@ -36480,8 +7314,8 @@ { "fullName": "", "functionType": "ActionWithOperator", - "getterName": "JoystickIdentifier", - "name": "SetJoystickIdentifier", + "getterName": "Value", + "name": "SetValue", "sentence": "", "events": [ { @@ -36490,12 +7324,23 @@ "actions": [ { "type": { - "value": "SetStringVariable" + "value": "PanelSpriteSlider::Slider::SetValue" }, "parameters": [ - "JoystickIdentifier", + "FillBar", + "Slider", "=", - "Value" + "Value", + "" + ] + }, + { + "type": { + "value": "PanelSpriteSlider::PanelSpriteSlider::UpdateThumbPosition" + }, + "parameters": [ + "Object", + "" ] } ] @@ -36505,24 +7350,25 @@ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" }, { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", + "supplementaryInformation": "PanelSpriteSlider::Slider", "type": "behavior" } ], "objectGroups": [] }, { - "description": "the dead zone radius (range: 0 to 1) of the joystick. The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved).", - "fullName": "Dead zone radius", + "description": "the minimum value of the slider.", + "fullName": "Minimum value", "functionType": "ExpressionAndCondition", - "group": "Multitouch Joystick configuration", - "name": "DeadZoneRadius", - "sentence": "the dead zone radius", + "group": "Slider configuration", + "name": "MinValue", + "sentence": "the minimum value", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -36533,7 +7379,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "DeadZoneRadius" + "FillBar.Slider::MinValue()" ] } ] @@ -36546,13 +7392,8 @@ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" } ], "objectGroups": [] @@ -36560,8 +7401,9 @@ { "fullName": "", "functionType": "ActionWithOperator", - "getterName": "DeadZoneRadius", - "name": "SetDeadZoneRadius", + "getterName": "MinValue", + "group": "Slider configuration", + "name": "SetMinValue", "sentence": "", "events": [ { @@ -36570,23 +7412,22 @@ "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "PanelSpriteSlider::Slider::SetMinValue" }, "parameters": [ - "DeadZoneRadius", + "FillBar", + "Slider", "=", - "Value" + "Value", + "" ] }, { "type": { - "value": "SpriteMultitouchJoystick::SetDeadZone" + "value": "PanelSpriteSlider::PanelSpriteSlider::UpdateThumbPosition" }, "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "Value", + "Object", "" ] } @@ -36597,23 +7438,25 @@ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" }, { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", + "supplementaryInformation": "PanelSpriteSlider::Slider", "type": "behavior" } ], "objectGroups": [] }, { - "description": "Force the joystick into the pressing state.", - "fullName": "Force start pressing", - "functionType": "Action", - "name": "ForceStartPressing", - "sentence": "Force start pressing _PARAM0_ with touch identifier: _PARAM2_", + "description": "the maximum value of the slider.", + "fullName": "Maximum value", + "functionType": "ExpressionAndCondition", + "group": "Slider configuration", + "name": "MaxValue", + "sentence": "the maximum value", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -36621,368 +7464,188 @@ "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "SetReturnNumber" }, "parameters": [ - "TouchId", - "=", - "Value" + "FillBar.Slider::MaxValue()" ] } ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick", - "type": "behavior" - }, - { - "description": "Touch identifier", - "name": "Value", - "type": "expression" } ], "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "1", - "type": "Number", - "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier" - }, - { - "value": "Primary", - "type": "String", - "label": "Joystick name", - "name": "JoystickIdentifier" - }, - { - "value": "0.4", - "type": "Number", - "label": "Dead zone radius (range: 0 to 1)", - "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "name": "DeadZoneRadius" - }, - { - "value": "0", - "type": "Number", - "label": "Joystick angle (range: -180 to 180)", - "hidden": true, - "name": "JoystickAngle" - }, - { - "value": "0", - "type": "Number", - "label": "Joystick force (range: 0 to 1)", - "hidden": true, - "name": "JoystickForce" - }, - { - "value": "0", - "type": "Number", - "label": "", - "hidden": true, - "name": "TouchId" }, - { - "value": "", - "type": "Number", - "label": "", - "hidden": true, - "name": "TouchIndex" - } - ], - "sharedPropertyDescriptors": [] - }, - { - "description": "Detect presses made on a touchscreen on the object so it acts like a button and automatically trigger the button having the same identifier for the mapper behaviors.", - "fullName": "Multitouch button", - "name": "MultitouchButton", - "objectType": "", - "eventsFunctions": [ { "fullName": "", - "functionType": "Action", - "name": "doStepPreEvents", + "functionType": "ActionWithOperator", + "getterName": "MaxValue", + "group": "Slider configuration", + "name": "SetMaxValue", "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "IsReleased", - "True", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "IsReleased", - "False", - "" - ] - }, - { - "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetButtonState" - }, - "parameters": [ - "Object", - "Behavior", - "\"Idle\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "IsJustPressed", - "True", - "" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "SetBooleanVariable" + "value": "PanelSpriteSlider::Slider::SetMaxValue" }, "parameters": [ - "IsJustPressed", - "False", + "FillBar", + "Slider", + "=", + "Value", "" ] }, { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetButtonState" + "value": "PanelSpriteSlider::PanelSpriteSlider::UpdateThumbPosition" }, "parameters": [ "Object", - "Behavior", - "\"Pressed\"", "" ] } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", + "type": "object" }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::Slider", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the step size of the slider.", + "fullName": "Step size", + "functionType": "ExpressionAndCondition", + "group": "Slider configuration", + "name": "StepSize", + "sentence": "the step size", + "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "SpriteMultitouchJoystick::MultitouchButton::IsPressed" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, + "conditions": [], + "actions": [ { "type": { - "value": "HasAnyTouchOrMouseStarted" + "value": "SetReturnNumber" }, "parameters": [ - "" + "FillBar.Slider::StepSize()" ] } - ], + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "StepSize", + "group": "Slider configuration", + "name": "SetStepSize", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "PanelSpriteSlider::Slider::SetStepSize" }, "parameters": [ - "TouchIndex", + "FillBar", + "Slider", "=", - "0" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Repeat", - "repeatExpression": "StartedTouchOrMouseCount()", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "Object", - "TouchX(StartedTouchOrMouseId(TouchIndex), Object.Layer())", - "TouchY(StartedTouchOrMouseId(TouchIndex), Object.Layer())" - ] - }, - { - "type": { - "value": "NumberVariable" - }, - "parameters": [ - "Radius", - ">", - "DistanceBetweenPositions(Object.CenterX(), Object.CenterY(), TouchX(StartedTouchOrMouseId(TouchIndex), Object.Layer()), TouchY(StartedTouchOrMouseId(TouchIndex), Object.Layer()))" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "TouchId", - "=", - "StartedTouchOrMouseId(TouchIndex)" - ] - }, - { - "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetButtonState" - }, - "parameters": [ - "Object", - "Behavior", - "\"JustPressed\"", - "" - ] - }, - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "IsJustPressed", - "True", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "TouchIndex", - "+", - "1" - ] - } - ] - } + "Value", + "" ] } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", + "type": "object" }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteSlider::Slider", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the label is shown.", + "fullName": "Label is shown", + "functionType": "Condition", + "group": "Slider configuration", + "name": "IsLabelShown", + "sentence": "_PARAM0_ label is shown", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::IsPressed" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior", + "ShowLabelAtChanges", + "True", "" ] - }, - { - "type": { - "value": "HasTouchEnded" - }, - "parameters": [ - "", - "TouchId" - ] } ], "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetButtonState" - }, - "parameters": [ - "Object", - "Behavior", - "\"Released\"", - "" - ] - }, - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "IsReleased", - "True", - "" - ] - }, - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "IsJustPressed", - "False", - "" - ] - }, - { - "type": { - "value": "SetNumberVariable" + "value": "SetReturnBoolean" }, "parameters": [ - "TouchId", - "=", - "0" + "True" ] } ] @@ -36992,33 +7655,30 @@ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchButton", - "type": "behavior" } ], "objectGroups": [] }, { - "description": "Check if the button was just pressed.", - "fullName": "Button just pressed", - "functionType": "Condition", - "name": "IsJustPressed", - "sentence": "Button _PARAM0_ was just pressed", + "description": "Show (or hide) the label on the bar.", + "fullName": "Show label", + "functionType": "Action", + "group": "Slider configuration", + "name": "SetLabelShown", + "sentence": "Show the label of _PARAM0_: _PARAM1_", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { + "inverted": true, "value": "BooleanVariable" }, "parameters": [ - "IsJustPressed", + "Value", "True", "" ] @@ -37027,58 +7687,56 @@ "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "SetBooleanVariable" }, "parameters": [ - "True" + "ShowLabelAtChanges", + "False", + "" + ] + }, + { + "type": { + "value": "Hide" + }, + "parameters": [ + "Label" ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchButton", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the button is pressed.", - "fullName": "Button pressed", - "functionType": "Condition", - "name": "IsPressed", - "sentence": "Button _PARAM0_ is pressed", - "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "NumberVariable" + "value": "BooleanVariable" }, "parameters": [ - "TouchId", - "!=", - "0" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "SetBooleanVariable" }, "parameters": [ - "True" + "ShowLabelAtChanges", + "True", + "" + ] + }, + { + "type": { + "value": "Show" + }, + "parameters": [ + "Label", + "" ] } ] @@ -37088,45 +7746,131 @@ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" }, { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchButton", - "type": "behavior" + "description": "Show the label", + "name": "Value", + "type": "yesorno" } ], "objectGroups": [] }, { - "description": "Check if the button is released.", - "fullName": "Button released", - "functionType": "Condition", - "name": "IsReleased", - "sentence": "Button _PARAM0_ is released", + "description": "Update the thumb position according to the slider value.", + "fullName": "Update thumb position", + "functionType": "Action", + "name": "UpdateThumbPosition", + "private": true, + "sentence": "Update the thumb position of _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "BooleanVariable" + "value": "PanelSpriteSlider::Slider::Size" }, "parameters": [ - "IsReleased", - "True", + "FillBar", + "Slider", + ">", + "0", "" ] } ], - "actions": [ + "actions": [], + "events": [ { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetWidth" + }, + "parameters": [ + "FillBar", + "Resizable", + "=", + "Object.FullBarWidth() * (FillBar.Slider::Value() - FillBar.Slider::MinValue()) / FillBar.Slider::Size()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetCenterX" + }, + "parameters": [ + "Thumb", + "=", + "FillBar.X() + FillBar.Width()" + ] + }, + { + "type": { + "value": "SetCenterY" + }, + "parameters": [ + "Thumb", + "=", + "FillBar.CenterY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextContainerCapability::TextContainerBehavior::SetValue" + }, + "parameters": [ + "Label", + "Text", + "=", + "ToString(Object.Value())" + ] + }, + { + "type": { + "value": "SetCenterX" + }, + "parameters": [ + "Label", + "=", + "Thumb.CenterX()" + ] + }, + { + "type": { + "value": "SetY" + }, + "parameters": [ + "Label", + "=", + "Thumb.Y() - Label.Height() - LabelMargin" + ] + }, + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Label", + "=", + "-Object.Angle()" + ] + } ] } ] @@ -37136,23 +7880,18 @@ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchButton", - "type": "behavior" } ], "objectGroups": [] }, { - "fullName": "Button state", - "functionType": "Action", - "name": "SetButtonState", + "fullName": "", + "functionType": "Expression", + "name": "FullBarWidth", "private": true, - "sentence": "Mark the button _PARAM0_ as _PARAM2_", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -37160,174 +7899,115 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::SetButtonState" + "value": "SetReturnNumber" }, "parameters": [ - "", - "ControllerIdentifier", - "ButtonIdentifier", - "ButtonState", - "" + "Object.Width() - BarLeftPlusRightMargin" ] } ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { "description": "Object", "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchButton", - "type": "behavior" - }, - { - "description": "Button state", - "name": "ButtonState", - "supplementaryInformation": "[\"Idle\",\"JustPressed\",\"Pressed\",\"Released\"]", - "type": "stringWithSelector" } ], "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "1", - "type": "Number", - "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier" - }, - { - "value": "A", - "type": "String", - "label": "Button identifier", - "name": "ButtonIdentifier" - }, - { - "value": "0", - "type": "Number", - "label": "TouchID", - "hidden": true, - "name": "TouchId" - }, - { - "value": "", - "type": "Number", - "label": "", - "hidden": true, - "name": "TouchIndex" - }, - { - "value": "", - "type": "Boolean", - "label": "Button released", - "hidden": true, - "name": "IsReleased" }, { - "value": "", - "type": "Boolean", - "label": "Button just pressed", - "hidden": true, - "name": "IsJustPressed" - }, - { - "value": "0", - "type": "Number", - "unit": "Pixel", - "label": "Triggering circle radius", - "description": "This circle adds up to the object collision mask.", - "name": "Radius" - } - ], - "sharedPropertyDescriptors": [] - }, - { - "description": "Control a platformer character with a multitouch controller.", - "fullName": "Platformer multitouch controller mapper", - "name": "PlatformerMultitouchMapper", - "objectType": "", - "quickCustomizationVisibility": "hidden", - "eventsFunctions": [ - { - "fullName": "", + "description": "Update the slider configuration.", + "fullName": "Update slider configuration", "functionType": "Action", - "name": "doStepPreEvents", - "sentence": "", + "name": "UpdateSliderConfiguration", + "private": true, + "sentence": "Update the slider configuration of _PARAM0_", "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Pass configuration to the behavior and update children." + }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"Left\"", - "" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "PlatformBehavior::SimulateLeftKey" + "value": "PanelSpriteSlider::PanelSpriteSlider::SetMinValue" }, "parameters": [ "Object", - "Property" + "=", + "MinValue", + "Object.PropertyMaxValue()" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way" + "value": "PanelSpriteSlider::PanelSpriteSlider::SetMaxValue" }, "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"Right\"", - "" + "Object", + "=", + "MaxValue", + "Object.PropertyMaxValue()" ] - } - ], - "actions": [ + }, { "type": { - "value": "PlatformBehavior::SimulateRightKey" + "value": "PanelSpriteSlider::PanelSpriteSlider::SetStepSize" }, "parameters": [ "Object", - "Property" + "=", + "StepSize", + "Object.PropertyMaxValue()" ] } ] - }, + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "description": "De/activate interactions with the button.", + "fullName": "De/activate interactions", + "functionType": "Action", + "name": "Activate", + "sentence": "Activate interactions with _PARAM0_: _PARAM1_", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way" + "value": "BooleanVariable" }, "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"Up\"", + "ShouldActivate", + "True", "" ] } @@ -37335,20 +8015,22 @@ "actions": [ { "type": { - "value": "PlatformBehavior::SimulateUpKey" + "value": "ActivateBehavior" }, "parameters": [ - "Object", - "Property" + "Thumb", + "Draggable", + "yes" ] }, { "type": { - "value": "PlatformBehavior::SimulateLadderKey" + "value": "ActivateBehavior" }, "parameters": [ - "Object", - "Property" + "Background", + "ButtonFSM", + "yes" ] } ] @@ -37358,13 +8040,12 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way" + "inverted": true, + "value": "BooleanVariable" }, "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"Down\"", + "ShouldActivate", + "True", "" ] } @@ -37372,384 +8053,769 @@ "actions": [ { "type": { - "value": "PlatformBehavior::SimulateDownKey" + "value": "ActivateBehavior" + }, + "parameters": [ + "Thumb", + "Draggable", + "no" + ] + }, + { + "type": { + "value": "ActivateBehavior" }, "parameters": [ - "Object", - "Property" + "Background", + "ButtonFSM", + "no" + ] + }, + { + "type": { + "value": "Hide" + }, + "parameters": [ + "Label" ] } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", + "type": "object" }, + { + "description": "Activate", + "name": "ShouldActivate", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the slider allows interactions.", + "fullName": "Interactions activated", + "functionType": "Condition", + "name": "IsActivated", + "sentence": "Interactions on _PARAM0_ are activated", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::IsButtonPressed" + "value": "BehaviorActivated" }, "parameters": [ - "", - "ControllerIdentifier", - "JumpButton", - "\"Down\"" + "Background", + "ButtonFSM" ] } ], "actions": [ { "type": { - "value": "PlatformBehavior::SimulateJumpKey" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Property" + "True" ] } ] } ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::PlatformerMultitouchMapper", - "type": "behavior" - } + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteSlider::PanelSpriteSlider", + "type": "object" + } + ], + "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "onCreated" + }, + { + "functionName": "onHotReloading" + }, + { + "functionName": "doStepPostEvents" + }, + { + "folderName": "Slider", + "children": [ + { + "functionName": "IsBeingDragged" + } + ] + }, + { + "functionName": "Value" + }, + { + "functionName": "SetValue" + }, + { + "folderName": "Slider configuration", + "children": [ + { + "functionName": "MinValue" + }, + { + "functionName": "SetMinValue" + }, + { + "functionName": "MaxValue" + }, + { + "functionName": "SetMaxValue" + }, + { + "functionName": "StepSize" + }, + { + "functionName": "SetStepSize" + }, + { + "functionName": "IsLabelShown" + }, + { + "functionName": "SetLabelShown" + } + ] + }, + { + "functionName": "UpdateThumbPosition" + }, + { + "functionName": "FullBarWidth" + }, + { + "functionName": "UpdateSliderConfiguration" + }, + { + "functionName": "Activate" + }, + { + "functionName": "IsActivated" + } + ] + }, + "propertyDescriptors": [ + { + "value": "0", + "type": "Number", + "label": "Bar left margin", + "group": "Bar", + "extraInformation": [ + "Label", + "FillBar" + ], + "choices": [], + "hidden": true, + "name": "BarLeftPadding" + }, + { + "value": "0", + "type": "Number", + "label": "Bar top margin", + "group": "Bar", + "extraInformation": [ + "Label", + "FillBar" + ], + "choices": [], + "hidden": true, + "name": "BarTopPadding" + }, + { + "value": "0", + "type": "Number", + "label": "Bar right margin", + "group": "Bar", + "extraInformation": [ + "Label", + "FillBar" + ], + "choices": [], + "hidden": true, + "name": "BarRightPadding" + }, + { + "value": "0", + "type": "Number", + "label": "Bar bottom margin", + "group": "Bar", + "extraInformation": [ + "Label", + "FillBar" + ], + "choices": [], + "hidden": true, + "name": "BarBottomPadding" + }, + { + "value": "true", + "type": "Boolean", + "label": "Show the label when the value is changed", + "group": "Label", + "name": "ShowLabelAtChanges" + }, + { + "value": "8", + "type": "Number", + "unit": "Pixel", + "label": "Label margin", + "group": "Label", + "name": "LabelMargin" + }, + { + "value": "0", + "type": "Number", + "unit": "Dimensionless", + "label": "Minimum value", + "group": "Value", + "name": "MinValue" + }, + { + "value": "100", + "type": "Number", + "unit": "Dimensionless", + "label": "Maximum value", + "group": "Value", + "name": "MaxValue" + }, + { + "value": "1", + "type": "Number", + "unit": "Dimensionless", + "label": "Step size", + "group": "Value", + "name": "StepSize" + }, + { + "value": "50", + "type": "Number", + "unit": "Dimensionless", + "label": "Initial value", + "group": "Value", + "name": "InitialValue" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "It's used to detect a change at hot reload.", + "hidden": true, + "name": "PreviousInitialValue" + }, + { + "value": "Center-center", + "type": "String", + "label": "", + "description": "Only used by the scene editor.", + "extraInformation": [ + "Thumb" + ], + "choices": [], + "hidden": true, + "name": "ThumbAnchorOrigin" + }, + { + "value": "Center-right", + "type": "String", + "label": "", + "description": "Only used by the scene editor.", + "extraInformation": [ + "FillBar" ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ + "choices": [], + "hidden": true, + "name": "ThumbAnchorTarget" + }, { "value": "", - "type": "Behavior", - "label": "Platform character behavior", + "type": "Boolean", + "label": "", + "description": "Only used by the scene editor.", "extraInformation": [ - "PlatformBehavior::PlatformerObjectBehavior" + "Label" ], "choices": [], - "name": "Property" + "hidden": true, + "name": "ShowLabel" }, { - "value": "1", + "value": "0", "type": "Number", - "label": "Controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier" + "label": "", + "hidden": true, + "name": "BarLeftPlusRightMargin" }, { - "value": "Primary", - "type": "Choice", - "label": "Joystick name", - "group": "Controls", - "choices": [ - { - "label": "Primary", - "value": "Primary" - }, - { - "label": "Secondary", - "value": "Secondary" - } - ], - "name": "JoystickIdentifier" + "value": "0", + "type": "Number", + "label": "", + "hidden": true, + "name": "BarTopPlusBottomMargin" }, { - "value": "A", - "type": "String", - "label": "Jump button name", - "group": "Controls", - "name": "JumpButton" + "value": "0", + "type": "Number", + "label": "", + "hidden": true, + "name": "OldParentWidth" } ], - "sharedPropertyDescriptors": [] - }, - { - "description": "Control a 3D physics character with a multitouch controller.", - "fullName": "3D platformer multitouch controller mapper", - "name": "Platformer3DMultitouchMapper", - "objectType": "", - "quickCustomizationVisibility": "hidden", - "eventsFunctions": [ + "propertiesFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "folderName": "Bar", + "children": [ + { + "propertyName": "BarLeftPadding" + }, + { + "propertyName": "BarTopPadding" + }, + { + "propertyName": "BarRightPadding" + }, + { + "propertyName": "BarBottomPadding" + } + ] + }, + { + "folderName": "Label", + "children": [ + { + "propertyName": "ShowLabelAtChanges" + }, + { + "propertyName": "LabelMargin" + } + ] + }, + { + "folderName": "Value", + "children": [ + { + "propertyName": "MinValue" + }, + { + "propertyName": "MaxValue" + }, + { + "propertyName": "StepSize" + }, + { + "propertyName": "InitialValue" + } + ] + }, + { + "propertyName": "PreviousInitialValue" + }, + { + "propertyName": "ThumbAnchorOrigin" + }, + { + "propertyName": "ThumbAnchorTarget" + }, + { + "propertyName": "ShowLabel" + }, + { + "propertyName": "BarLeftPlusRightMargin" + }, + { + "propertyName": "BarTopPlusBottomMargin" + }, + { + "propertyName": "OldParentWidth" + } + ] + }, + "variants": [ { - "fullName": "", - "functionType": "Action", - "name": "doStepPreEvents", - "sentence": "", - "events": [ + "areaMaxX": 215, + "areaMaxY": 18, + "areaMaxZ": 1, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "assetStoreAssetId": "de0bcee3ad202a7776cc0ca96c10613a98505b66498581794155b08ddaf9c76c", + "assetStoreOriginalName": "Yellow Circle Ended Line Slider", + "name": "Yellow Circle Ended Line Slider", + "objects": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::StickForce" - }, - "parameters": [ - "", - ">", - "0", - "ControllerIdentifier", - "JoystickIdentifier", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Physics3D::PhysicsCharacter3D::SetForwardAngle" - }, - "parameters": [ - "Object", - "PhysicsCharacter3D", - "=", - "SpriteMultitouchJoystick::StickAngle(ControllerIdentifier, JoystickIdentifier) + CameraAngle(Object.Layer())" - ] - }, + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "persistentUuid": "9b8b4adc-0686-4611-b83e-85d108eebe8d", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "100", + "font": "", + "textAlignment": "center", + "characterSize": 16, + "color": { + "b": 221, + "g": 221, + "r": 221 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "100", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "top", + "characterSize": 16, + "lineHeight": 0, + "color": "221;221;221" + } + }, + { + "assetStoreId": "", + "bottomMargin": 14, + "height": 34, + "leftMargin": 12, + "name": "Thumb", + "rightMargin": 12, + "texture": "assets\\Yellow Circle Ended Line Thumb.png", + "tiled": false, + "topMargin": 14, + "type": "PanelSpriteObject::PanelSprite", + "width": 26, + "variables": [], + "effects": [], + "behaviors": [ { - "type": { - "value": "Physics3D::PhysicsCharacter3D::SimulateStick" - }, - "parameters": [ - "Object", - "PhysicsCharacter3D", - "-90", - "SpriteMultitouchJoystick::StickForce(ControllerIdentifier, JoystickIdentifier)" - ] + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "leftEdgeAnchor": 0, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 4, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Draggable", + "type": "DraggableBehavior::Draggable", + "checkCollisionMask": false } ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "assetStoreId": "", + "bottomMargin": 8, + "height": 18, + "leftMargin": 17, + "name": "FillBar", + "rightMargin": 5, + "texture": "assets\\Yellow Circle Ended Line FillBar.png", + "tiled": false, + "topMargin": 8, + "type": "PanelSpriteObject::PanelSprite", + "width": 50, + "variables": [], + "effects": [], + "behaviors": [ { - "type": { - "value": "SpriteMultitouchJoystick::IsButtonPressed" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JumpButton", - "\"Down\"" - ] - } - ], - "actions": [ + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, { - "type": { - "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" - }, - "parameters": [ - "Object", - "PhysicsCharacter3D" - ] + "name": "Slider", + "type": "PanelSpriteSlider::Slider", + "Value": 0, + "MinValue": 0, + "MaxValue": 1, + "StepSize": 1 } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::Platformer3DMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "", - "type": "Behavior", - "label": "3D physics character", - "extraInformation": [ - "Physics3D::PhysicsCharacter3D" - ], - "choices": [], - "name": "PhysicsCharacter3D" - }, - { - "value": "1", - "type": "Number", - "label": "Controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier" - }, - { - "value": "Primary", - "type": "Choice", - "label": "Walk joystick", - "group": "Controls", - "choices": [ - { - "label": "Primary", - "value": "Primary" }, { - "label": "Secondary", - "value": "Secondary" - } - ], - "name": "JoystickIdentifier" - }, - { - "value": "A", - "type": "String", - "label": "Jump button name", - "group": "Controls", - "name": "JumpButton" - } - ], - "sharedPropertyDescriptors": [] - }, - { - "description": "Control a 3D physics character with a multitouch controller.", - "fullName": "3D shooter multitouch controller mapper", - "name": "Shooter3DMultitouchMapper", - "objectType": "", - "quickCustomizationVisibility": "hidden", - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "doStepPreEvents", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "assetStoreId": "", + "bottomMargin": 8, + "height": 18, + "leftMargin": 5, + "name": "Background", + "rightMargin": 17, + "texture": "assets\\White Circle Ended Line Border.png", + "tiled": false, + "topMargin": 8, + "type": "PanelSpriteObject::PanelSprite", + "width": 50, + "variables": [], + "effects": [], + "behaviors": [ { - "type": { - "value": "SpriteMultitouchJoystick::StickForce" - }, - "parameters": [ - "", - ">", - "0", - "ControllerIdentifier", - "JoystickIdentifier", - "" - ] - } - ], - "actions": [ + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, { - "type": { - "value": "Physics3D::PhysicsCharacter3D::SimulateStick" - }, - "parameters": [ - "Object", - "PhysicsCharacter3D", - "SpriteMultitouchJoystick::StickAngle(ControllerIdentifier, JoystickIdentifier)", - "SpriteMultitouchJoystick::StickForce(ControllerIdentifier, JoystickIdentifier)" - ] + "name": "ButtonFSM", + "type": "PanelSpriteSlider::ButtonFSM", + "ShouldCheckHovering": true, + "State": "Idle", + "TouchId": 0, + "TouchIsInside": false, + "MouseIsInside": false, + "Index": 0 } ] - }, + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "Thumb" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Background" + } + ] + }, + "objectsGroups": [], + "layers": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "", + "renderingType": "", + "visibility": true, + "cameras": [ { - "type": { - "value": "SpriteMultitouchJoystick::IsButtonPressed" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JumpButton", - "\"Down\"" - ] + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 } ], - "actions": [ - { - "type": { - "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" - }, - "parameters": [ - "Object", - "PhysicsCharacter3D" - ] - } - ] + "effects": [] } ], - "parameters": [ + "instances": [ { - "description": "Object", - "name": "Object", - "type": "object" + "angle": 0, + "customSize": true, + "depth": 1, + "height": 18, + "layer": "", + "name": "Background", + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 215, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] }, { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::Shooter3DMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "", - "type": "Behavior", - "label": "3D physics character", - "extraInformation": [ - "Physics3D::PhysicsCharacter3D" - ], - "choices": [], - "name": "PhysicsCharacter3D" - }, - { - "value": "1", - "type": "Number", - "label": "Controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier" - }, - { - "value": "Primary", - "type": "Choice", - "label": "Walk joystick", - "group": "Controls", - "choices": [ - { - "label": "Primary", - "value": "Primary" + "angle": 0, + "customSize": true, + "depth": 1, + "height": 18, + "keepRatio": true, + "layer": "", + "name": "FillBar", + "persistentUuid": "92813097-aee7-4422-8421-125e3ed61986", + "width": 211, + "x": 0, + "y": 0, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] }, { - "label": "Secondary", - "value": "Secondary" + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "Thumb", + "persistentUuid": "bb96e473-bbec-40be-8167-4ee30f2b222b", + "width": 0, + "x": 191, + "y": -10, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], - "name": "JoystickIdentifier" - }, + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 2.668340417732695, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + } + } + ] + } + ] + }, + { + "author": "", + "category": "User interface", + "dimension": "2D", + "extensionNamespace": "", + "fullName": "Toggle switch", + "gdevelopVersion": ">=5.5.230", + "helpPath": "/objects/toggle-switch", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTIzLDIzSDljLTMuOSwwLTctMy4xLTctN3YwYzAtMy45LDMuMS03LDctN2gxNGMzLjksMCw3LDMuMSw3LDd2MEMzMCwxOS45LDI2LjksMjMsMjMsMjN6Ii8+DQo8Y2lyY2xlIGNsYXNzPSJzdDAiIGN4PSI5IiBjeT0iMTYiIHI9IjQiLz4NCjwvc3ZnPg0K", + "name": "SpriteToggleSwitch", + "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/Line Hero Pack/Master/SVG/Interface Elements/8d0cd8cd0c9318f4f6efde6ee6b4c192bd19306467f80c9970387a259300f895_Interface Elements_interface_ui_toggle_switch_on_off.svg", + "shortDescription": "Toggle switch that users can click or touch.", + "version": "2.0.2", + "description": [ + "Toggle switch that users can click or touch. The switch can be customized with sprites.", + "", + "There are ready-to-use toggle switches in the asset-store [settings UI pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=settings-ui-settings-ui)." + ], + "origin": { + "identifier": "SpriteToggleSwitch", + "name": "gdevelop-extension-store" + }, + "tags": [ + "ui", + "widget", + "toggle", + "switch", + "check box" + ], + "authorIds": [ + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2", + "gqDaZjCfevOOxBYkK6zlhtZnXCg1" + ], + "changelog": [ + { + "version": "2.0.0", + "breaking": "- Toggle switches now use \"variants\", allowing easy swapping of their visual aspect. You will have to make some adjustments to existing toggle switches in your project. Follow this [migration documentation](https://wiki.gdevelop.io/gdevelop5/objects/custom-objects-prefab-template/migrate-to-variants/) to do these changes." + } + ], + "dependencies": [], + "globalVariables": [], + "sceneVariables": [], + "eventsFunctions": [ + { + "description": "Check if the events are running for the editor.", + "fullName": "Editor is running", + "functionType": "Condition", + "name": "IsInGameEdition", + "private": true, + "sentence": "Events are running for the editor", + "events": [ { - "value": "A", - "type": "String", - "label": "Jump button name", - "group": "Controls", - "name": "JumpButton" + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const game = runtimeScene.getGame();\r", + "eventsFunctionContext.returnValue = game.isInGameEdition && game.isInGameEdition();" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false } ], - "sharedPropertyDescriptors": [] - }, + "parameters": [], + "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "IsInGameEdition" + } + ] + }, + "eventsBasedBehaviors": [ { - "description": "Control camera rotations with a multitouch controller.", - "fullName": "First person camera multitouch controller mapper", - "name": "FirstPersonMultitouchMapper", + "description": "The finite state machine used internally by the switch object.", + "fullName": "Switch finite state machine", + "helpPath": "", + "iconUrl": "", + "name": "SwitchFSM", "objectType": "", - "quickCustomizationVisibility": "hidden", + "previewIconUrl": "", + "private": true, "eventsFunctions": [ { "fullName": "", @@ -37757,253 +8823,72 @@ "name": "doStepPreEvents", "sentence": "", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "TODO It's probably a bad idea to rotate the object around Y." - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "CurrentRotationSpeedZ", - "=", - "SpriteMultitouchJoystick::AcceleratedSpeed(CurrentRotationSpeedZ, SpriteMultitouchJoystick::StickForceX(ControllerIdentifier, CameraStick) * HorizontalRotationSpeedMax, HorizontalRotationSpeedMax, HorizontalRotationAcceleration, HorizontalRotationDeceleration)" - ] - }, - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Object", - "+", - "CurrentRotationSpeedZ * TimeDelta()" - ] - }, - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "CurrentRotationSpeedY", - "=", - "SpriteMultitouchJoystick::AcceleratedSpeed(CurrentRotationSpeedY, SpriteMultitouchJoystick::StickForceY(ControllerIdentifier, CameraStick) * VerticalRotationSpeedMax, VerticalRotationSpeedMax, VerticalRotationAcceleration, VerticalRotationDeceleration)" - ] - }, - { - "type": { - "value": "Scene3D::Base3DBehavior::SetRotationY" - }, - "parameters": [ - "Object", - "Object3D", - "+", - "CurrentRotationSpeedY * TimeDelta()" - ] - }, - { - "type": { - "value": "Scene3D::Base3DBehavior::SetRotationY" - }, - "parameters": [ - "Object", - "Object3D", - "=", - "clamp(Object.Object3D::RotationY(), VerticalAngleMin, VerticalAngleMax)" - ] - }, - { - "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::LookFromObjectEyes" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", + "WasChecked", + "False", "" ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Move the camera to look though _PARAM1_ eyes. The object must look to the right when all its angles are 0 and the top of its head be toward Z+.", - "fullName": "Look through object eyes", - "functionType": "Action", - "group": "Layers and cameras", - "name": "LookFromObjectEyes", - "private": true, - "sentence": "Move the camera to look though _PARAM0_ eyes", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "CenterCameraOnObject" + "value": "SpriteToggleSwitch::SwitchFSM::IsChecked" }, "parameters": [ - "", "Object", - "", - "Object.Layer()", - "" - ] - }, - { - "type": { - "value": "Scene3D::SetCameraZ" - }, - "parameters": [ - "", - "=", - "Object.Object3D::Z() + Object.Object3D::Depth() + OffsetZ", - "", - "" - ] - }, - { - "type": { - "value": "Scene3D::SetCameraRotationX" - }, - "parameters": [ - "", - "=", - "- Object.Object3D::RotationY() + 90", - "GetArgumentAsString(\"Layer\")", - "" - ] - }, - { - "type": { - "value": "Scene3D::SetCameraRotationY" - }, - "parameters": [ - "", - "=", - "Object.Object3D::RotationX()", - "GetArgumentAsString(\"Layer\")", + "Behavior", "" ] - }, + } + ], + "actions": [ { "type": { - "value": "SetCameraAngle" + "value": "SetBooleanVariable" }, "parameters": [ - "", - "=", - "Object.Angle() + 90", - "Object.Layer()", + "WasChecked", + "True", "" ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the maximum horizontal rotation speed of the object.", - "fullName": "Maximum horizontal rotation speed", - "functionType": "ExpressionAndCondition", - "group": "First person camera multitouch controller mapper horizontal rotation configuration", - "name": "HorizontalRotationSpeedMax", - "sentence": "the maximum horizontal rotation speed", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "SetReturnNumber" + "value": "SpriteToggleSwitch::ButtonFSM::IsClicked" }, "parameters": [ - "HorizontalRotationSpeedMax" + "Object", + "ButtonFSM", + "" ] } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "HorizontalRotationSpeedMax", - "name": "SetHorizontalRotationSpeedMax", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + ], "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "SetBooleanVariable" }, "parameters": [ - "HorizontalRotationSpeedMax", - "=", - "Value" + "IsChecked", + "Toggle", + "" ] } ] @@ -38018,38 +8903,45 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", + "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM", "type": "behavior" } ], "objectGroups": [] }, { - "description": "the horizontal rotation acceleration of the object.", - "fullName": "Horizontal rotation acceleration", - "functionType": "ExpressionAndCondition", - "group": "First person camera multitouch controller mapper horizontal rotation configuration", - "name": "HorizontalRotationAcceleration", - "sentence": "the horizontal rotation acceleration", + "description": "Check if the toggle switch is checked.", + "fullName": "Is checked", + "functionType": "Condition", + "name": "IsChecked", + "sentence": "_PARAM0_ is checked", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "IsChecked", + "True", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "HorizontalRotationAcceleration" + "True" ] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", @@ -38059,31 +8951,51 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", + "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM", "type": "behavior" } ], "objectGroups": [] }, { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "HorizontalRotationAcceleration", - "name": "SetHorizontalRotationAcceleration", - "sentence": "", + "description": "Check if the toggle switch was checked in the current frame.", + "fullName": "Has just been checked", + "functionType": "Condition", + "name": "HasJustBeenChecked", + "sentence": "_PARAM0_ has just been checked", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "IsChecked", + "True", + "" + ] + }, + { + "type": { + "inverted": true, + "value": "BooleanVariable" + }, + "parameters": [ + "WasChecked", + "True", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "SetReturnBoolean" }, "parameters": [ - "HorizontalRotationAcceleration", - "=", - "Value" + "True" ] } ] @@ -38098,38 +9010,56 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", + "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM", "type": "behavior" } ], "objectGroups": [] }, { - "description": "the horizontal rotation deceleration of the object.", - "fullName": "Horizontal rotation deceleration", - "functionType": "ExpressionAndCondition", - "group": "First person camera multitouch controller mapper horizontal rotation configuration", - "name": "HorizontalRotationDeceleration", - "sentence": "the horizontal rotation deceleration", + "description": "Check if the toggle switch was unchecked in the current frame.", + "fullName": "Has just been unchecked", + "functionType": "Condition", + "name": "HasJustBeenUnchecked", + "sentence": "_PARAM0_ has just been unchecked", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "inverted": true, + "value": "BooleanVariable" + }, + "parameters": [ + "IsChecked", + "True", + "" + ] + }, + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "WasChecked", + "True", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "HorizontalRotationDeceleration" + "True" ] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", @@ -38139,77 +9069,70 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", + "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM", "type": "behavior" } ], "objectGroups": [] }, { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "HorizontalRotationDeceleration", - "name": "SetHorizontalRotationDeceleration", - "sentence": "", + "description": "Check if the toggle switch was toggled in the current frame.", + "fullName": "Has just been toggled", + "functionType": "Condition", + "name": "HasJustBeenToggled", + "sentence": "_PARAM0_ has just been toggled", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "SpriteToggleSwitch::SwitchFSM::HasJustBeenChecked" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "SetReturnBoolean" }, "parameters": [ - "HorizontalRotationDeceleration", - "=", - "Value" + "True" ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the maximum vertical rotation speed of the object.", - "fullName": "Maximum vertical rotation speed", - "functionType": "ExpressionAndCondition", - "group": "First person camera multitouch controller mapper vertical rotation configuration", - "name": "VerticalRotationSpeedMax", - "sentence": "the maximum vertical rotation speed", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "SpriteToggleSwitch::SwitchFSM::HasJustBeenUnchecked" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "VerticalRotationSpeedMax" + "True" ] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", @@ -38219,77 +9142,145 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", + "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM", "type": "behavior" } ], "objectGroups": [] }, { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "VerticalRotationSpeedMax", - "name": "SetVerticalRotationSpeedMax", - "sentence": "", + "description": "Check (or uncheck) the toggle switch.", + "fullName": "Check (or uncheck)", + "functionType": "Action", + "name": "SetChecked", + "sentence": "Check _PARAM0_: _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "Value", + "False", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "SetBooleanVariable" }, "parameters": [ - "VerticalRotationSpeedMax", - "=", - "Value" + "IsChecked", + "False", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Avoid a started touch to interfere with a state change from events." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SpriteToggleSwitch::SwitchFSM::IsChecked" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SpriteToggleSwitch::ButtonFSM::ResetState" + }, + "parameters": [ + "Object", + "ButtonFSM", + "" + ] + } ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the vertical rotation acceleration of the object.", - "fullName": "Vertical rotation acceleration", - "functionType": "ExpressionAndCondition", - "group": "First person camera multitouch controller mapper vertical rotation configuration", - "name": "VerticalRotationAcceleration", - "sentence": "the vertical rotation acceleration", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "Value", + "True", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetBooleanVariable" }, "parameters": [ - "VerticalRotationAcceleration" + "IsChecked", + "True", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "SpriteToggleSwitch::SwitchFSM::IsChecked" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SpriteToggleSwitch::ButtonFSM::ResetState" + }, + "parameters": [ + "Object", + "ButtonFSM", + "" + ] + } ] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", @@ -38299,18 +9290,25 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", + "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM", "type": "behavior" + }, + { + "defaultValue": "yes", + "description": "IsChecked", + "name": "Value", + "optional": true, + "type": "yesorno" } ], "objectGroups": [] }, { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "VerticalRotationAcceleration", - "name": "SetVerticalRotationAcceleration", - "sentence": "", + "description": "Toggle the switch.", + "fullName": "Toggle", + "functionType": "Action", + "name": "ToggleChecked", + "sentence": "Toggle _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -38318,218 +9316,101 @@ "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "SetBooleanVariable" }, "parameters": [ - "VerticalRotationAcceleration", - "=", - "Value" + "PreviousIsChecked", + "False", + "" ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the vertical rotation deceleration of the object.", - "fullName": "Vertical rotation deceleration", - "functionType": "ExpressionAndCondition", - "group": "First person camera multitouch controller mapper vertical rotation configuration", - "name": "VerticalRotationDeceleration", - "sentence": "the vertical rotation deceleration", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "SetReturnNumber" + "value": "SpriteToggleSwitch::SwitchFSM::IsChecked" }, "parameters": [ - "VerticalRotationDeceleration" + "Object", + "Behavior", + "" ] } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "VerticalRotationDeceleration", - "name": "SetVerticalRotationDeceleration", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + ], "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "SetBooleanVariable" }, "parameters": [ - "VerticalRotationDeceleration", - "=", - "Value" + "PreviousIsChecked", + "True", + "" ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the minimum vertical camera angle of the object.", - "fullName": "Minimum vertical camera angle", - "functionType": "ExpressionAndCondition", - "group": "First person camera multitouch controller mapper vertical rotation configuration", - "name": "VerticalAngleMin", - "sentence": "the minimum vertical camera angle", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "SetReturnNumber" + "value": "BooleanVariable" }, "parameters": [ - "VerticalAngleMin" + "PreviousIsChecked", + "True", + "" ] } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "VerticalAngleMin", - "name": "SetVerticalAngleMin", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + ], "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "SpriteToggleSwitch::SwitchFSM::SetChecked" }, "parameters": [ - "VerticalAngleMin", - "=", - "Value" + "Object", + "Behavior", + "no", + "" ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the maximum vertical camera angle of the object.", - "fullName": "Maximum vertical camera angle", - "functionType": "ExpressionAndCondition", - "group": "First person camera multitouch controller mapper vertical rotation configuration", - "name": "VerticalAngleMax", - "sentence": "the maximum vertical camera angle", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "inverted": true, + "value": "BooleanVariable" + }, + "parameters": [ + "PreviousIsChecked", + "True", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SpriteToggleSwitch::SwitchFSM::SetChecked" }, "parameters": [ - "VerticalAngleMax" + "Object", + "Behavior", + "yes", + "" ] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", @@ -38539,77 +9420,734 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", + "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM", "type": "behavior" } ], "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "doStepPreEvents" + }, + { + "functionName": "IsChecked" + }, + { + "functionName": "HasJustBeenChecked" + }, + { + "functionName": "HasJustBeenUnchecked" + }, + { + "functionName": "HasJustBeenToggled" + }, + { + "functionName": "SetChecked" + }, + { + "functionName": "ToggleChecked" + } + ] + }, + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Button finite state machine", + "extraInformation": [ + "SpriteToggleSwitch::ButtonFSM" + ], + "choices": [], + "name": "ButtonFSM" + }, + { + "value": "false", + "type": "Boolean", + "label": "Is checked", + "name": "IsChecked" + }, + { + "value": "", + "type": "Boolean", + "label": "", + "hidden": true, + "name": "PreviousIsChecked" }, + { + "value": "", + "type": "Boolean", + "label": "", + "hidden": true, + "name": "WasChecked" + } + ], + "propertiesFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "propertyName": "ButtonFSM" + }, + { + "propertyName": "IsChecked" + }, + { + "propertyName": "PreviousIsChecked" + }, + { + "propertyName": "WasChecked" + } + ] + } + }, + { + "description": "The finite state machine used internally by the button object.", + "fullName": "Button finite state machine", + "helpPath": "", + "iconUrl": "", + "name": "ButtonFSM", + "objectType": "", + "previewIconUrl": "", + "private": true, + "eventsFunctions": [ { "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "VerticalAngleMax", - "name": "SetVerticalAngleMax", + "functionType": "Action", + "name": "doStepPostEvents", "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "SetNumberVariable" + "inverted": true, + "value": "SpriteToggleSwitch::IsInGameEdition" }, "parameters": [ - "VerticalAngleMax", - "=", - "Value" + "", + "" ] } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the z position offset of the object.", - "fullName": "Z position offset", - "functionType": "ExpressionAndCondition", - "group": "First person camera multitouch controller mapper position configuration", - "name": "OffsetZ", - "sentence": "the z position offset", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + ], + "actions": [], + "events": [ { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "OffsetZ" - ] + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Finite state machine", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "The \"Validated\" state only last one frame." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Validated\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Check position", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make sure the cursor position is only checked once per frame." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "MouseIsInside", + "False", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShouldCheckHovering", + "True", + "" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Object", + "MouseOnlyCursorX(Object.Layer(), 0)", + "MouseOnlyCursorY(Object.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "MouseIsInside", + "True", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Touches are always pressed, so ShouldCheckHovering doesn't matter." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "False", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "TouchId", + "!=", + "0" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Object", + "TouchX(TouchId, Object.Layer(), 0)", + "TouchY(TouchId, Object.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "True", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Handle touch start", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "HasAnyTouchOrMouseStarted" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Index", + "=", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "StartedTouchOrMouseCount()", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Object", + "TouchX(StartedTouchOrMouseId(Index), Object.Layer(), 0)", + "TouchY(StartedTouchOrMouseId(Index), Object.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "TouchId", + "=", + "StartedTouchOrMouseId(Index)" + ] + }, + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "True", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "SpriteToggleSwitch::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Hovered\"" + ] + }, + { + "type": { + "value": "SpriteToggleSwitch::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Idle\"" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Index", + "+", + "1" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Apply position changes", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "BooleanVariable" + }, + "parameters": [ + "MouseIsInside", + "True", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Hovered\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "MouseIsInside", + "True", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Hovered\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "BooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "True", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedOutside\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "True", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedOutside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Handle touch end", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "HasTouchEnded" + }, + "parameters": [ + "", + "TouchId" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "TouchId", + "=", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Validated\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + }, + { + "type": { + "inverted": true, + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Validated\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", @@ -38619,7 +10157,7 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", + "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM", "type": "behavior" } ], @@ -38627,9 +10165,8 @@ }, { "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "OffsetZ", - "name": "SetOffsetZ", + "functionType": "Action", + "name": "onDeActivate", "sentence": "", "events": [ { @@ -38638,12 +10175,12 @@ "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "SpriteToggleSwitch::ButtonFSM::ResetState" }, "parameters": [ - "OffsetZ", - "=", - "Value" + "Object", + "Behavior", + "" ] } ] @@ -38658,230 +10195,89 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper", + "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM", "type": "behavior" } ], "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "", - "type": "Behavior", - "label": "3D capability", - "extraInformation": [ - "Scene3D::Base3DBehavior" - ], - "choices": [], - "name": "Object3D" - }, - { - "value": "1", - "type": "Number", - "label": "Controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier" - }, - { - "value": "Secondary", - "type": "Choice", - "label": "Camera joystick", - "group": "Controls", - "choices": [ - { - "label": "Primary", - "value": "Primary" - }, - { - "label": "Secondary", - "value": "Secondary" - } - ], - "name": "CameraStick" - }, - { - "value": "180", - "type": "Number", - "unit": "AngularSpeed", - "label": "Maximum rotation speed", - "group": "Horizontal rotation", - "name": "HorizontalRotationSpeedMax" - }, - { - "value": "360", - "type": "Number", - "label": "Rotation acceleration", - "group": "Horizontal rotation", - "name": "HorizontalRotationAcceleration" - }, - { - "value": "720", - "type": "Number", - "label": "Rotation deceleration", - "group": "Horizontal rotation", - "name": "HorizontalRotationDeceleration" - }, - { - "value": "120", - "type": "Number", - "unit": "AngularSpeed", - "label": "Maximum rotation speed", - "group": "Vertical rotation", - "name": "VerticalRotationSpeedMax" - }, - { - "value": "240", - "type": "Number", - "label": "Rotation acceleration", - "group": "Vertical rotation", - "name": "VerticalRotationAcceleration" - }, - { - "value": "480", - "type": "Number", - "label": "Rotation deceleration", - "group": "Vertical rotation", - "name": "VerticalRotationDeceleration" }, { - "value": "-90", - "type": "Number", - "unit": "DegreeAngle", - "label": "Minimum angle", - "group": "Vertical rotation", - "name": "VerticalAngleMin" - }, - { - "value": "90", - "type": "Number", - "unit": "DegreeAngle", - "label": "Maximum angle", - "group": "Vertical rotation", - "name": "VerticalAngleMax" - }, - { - "value": "0", - "type": "Number", - "unit": "Pixel", - "label": "Z position offset", - "group": "Position", - "name": "OffsetZ" - }, - { - "value": "0", - "type": "Number", - "unit": "AngularSpeed", - "label": "Current rotation speed Z", - "hidden": true, - "name": "CurrentRotationSpeedZ" - }, - { - "value": "0", - "type": "Number", - "unit": "AngularSpeed", - "label": "Current rotation speed Y", - "hidden": true, - "name": "CurrentRotationSpeedY" - } - ], - "sharedPropertyDescriptors": [] - }, - { - "description": "Control a 3D physics car with a multitouch controller.", - "fullName": "3D car multitouch controller mapper", - "name": "PhysicsCar3DMultitouchMapper", - "objectType": "", - "quickCustomizationVisibility": "hidden", - "eventsFunctions": [ - { - "fullName": "", + "description": "Reset the state of the button.", + "fullName": "Reset state", "functionType": "Action", - "name": "doStepPreEvents", - "sentence": "", + "name": "ResetState", + "sentence": "Reset the button state of _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::StickForce" - }, - "parameters": [ - "", - ">", - "0", - "ControllerIdentifier", - "SteerJoystickIdentifier", - "" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "Physics3D::PhysicsCar3D::SimulateSteeringStick" - }, - "parameters": [ - "Object", - "PhysicsCar3D", - "SpriteMultitouchJoystick::StickForceX(ControllerIdentifier, \"Primary\")" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::StickForce" + "value": "SetStringVariable" }, "parameters": [ - "", - ">", - "0", - "ControllerIdentifier", - "SpeedJoystickIdentifier", - "" + "State", + "=", + "\"Idle\"" ] - } - ], - "actions": [ + }, { "type": { - "value": "Physics3D::PhysicsCar3D::SimulateAcceleratorStick" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "PhysicsCar3D", - "-SpriteMultitouchJoystick::StickForceY(ControllerIdentifier, \"Secondary\")" + "TouchId", + "=", + "0" ] } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is not used.", + "fullName": "Is idle", + "functionType": "Condition", + "name": "IsIdle", + "sentence": "_PARAM0_ is idle", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::IsButtonPressed" + "value": "StringVariable" }, "parameters": [ - "", - "ControllerIdentifier", - "HandBrakeButton", - "\"Down\"" + "State", + "=", + "\"Idle\"" ] } ], "actions": [ { "type": { - "value": "Physics3D::PhysicsCar3D::SimulateHandBrakeKey" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "PhysicsCar3D" + "True" ] } ] @@ -38896,86 +10292,18 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::PhysicsCar3DMultitouchMapper", + "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM", "type": "behavior" } ], "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "", - "type": "Behavior", - "label": "3D physics car", - "extraInformation": [ - "Physics3D::PhysicsCar3D" - ], - "choices": [], - "name": "PhysicsCar3D" - }, - { - "value": "1", - "type": "Number", - "label": "Controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier" - }, - { - "value": "Primary", - "type": "Choice", - "label": "Steer joystick", - "group": "Controls", - "choices": [ - { - "label": "Primary", - "value": "Primary" - }, - { - "label": "Secondary", - "value": "Secondary" - } - ], - "name": "SteerJoystickIdentifier" - }, - { - "value": "Secondary", - "type": "Choice", - "label": "Speed joystick", - "group": "Controls", - "choices": [ - { - "label": "Primary", - "value": "Primary" - }, - { - "label": "Secondary", - "value": "Secondary" - } - ], - "name": "SpeedJoystickIdentifier" }, { - "value": "B", - "type": "String", - "label": "Hand brake button name", - "group": "Controls", - "name": "HandBrakeButton" - } - ], - "sharedPropertyDescriptors": [] - }, - { - "description": "Control a top-down character with a multitouch controller.", - "fullName": "Top-down multitouch controller mapper", - "name": "TopDownMultitouchMapper", - "objectType": "", - "quickCustomizationVisibility": "hidden", - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "doStepPreEvents", - "sentence": "", + "description": "Check if the button was just clicked.", + "fullName": "Is clicked", + "functionType": "Condition", + "name": "IsClicked", + "sentence": "_PARAM0_ is clicked", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -38985,26 +10313,46 @@ "value": "StringVariable" }, "parameters": [ - "StickMode", + "State", "=", - "\"Analog\"" + "\"Validated\"" ] } ], "actions": [ { "type": { - "value": "TopDownMovementBehavior::SimulateStick" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "TopDownMovement", - "SpriteMultitouchJoystick::StickAngle(ControllerIdentifier, JoystickIdentifier)", - "SpriteMultitouchJoystick::StickForce(ControllerIdentifier, JoystickIdentifier)" + "True" ] } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the cursor is hovered over the button.", + "fullName": "Is hovered", + "functionType": "Condition", + "name": "IsHovered", + "sentence": "_PARAM0_ is hovered", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -39013,447 +10361,140 @@ "value": "StringVariable" }, "parameters": [ - "StickMode", + "State", "=", - "\"360°\"" + "\"Hovered\"" ] } ], "actions": [ { "type": { - "value": "TopDownMovementBehavior::SimulateStick" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "TopDownMovement", - "SpriteMultitouchJoystick::StickAngle(ControllerIdentifier, JoystickIdentifier)", - "sign(SpriteMultitouchJoystick::StickForce(ControllerIdentifier, JoystickIdentifier))" + "True" ] } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "StringVariable" - }, - "parameters": [ - "StickMode", - "=", - "\"8 Directions\"" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "TopDownMovementBehavior::DiagonalsAllowed" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"Left\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementBehavior::SimulateLeftKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"Right\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementBehavior::SimulateRightKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"Up\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementBehavior::SimulateUpKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"Down\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementBehavior::SimulateDownKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ] - } + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is either hovered or pressed but not hovered.", + "fullName": "Is focused", + "functionType": "Condition", + "name": "IsFocused", + "sentence": "_PARAM0_ is focused", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Hovered\"" ] - }, + } + ], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "TopDownMovementBehavior::DiagonalsAllowed" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"Left\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementBehavior::SimulateLeftKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"Right\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementBehavior::SimulateRightKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"Up\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementBehavior::SimulateUpKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"Down\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementBehavior::SimulateDownKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"UpLeft\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementBehavior::SimulateUpKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - }, - { - "type": { - "value": "TopDownMovementBehavior::SimulateLeftKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"UpRight\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementBehavior::SimulateUpKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - }, - { - "type": { - "value": "TopDownMovementBehavior::SimulateRightKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"DownLeft\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementBehavior::SimulateDownKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - }, - { - "type": { - "value": "TopDownMovementBehavior::SimulateLeftKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way" - }, - "parameters": [ - "", - "ControllerIdentifier", - "JoystickIdentifier", - "\"DownRight\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementBehavior::SimulateDownKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - }, - { - "type": { - "value": "TopDownMovementBehavior::SimulateRightKey" - }, - "parameters": [ - "Object", - "TopDownMovement" - ] - } - ] - } + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedOutside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is currently being pressed with mouse or touch.", + "fullName": "Is pressed", + "functionType": "Condition", + "name": "IsPressed", + "sentence": "_PARAM0_ is pressed", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" ] } ] @@ -39468,133 +10509,287 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "SpriteMultitouchJoystick::TopDownMultitouchMapper", + "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM", "type": "behavior" } ], "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "", - "type": "Behavior", - "label": "Top-down movement behavior", - "extraInformation": [ - "TopDownMovementBehavior::TopDownMovementBehavior" - ], - "choices": [], - "name": "TopDownMovement" }, { - "value": "1", - "type": "Number", - "label": "Controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier" + "description": "Check if the button is currently being pressed outside with mouse or touch.", + "fullName": "Is held outside", + "functionType": "Condition", + "name": "IsPressedOutside", + "sentence": "_PARAM0_ is held outside", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedOutside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] }, { - "value": "Primary", - "type": "Choice", - "label": "Joystick name", - "choices": [ + "description": "the touch id that is using the button or 0 if none.", + "fullName": "Touch id", + "functionType": "ExpressionAndCondition", + "name": "TouchId", + "sentence": "the touch id", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "TouchId" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ { - "label": "Primary", - "value": "Primary" + "description": "Object", + "name": "Object", + "type": "object" }, { - "label": "Secondary", - "value": "Secondary" + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM", + "type": "behavior" } ], - "name": "JoystickIdentifier" + "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "doStepPostEvents" + }, + { + "functionName": "onDeActivate" + }, + { + "functionName": "ResetState" + }, + { + "functionName": "IsIdle" + }, + { + "functionName": "IsClicked" + }, + { + "functionName": "IsHovered" + }, + { + "functionName": "IsFocused" + }, + { + "functionName": "IsPressed" + }, + { + "functionName": "IsPressedOutside" + }, + { + "functionName": "TouchId" + } + ] + }, + "propertyDescriptors": [ + { + "value": "true", + "type": "Boolean", + "label": "", + "description": "Should check hovering", + "hidden": true, + "name": "ShouldCheckHovering" }, { - "value": "Analog", + "value": "Idle", "type": "Choice", - "label": "Stick mode", - "group": "Controls", + "label": "State", "choices": [ { - "label": "Analog", - "value": "Analog" + "label": "Idle", + "value": "Idle" + }, + { + "label": "Hovered", + "value": "Hovered" + }, + { + "label": "PressedInside", + "value": "PressedInside" }, { - "label": "360°", - "value": "360°" + "label": "PressedOutside", + "value": "PressedOutside" }, { - "label": "8 Directions", - "value": "8 Directions" + "label": "Validated", + "value": "Validated" } ], - "name": "StickMode" + "hidden": true, + "name": "State" + }, + { + "value": "0", + "type": "Number", + "label": "Touch id", + "hidden": true, + "name": "TouchId" + }, + { + "value": "", + "type": "Boolean", + "label": "Touch is inside", + "hidden": true, + "name": "TouchIsInside" + }, + { + "value": "", + "type": "Boolean", + "label": "Mouse is inside", + "hidden": true, + "name": "MouseIsInside" + }, + { + "value": "", + "type": "Number", + "label": "", + "hidden": true, + "name": "Index" } ], - "sharedPropertyDescriptors": [] + "propertiesFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "propertyName": "ShouldCheckHovering" + }, + { + "propertyName": "State" + }, + { + "propertyName": "TouchId" + }, + { + "propertyName": "TouchIsInside" + }, + { + "propertyName": "MouseIsInside" + }, + { + "propertyName": "Index" + } + ] + } } ], "eventsBasedObjects": [ { - "areaMaxX": 64, - "areaMaxY": 64, - "areaMaxZ": 64, - "areaMinX": 0, - "areaMinY": 0, - "areaMinZ": 0, - "defaultName": "Joystick", - "description": "Joystick for touchscreens.", - "fullName": "Multitouch Joystick", - "isUsingLegacyInstancesRenderer": true, - "name": "SpriteMultitouchJoystick", - "objects": [ - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Thumb", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - }, + "areaMaxX": 64, + "areaMaxY": 64, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "assetStoreTag": "toggle switch", + "defaultName": "ToggleSwitch", + "description": "A toggle switch that users can click or touch.", + "fullName": "Toggle switch", + "helpPath": "", + "iconUrl": "", + "isUsingLegacyInstancesRenderer": false, + "name": "SpriteToggleSwitch", + "previewIconUrl": "", + "objects": [ { - "adaptCollisionMaskAutomatically": false, + "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Border", + "name": "State", "type": "Sprite", "updateIfNotVisible": false, "variables": [], "effects": [], "behaviors": [ { - "name": "MultitouchJoystick", - "type": "SpriteMultitouchJoystick::MultitouchJoystick", - "ControllerIdentifier": 1, - "JoystickIdentifier": "Primary", - "FloatingEnabled": false, - "DeadZoneRadius": 0.4, - "JoystickAngle": 0, - "JoystickForce": 0, + "name": "ButtonFSM", + "type": "SpriteToggleSwitch::ButtonFSM", + "ShouldCheckHovering": true, + "State": "Idle", "TouchId": 0, - "TouchIndex": 0 + "TouchIsInside": false, + "MouseIsInside": false, + "Index": 0 + }, + { + "name": "SwitchFSM", + "type": "SpriteToggleSwitch::SwitchFSM", + "ButtonFSM": "ButtonFSM", + "IsChecked": false, + "WasChecked": false } ], "animations": [ { - "name": "Idle", + "name": "Unchecked", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + }, + { + "name": "Checked", "useMultipleDirections": false, "directions": [ { @@ -39611,10 +10806,7 @@ "folderName": "__ROOT", "children": [ { - "objectName": "Thumb" - }, - { - "objectName": "Border" + "objectName": "State" } ] }, @@ -39650,7 +10842,24 @@ "effects": [] } ], - "instances": [], + "instances": [ + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 64, + "layer": "", + "name": "State", + "persistentUuid": "bda60bb1-c312-4710-baf7-ec7a3887c076", + "width": 64, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], "editionSettings": [], "eventsFunctions": [ { @@ -39659,294 +10868,115 @@ "name": "onCreated", "sentence": "", "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Pass the configuration to the behavior.\nThe PreviousIsChecked property allows to detect a change of \"intial value\" on hot reload." + }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "Create" + "value": "BooleanVariable" }, "parameters": [ - "", - "Border", - "0", - "0", + "IsChecked", + "True", "" ] - }, + } + ], + "actions": [ { "type": { - "value": "Create" + "value": "SpriteToggleSwitch::SwitchFSM::SetChecked" }, "parameters": [ + "State", + "SwitchFSM", "", - "Thumb", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "SetZOrder" - }, - "parameters": [ - "Border", - "=", - "1" - ] - }, - { - "type": { - "value": "SetZOrder" - }, - "parameters": [ - "Thumb", - "=", - "2" - ] - }, - { - "type": { - "value": "SetCenter" - }, - "parameters": [ - "Border", - "=", - "0", - "=", - "0" - ] - }, - { - "type": { - "value": "SetCenter" - }, - "parameters": [ - "Thumb", - "=", - "0", - "=", - "0" - ] - }, - { - "type": { - "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::UpdateConfiguration" - }, - "parameters": [ - "Object", "" ] }, { "type": { - "value": "SetIncludedInParentCollisionMask" + "value": "SetBooleanVariable" }, "parameters": [ - "Thumb", + "PreviousIsChecked", + "True", "" ] } ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "inverted": true, - "value": "SpriteMultitouchJoystick::IsInGameEdition" + "value": "BooleanVariable" }, "parameters": [ - "", + "IsChecked", + "False", "" ] } ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PutAroundObject" - }, - "parameters": [ - "Thumb", - "Border", - "Border.MultitouchJoystick::JoystickForce() * Border.Width() / 2", - "Border.MultitouchJoystick::JoystickAngle()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "ShouldBeHiddenWhenReleased", - "True", - "" - ] - }, - { - "type": { - "inverted": true, - "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::IsPressed" - }, - "parameters": [ - "Object", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Hide" - }, - "parameters": [ - "Object" - ] - }, - { - "type": { - "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::ActivateControl" - }, - "parameters": [ - "Object", - "no", - "" - ] - }, - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "ShouldBeHiddenWhenReleased", - "False", - "" - ] - } - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "onHotReloading", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::UpdateConfiguration" + "value": "SpriteToggleSwitch::SwitchFSM::SetChecked" }, "parameters": [ - "Object", + "State", + "SwitchFSM", + "no", "" ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "Pass the object property values to the behavior.", - "fullName": "Update configuration", - "functionType": "Action", - "name": "UpdateConfiguration", - "private": true, - "sentence": "Update the configuration of _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + }, { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetControllerIdentifier" + "value": "SetBooleanVariable" }, "parameters": [ - "Border", - "MultitouchJoystick", - "=", - "ControllerIdentifier", + "PreviousIsChecked", + "False", "" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetJoystickIdentifier" + "value": "SpriteToggleSwitch::SpriteToggleSwitch::UpdateStateAnimation" }, "parameters": [ - "Border", - "MultitouchJoystick", - "=", - "JoystickIdentifier", + "Object", "" ] }, { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetDeadZoneRadius" + "value": "ChangeSprite" }, "parameters": [ - "Border", - "MultitouchJoystick", + "State", "=", - "DeadZoneRadius", - "" + "State.AnimationFrameCount() - 1" ] } ] @@ -39956,27 +10986,53 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" } ], - "objectGroups": [] + "objectGroups": [ + { + "name": "Background", + "objects": [ + { + "name": "Idle" + }, + { + "name": "Hovered" + }, + { + "name": "Pressed" + } + ] + } + ] }, { - "description": "Show the joystick until it is released.", - "fullName": "Show and start pressing", + "fullName": "", "functionType": "Action", - "name": "TeleportAndPress", - "sentence": "Show _PARAM0_ at the cursor position and start pressing", + "name": "onHotReloading", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "HasAnyTouchOrMouseStarted" + "value": "BooleanVariable" + }, + "parameters": [ + "IsChecked", + "True", + "" + ] + }, + { + "type": { + "value": "BooleanVariable" }, "parameters": [ + "PreviousIsChecked", + "False", "" ] } @@ -39984,53 +11040,68 @@ "actions": [ { "type": { - "value": "SetXY" + "value": "SpriteToggleSwitch::SpriteToggleSwitch::SetChecked" }, "parameters": [ "Object", - "=", - "Object.ParentTouchX(StartedTouchOrMouseId(0))", - "=", - "Object.ParentTouchY(StartedTouchOrMouseId(0))" + "yes", + "no" ] }, { "type": { - "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::ActivateControl" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "yes", + "PreviousIsChecked", + "True", "" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { "type": { - "value": "Show" + "value": "BooleanVariable" }, "parameters": [ - "Object", + "IsChecked", + "False", "" ] }, { "type": { - "value": "SetBooleanVariable" + "value": "BooleanVariable" }, "parameters": [ - "ShouldBeHiddenWhenReleased", + "PreviousIsChecked", "True", "" ] + } + ], + "actions": [ + { + "type": { + "value": "SpriteToggleSwitch::SpriteToggleSwitch::SetChecked" + }, + "parameters": [ + "Object", + "SwitchFSM", + "no" + ] }, { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::ForceStartPressing" + "value": "SetBooleanVariable" }, "parameters": [ - "Border", - "MultitouchJoystick", - "StartedTouchOrMouseId(0)", + "PreviousIsChecked", + "False", "" ] } @@ -40041,116 +11112,61 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "Return the X position of a specified touch", - "fullName": "Touch X position (on parent)", - "functionType": "Expression", - "name": "ParentTouchX", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [] - }, - { - "type": "BuiltinCommonInstructions::JsCode", - "inlineCode": [ - "const object = objects[0];", - "const touchId = eventsFunctionContext.getArgument(\"TouchId\");", - "eventsFunctionContext.returnValue = gdjs.evtTools.input.getTouchX(object.getInstanceContainer(), touchId, object.getLayer());" - ], - "parameterObjects": "Object", - "useStrict": true, - "eventsSheetExpanded": false - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" - }, - { - "description": "Touch identifier", - "name": "TouchId", - "type": "expression" } ], "objectGroups": [] }, { - "description": "Return the X position of a specified touch", - "fullName": "Touch X position (on parent)", - "functionType": "Expression", - "name": "ParentTouchY", - "private": true, + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [], - "actions": [] - }, - { - "type": "BuiltinCommonInstructions::JsCode", - "inlineCode": [ - "const object = objects[0];", - "const touchId = eventsFunctionContext.getArgument(\"TouchId\");", - "eventsFunctionContext.returnValue = gdjs.evtTools.input.getTouchY(object.getInstanceContainer(), touchId, object.getLayer());" - ], - "parameterObjects": "Object", - "useStrict": true, - "eventsSheetExpanded": false + "actions": [ + { + "type": { + "value": "SpriteToggleSwitch::SpriteToggleSwitch::UpdateStateAnimation" + }, + "parameters": [ + "Object", + "" + ] + } + ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" - }, - { - "description": "Touch identifier", - "name": "TouchId", - "type": "expression" } ], "objectGroups": [] }, { - "description": "De/activate control of the joystick.", - "fullName": "De/activate control", - "functionType": "Action", - "name": "ActivateControl", - "sentence": "Activate control of _PARAM0_: _PARAM1_", + "description": "Check if the toggle switch is checked.", + "fullName": "Is checked", + "functionType": "Condition", + "name": "IsChecked", + "sentence": "_PARAM0_ is checked", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "inverted": true, - "value": "BooleanVariable" + "value": "SpriteToggleSwitch::SwitchFSM::IsChecked" }, "parameters": [ - "ShouldActivate", - "True", + "State", + "SwitchFSM", "" ] } @@ -40158,26 +11174,42 @@ "actions": [ { "type": { - "value": "ActivateBehavior" + "value": "SetReturnBoolean" }, "parameters": [ - "Border", - "MultitouchJoystick", - "no" + "True" ] } ] - }, + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the toggle switch was checked in the current frame.", + "fullName": "Has just been checked", + "functionType": "Condition", + "name": "HasJustBeenChecked", + "sentence": "_PARAM0_ has just been checked", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "BooleanVariable" + "value": "SpriteToggleSwitch::SwitchFSM::HasJustBeenChecked" }, "parameters": [ - "ShouldActivate", - "True", + "State", + "SwitchFSM", "" ] } @@ -40185,12 +11217,10 @@ "actions": [ { "type": { - "value": "ActivateBehavior" + "value": "SetReturnBoolean" }, "parameters": [ - "Border", - "MultitouchJoystick", - "yes" + "True" ] } ] @@ -40200,35 +11230,30 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" - }, - { - "description": "Activate", - "name": "ShouldActivate", - "type": "yesorno" } ], "objectGroups": [] }, { - "description": "Check if a stick is pressed.", - "fullName": "Stick pressed", + "description": "Check if the toggle switch was unchecked in the current frame.", + "fullName": "Has just been unchecked", "functionType": "Condition", - "name": "IsPressed", - "sentence": "Stick _PARAM0_ is pressed", + "name": "HasJustBeenUnchecked", + "sentence": "_PARAM0_ has just been unchecked", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::IsPressed" + "value": "SpriteToggleSwitch::SwitchFSM::HasJustBeenUnchecked" }, "parameters": [ - "Border", - "MultitouchJoystick", - "!=" + "State", + "SwitchFSM", + "" ] } ], @@ -40248,160 +11273,143 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" } ], "objectGroups": [] }, { - "description": "the joystick force (from 0 to 1).", - "fullName": "Joystick force (deprecated)", - "functionType": "ExpressionAndCondition", - "name": "JoystickForce", - "private": true, - "sentence": "the joystick force", + "description": "Check if the toggle switch was checked or unchecked in the current frame.", + "fullName": "Has just been toggled", + "functionType": "Condition", + "name": "HasJustBeenToggled", + "sentence": "_PARAM0_ has just been toggled", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "SetReturnNumber" + "value": "SpriteToggleSwitch::SwitchFSM::HasJustBeenToggled" }, "parameters": [ - "Border.MultitouchJoystick::JoystickForce()" + "State", + "SwitchFSM", + "" ] } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "the strick force (from 0 to 1).", - "fullName": "Stick force", - "functionType": "ExpressionAndCondition", - "name": "StickForce", - "sentence": "the stick force", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "Border.MultitouchJoystick::JoystickForce()" + "True" ] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" } ], "objectGroups": [] }, { - "description": "the stick force on X axis (from -1 at the left to 1 at the right).", - "fullName": "Stick X force", - "functionType": "ExpressionAndCondition", - "name": "StickForceX", - "sentence": "the stick X force", + "description": "Check (or uncheck) the toggle switch.", + "fullName": "Check (or uncheck)", + "functionType": "Action", + "name": "SetChecked", + "sentence": "Check _PARAM0_: _PARAM1_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "inverted": true, + "value": "BooleanVariable" + }, + "parameters": [ + "Value", + "True", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SpriteToggleSwitch::SwitchFSM::SetChecked" }, "parameters": [ - "Border.MultitouchJoystick::StickForceX()" + "State", + "SwitchFSM", + "no", + "" ] } ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", - "type": "object" - } - ], - "objectGroups": [] - }, - { - "description": "the stick force on Y axis (from -1 at the top to 1 at the bottom).", - "fullName": "Stick Y force", - "functionType": "ExpressionAndCondition", - "name": "StickForceY", - "sentence": "the stick Y force", - "events": [ + }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "Value", + "True", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SpriteToggleSwitch::SwitchFSM::SetChecked" }, "parameters": [ - "Border.MultitouchJoystick::StickForceY()" + "State", + "SwitchFSM", + "yes", + "" ] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" + }, + { + "defaultValue": "yes", + "description": "IsChecked", + "name": "Value", + "optional": true, + "type": "yesorno" } ], "objectGroups": [] }, { - "description": "Return the angle the joystick is pointing towards (from -180 to 180).", - "fullName": "Joystick angle (deprecated)", - "functionType": "Expression", - "name": "JoystickAngle", - "private": true, - "sentence": "", + "description": "Toggle the switch.", + "fullName": "Toggle", + "functionType": "Action", + "name": "ToggleChecked", + "sentence": "Toggle _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -40409,81 +11417,89 @@ "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SpriteToggleSwitch::SwitchFSM::ToggleChecked" }, "parameters": [ - "Border.MultitouchJoystick::JoystickAngle()" + "State", + "SwitchFSM", + "" ] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" } ], "objectGroups": [] }, { - "description": "Return the angle the stick is pointing towards (from -180 to 180).", - "fullName": "Stick angle", - "functionType": "Expression", - "name": "StickAngle", - "sentence": "", + "description": "Check if the button is not used.", + "fullName": "Is idle", + "functionType": "Condition", + "name": "IsIdle", + "private": true, + "sentence": "_PARAM0_ is idle", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "SpriteToggleSwitch::ButtonFSM::IsIdle" + }, + "parameters": [ + "State", + "ButtonFSM", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "Border.MultitouchJoystick::JoystickAngle()" + "True" ] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" } ], "objectGroups": [] }, { - "description": "Check if joystick is pushed in a given direction.", - "fullName": "Joystick pushed in a direction (4-way movement)", + "description": "Check if the button was just clicked.", + "fullName": "Is clicked", "functionType": "Condition", - "name": "IsDirectionPushed4Way", - "sentence": "_PARAM0_ is pushed in direction _PARAM1_", + "name": "IsClicked", + "private": true, + "sentence": "_PARAM0_ is clicked", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::IsDirectionPushed4Way" + "value": "SpriteToggleSwitch::ButtonFSM::IsClicked" }, "parameters": [ - "Border", - "MultitouchJoystick", - "Direction", + "State", + "ButtonFSM", "" ] } @@ -40504,36 +11520,29 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" - }, - { - "description": "Direction", - "name": "Direction", - "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\"]", - "type": "stringWithSelector" } ], "objectGroups": [] }, { - "description": "Check if joystick is pushed in a given direction.", - "fullName": "Joystick pushed in a direction (8-way movement)", + "description": "Check if the cursor is hovered over the button.", + "fullName": "Is hovered", "functionType": "Condition", - "name": "IsDirectionPushed8Way", - "sentence": "_PARAM0_ is pushed in direction _PARAM1_", + "name": "IsHovered", + "sentence": "_PARAM0_ is hovered", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::IsDirectionPushed8Way" + "value": "SpriteToggleSwitch::ButtonFSM::IsHovered" }, "parameters": [ - "Border", - "MultitouchJoystick", - "Direction", + "State", + "ButtonFSM", "" ] } @@ -40554,77 +11563,86 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" - }, - { - "description": "Direction", - "name": "Direction", - "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\",\"UpLeft\",\"UpRight\",\"DownLeft\",\"DownRight\"]", - "type": "stringWithSelector" } ], "objectGroups": [] }, { - "description": "the multitouch controller identifier (1, 2, 3, 4...).", - "fullName": "Multitouch controller identifier", - "functionType": "ExpressionAndCondition", - "group": "Multitouch Joystick configuration", - "name": "ControllerIdentifier", - "sentence": "the multitouch controller identifier", + "description": "Check if the button is either hovered or pressed but not hovered.", + "fullName": "Is focused", + "functionType": "Condition", + "name": "IsFocused", + "private": true, + "sentence": "_PARAM0_ is focused", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "SpriteToggleSwitch::ButtonFSM::IsFocused" + }, + "parameters": [ + "State", + "ButtonFSM", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "Border.MultitouchJoystick::PropertyControllerIdentifier()" + "True" ] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" } ], "objectGroups": [] }, { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "ControllerIdentifier", - "name": "SetControllerIdentifier", - "sentence": "", + "description": "Check if the button is currently being pressed with mouse or touch.", + "fullName": "Is pressed", + "functionType": "Condition", + "name": "IsPressed", + "sentence": "_PARAM0_ is pressed", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetControllerIdentifier" + "value": "SpriteToggleSwitch::ButtonFSM::IsPressed" }, "parameters": [ - "Border", - "MultitouchJoystick", - "=", - "Value", + "State", + "ButtonFSM", "" ] } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } ] } ], @@ -40632,70 +11650,147 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" } ], "objectGroups": [] }, { - "description": "the joystick name of the object.", - "fullName": "Joystick name", - "functionType": "ExpressionAndCondition", - "group": "Multitouch Joystick configuration", - "name": "JoystickIdentifier", - "sentence": "the joystick name", + "description": "Check if the button is currently being pressed outside with mouse or touch.", + "fullName": "Is held outside", + "functionType": "Condition", + "name": "IsPressedOutside", + "sentence": "_PARAM0_ is held outside", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "SpriteToggleSwitch::ButtonFSM::IsPressedOutside" + }, + "parameters": [ + "State", + "ButtonFSM", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnString" + "value": "SetReturnBoolean" }, "parameters": [ - "Border.MultitouchJoystick::PropertyJoystickIdentifier()" + "True" ] } ] } ], - "expressionType": { - "type": "string" - }, "parameters": [ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" } ], "objectGroups": [] }, { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "JoystickIdentifier", - "name": "SetJoystickIdentifier", - "sentence": "", + "description": "Update the state animation.", + "fullName": "Update state animation", + "functionType": "Action", + "name": "UpdateStateAnimation", + "private": true, + "sentence": "Update the state animation of _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "SpriteToggleSwitch::SpriteToggleSwitch::IsChecked" + }, + "parameters": [ + "Object", + "ButtonFSM", + "" + ] + }, + { + "type": { + "value": "AnimationName" + }, + "parameters": [ + "State", + "\"Unchecked\"" + ] + } + ], "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetJoystickIdentifier" + "value": "SetAnimationName" }, "parameters": [ - "Border", - "MultitouchJoystick", - "=", - "Value", + "State", + "\"Checked\"" + ] + }, + { + "type": { + "value": "PlayAnimation" + }, + "parameters": [ + "State" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "SpriteToggleSwitch::SpriteToggleSwitch::IsChecked" + }, + "parameters": [ + "Object", + "ButtonFSM", "" ] + }, + { + "type": { + "value": "AnimationName" + }, + "parameters": [ + "State", + "\"Checked\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "State", + "\"Unchecked\"" + ] + }, + { + "type": { + "value": "PlayAnimation" + }, + "parameters": [ + "State" + ] } ] } @@ -40704,69 +11799,117 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" } ], "objectGroups": [] }, { - "description": "the dead zone radius of the joystick (range: 0 to 1). The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved).", - "fullName": "Dead zone radius", - "functionType": "ExpressionAndCondition", - "group": "Multitouch Joystick configuration", - "name": "DeadZoneRadius", - "sentence": "the dead zone radius", + "description": "De/activate interactions with the button.", + "fullName": "De/activate interactions", + "functionType": "Action", + "name": "Activate", + "sentence": "Activate interactions with _PARAM0_: _PARAM1_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShouldActivate", + "True", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "ActivateBehavior" + }, + "parameters": [ + "State", + "ButtonFSM", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "BooleanVariable" + }, + "parameters": [ + "ShouldActivate", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ActivateBehavior" }, "parameters": [ - "Border.MultitouchJoystick::PropertyDeadZoneRadius()" + "State", + "ButtonFSM", + "no" ] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" + }, + { + "description": "Activate", + "name": "ShouldActivate", + "type": "yesorno" } ], "objectGroups": [] }, { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "DeadZoneRadius", - "name": "SetDeadZoneRadius", - "sentence": "", + "description": "Check if interactions are activated on the button.", + "fullName": "Interactions activated", + "functionType": "Condition", + "name": "IsActivated", + "sentence": "Interactions on _PARAM0_ are activated", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BehaviorActivated" + }, + "parameters": [ + "State", + "ButtonFSM" + ] + } + ], "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetDeadZoneRadius" + "value": "SetReturnBoolean" }, "parameters": [ - "Border", - "MultitouchJoystick", - "=", - "Value", - "" + "True" ] } ] @@ -40776,95 +11919,281 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch", "type": "object" } ], "objectGroups": [] } ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "onCreated" + }, + { + "functionName": "onHotReloading" + }, + { + "functionName": "doStepPostEvents" + }, + { + "functionName": "IsChecked" + }, + { + "functionName": "HasJustBeenChecked" + }, + { + "functionName": "HasJustBeenUnchecked" + }, + { + "functionName": "HasJustBeenToggled" + }, + { + "functionName": "SetChecked" + }, + { + "functionName": "ToggleChecked" + }, + { + "functionName": "IsIdle" + }, + { + "functionName": "IsClicked" + }, + { + "functionName": "IsHovered" + }, + { + "functionName": "IsFocused" + }, + { + "functionName": "IsPressed" + }, + { + "functionName": "IsPressedOutside" + }, + { + "functionName": "UpdateStateAnimation" + }, + { + "functionName": "Activate" + }, + { + "functionName": "IsActivated" + } + ] + }, "propertyDescriptors": [ - { - "value": "1", - "type": "Number", - "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "name": "ControllerIdentifier" - }, - { - "value": "Primary", - "type": "Choice", - "label": "Joystick name", - "choices": [ - { - "label": "Primary", - "value": "Primary" - }, - { - "label": "Secondary", - "value": "Secondary" - } - ], - "name": "JoystickIdentifier" - }, - { - "value": "0.4", - "type": "Number", - "label": "Dead zone radius (range: 0 to 1)", - "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "name": "DeadZoneRadius" - }, - { - "value": "Center-center", - "type": "String", - "label": "", - "description": "Only used by the scene editor.", - "extraInformation": [ - "Thumb" - ], - "choices": [], - "hidden": true, - "name": "ThumbAnchorOrigin" - }, - { - "value": "Center-center", - "type": "Number", - "label": "", - "description": "Only used by the scene editor.", - "hidden": true, - "name": "ThumbAnchorTarget" - }, { "value": "true", "type": "Boolean", - "label": "", - "description": "Only used by the scene editor.", - "extraInformation": [ - "Thumb" - ], - "choices": [], - "hidden": true, - "name": "ThumbIsScaledProportionally" - }, - { - "value": "Center-center", - "type": "String", - "label": "", - "description": "Only used by the scene editor.", - "hidden": true, - "name": "ParentOrigin" + "label": "Is checked", + "name": "IsChecked" }, { "value": "", "type": "Boolean", "label": "", + "description": "It's used to detect a change at hot reload.", "hidden": true, - "name": "ShouldBeHiddenWhenReleased" + "name": "PreviousIsChecked" } ], - "variants": [] + "propertiesFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "propertyName": "IsChecked" + }, + { + "propertyName": "PreviousIsChecked" + } + ] + }, + "variants": [ + { + "areaMaxX": 32, + "areaMaxY": 32, + "areaMaxZ": 1, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "assetStoreAssetId": "3ad21d013739f00250a281206fa27d2dfbcd2b19841eb538cd3c901f4965117e", + "assetStoreOriginalName": "Rounded Square Yellow Toggle", + "name": "Rounded Square Yellow Toggle", + "objects": [ + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "State", + "persistentUuid": "392be98a-425a-4c94-8fc2-99824a5f5e4b", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "ButtonFSM", + "type": "SpriteToggleSwitch::ButtonFSM", + "ShouldCheckHovering": true, + "State": "Idle", + "TouchId": 0, + "TouchIsInside": false, + "MouseIsInside": false, + "Index": 0 + }, + { + "name": "SwitchFSM", + "type": "SpriteToggleSwitch::SwitchFSM", + "ButtonFSM": "ButtonFSM", + "IsChecked": false, + "WasChecked": false + } + ], + "animations": [ + { + "name": "Unchecked", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\Rounded Square Grey Toggle_Off.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Checked", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\Rounded Square Yellow Toggle_On.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "State" + } + ] + }, + "objectsGroups": [], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "", + "renderingType": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + } + ], + "instances": [ + { + "angle": 0, + "customSize": false, + "depth": 1, + "height": 64, + "layer": "", + "name": "State", + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 64, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 12.519104343532318, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + } + } + ] } ] } ], "externalLayouts": [] -} \ No newline at end of file +}