diff --git a/examples/3d-racing-game/3d-racing-game.json b/examples/3d-racing-game/3d-racing-game.json index b58362b82..00c3f0f7e 100644 --- a/examples/3d-racing-game/3d-racing-game.json +++ b/examples/3d-racing-game/3d-racing-game.json @@ -1,5 +1,5 @@ { - "firstLayout": "", + "firstLayout": "LevelSelection", "gdVersion": { "build": 99, "major": 4, @@ -8,13 +8,15 @@ }, "properties": { "adaptGameResolutionAtRuntime": true, + "antialiasingMode": "MSAA", + "antialisingEnabledOnMobile": false, "folderProject": false, "orientation": "landscape", "packageName": "com.example.gamename", "pixelsRounding": false, "projectUuid": "b3e5814b-dcd1-4d32-a171-6ea15142cbe8", "scaleMode": "linear", - "sizeOnStartupMode": "adaptWidth", + "sizeOnStartupMode": "", "templateSlug": "", "useExternalSourceFiles": false, "version": "1.0.0", @@ -84,7 +86,8 @@ "D8H" ], "categories": [ - "racing" + "racing", + "leaderboard" ], "playableDevices": [ "keyboard", @@ -125,328 +128,349 @@ }, { "alwaysLoaded": false, - "file": "Road-0-0.png", + "file": "assets/Tree.png", "kind": "image", "metadata": "", - "name": "Road-0-0.png", + "name": "Tree.png", "smoothed": true, - "userAdded": true + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Generic Backgrounds/Background Objects/Retina/2749017c821557802fbddcfa31a8bd1e386588fa0f8af7fe4eb6afb3f64a4655_Tree.png", + "name": "Tree.png" + } }, { "alwaysLoaded": false, - "file": "Road-0-1.png", + "file": "assets/bush (4).png", "kind": "image", "metadata": "", - "name": "Road-0-1.png", + "name": "bush (4).png", "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Generic Backgrounds/Background Objects/Retina/946774e9453757ad42b06fc33a94af760023d3dfb1ccf33e8cc20a6f5101be75_bush (4).png", + "name": "bush (4).png" + } + }, + { + "file": "sedanSportsYellow.glb", + "kind": "model3D", + "metadata": "", + "name": "sedanSportsYellow.glb", "userAdded": true }, { - "alwaysLoaded": false, - "file": "Road-0-2.png", - "kind": "image", + "file": "sedanSportsRed.glb", + "kind": "model3D", "metadata": "", - "name": "Road-0-2.png", - "smoothed": true, + "name": "sedanSportsRed.glb", "userAdded": true }, { - "alwaysLoaded": false, - "file": "Road-0-3.png", - "kind": "image", + "file": "sedanSportsBlue.glb", + "kind": "model3D", "metadata": "", - "name": "Road-0-3.png", - "smoothed": true, + "name": "sedanSportsBlue.glb", "userAdded": true }, { - "alwaysLoaded": false, - "file": "Road-1-1.png", - "kind": "image", + "file": "sedanSportsGreen.glb", + "kind": "model3D", "metadata": "", - "name": "Road-1-1.png", - "smoothed": true, + "name": "sedanSportsGreen.glb", "userAdded": true }, { - "alwaysLoaded": false, - "file": "Road-1-2.png", - "kind": "image", + "file": "sedanSportsWhite.glb", + "kind": "model3D", "metadata": "", - "name": "Road-1-2.png", - "smoothed": true, + "name": "sedanSportsWhite.glb", "userAdded": true }, { - "alwaysLoaded": false, - "file": "Road-1-3.png", - "kind": "image", + "file": "sedanSportsOrange.glb", + "kind": "model3D", "metadata": "", - "name": "Road-1-3.png", - "smoothed": true, + "name": "sedanSportsOrange.glb", "userAdded": true }, { - "alwaysLoaded": false, - "file": "assets/Tree.png", - "kind": "image", + "file": "sedanSportsLightBlue.glb", + "kind": "model3D", "metadata": "", - "name": "Tree.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Generic Backgrounds/Background Objects/Retina/2749017c821557802fbddcfa31a8bd1e386588fa0f8af7fe4eb6afb3f64a4655_Tree.png", - "name": "Tree.png" - } + "name": "sedanSportsLightBlue.glb", + "userAdded": true }, { "alwaysLoaded": false, - "file": "assets/bush (4).png", + "file": "assets/Grey.png", "kind": "image", "metadata": "", - "name": "bush (4).png", + "name": "Grey", "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Generic Backgrounds/Background Objects/Retina/946774e9453757ad42b06fc33a94af760023d3dfb1ccf33e8cc20a6f5101be75_bush (4).png", - "name": "bush (4).png" - } + "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-0-4.png", + "file": "assets/White.png", "kind": "image", "metadata": "", - "name": "Road-0-4.png", + "name": "White", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-0-6.png", + "file": "assets/Black.png", "kind": "image", "metadata": "", - "name": "Road-0-6.png", + "name": "Black", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-0-7.png", + "file": "assets/CarHitbox.png", "kind": "image", "metadata": "", - "name": "Road-0-7.png", + "name": "assets\\CarHitbox.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-1-0.png", + "file": "assets/Grey.png", "kind": "image", "metadata": "", - "name": "Road-1-0.png", + "name": "assets\\Grey.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-1-4.png", + "file": "preview.png", "kind": "image", "metadata": "", - "name": "Road-1-4.png", + "name": "preview.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-1-5.png", + "file": "assets/Bend44.png", "kind": "image", "metadata": "", - "name": "Road-1-5.png", + "name": "assets\\Bend44.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-1-7.png", + "file": "assets/Line2.png", "kind": "image", "metadata": "", - "name": "Road-1-7.png", + "name": "assets\\Line2.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-0-5.png", + "file": "assets/ZigZag44R.png", "kind": "image", "metadata": "", - "name": "Road-0-5.png", + "name": "assets\\ZigZag44R.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-2-3.png", + "file": "assets/ZigZag44L.png", "kind": "image", "metadata": "", - "name": "Road-2-3.png", + "name": "assets\\ZigZag44L.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-2-7.png", + "file": "assets/ZigZag24R.png", "kind": "image", "metadata": "", - "name": "Road-2-7.png", + "name": "assets\\ZigZag24R.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-3-3.png", + "file": "assets/ZigZag24L.png", "kind": "image", "metadata": "", - "name": "Road-3-3.png", + "name": "assets\\ZigZag24L.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-3-4.png", + "file": "assets/Bend33.png", "kind": "image", "metadata": "", - "name": "Road-3-4.png", + "name": "assets\\Bend33.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-3-5.png", + "file": "assets/NewSprite.png", "kind": "image", - "metadata": "", - "name": "Road-3-5.png", + "metadata": "{\"extension\":\".png\"}", + "name": "NewSprite", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-3-6.png", + "file": "assets/Bend22.png", "kind": "image", "metadata": "", - "name": "Road-3-6.png", + "name": "assets\\Bend22.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "Road-3-7.png", + "file": "assets/ZigZag34R.png", "kind": "image", "metadata": "", - "name": "Road-3-7.png", + "name": "assets\\ZigZag34R.png", "smoothed": true, "userAdded": true }, { - "file": "sedanSportsYellow.glb", - "kind": "model3D", + "alwaysLoaded": false, + "file": "assets/ZigZag34L.png", + "kind": "image", "metadata": "", - "name": "sedanSportsYellow.glb", + "name": "assets\\ZigZag34L.png", + "smoothed": true, "userAdded": true }, { - "file": "sedanSportsRed.glb", - "kind": "model3D", + "alwaysLoaded": false, + "file": "assets/ZigZag43R.png", + "kind": "image", "metadata": "", - "name": "sedanSportsRed.glb", + "name": "assets\\ZigZag43R.png", + "smoothed": true, "userAdded": true }, { - "file": "sedanSportsBlue.glb", - "kind": "model3D", + "alwaysLoaded": false, + "file": "assets/ZigZag43L.png", + "kind": "image", "metadata": "", - "name": "sedanSportsBlue.glb", + "name": "assets\\ZigZag43L.png", + "smoothed": true, "userAdded": true }, { - "file": "sedanSportsGreen.glb", - "kind": "model3D", + "alwaysLoaded": false, + "file": "assets/Bend23R.png", + "kind": "image", "metadata": "", - "name": "sedanSportsGreen.glb", + "name": "assets\\Bend23R.png", + "smoothed": true, "userAdded": true }, { - "file": "sedanSportsWhite.glb", - "kind": "model3D", + "alwaysLoaded": false, + "file": "assets/Bend23L.png", + "kind": "image", "metadata": "", - "name": "sedanSportsWhite.glb", + "name": "assets\\Bend23L.png", + "smoothed": true, "userAdded": true }, { - "file": "sedanSportsOrange.glb", - "kind": "model3D", + "alwaysLoaded": false, + "file": "assets/Bend34R.png", + "kind": "image", "metadata": "", - "name": "sedanSportsOrange.glb", + "name": "assets\\Bend34R.png", + "smoothed": true, "userAdded": true }, { - "file": "sedanSportsLightBlue.glb", - "kind": "model3D", + "alwaysLoaded": false, + "file": "assets/Bend34L.png", + "kind": "image", "metadata": "", - "name": "sedanSportsLightBlue.glb", + "name": "assets\\Bend34L.png", + "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "assets/Grey.png", + "file": "assets/Grey Button_Hovered.png", "kind": "image", "metadata": "", - "name": "Grey", + "name": "Grey Button_Hovered.png", "smoothed": true, - "userAdded": true + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Menu buttons/b43e0035dca80ea2fad5c5d65de926dae0185038e5f9cb21d5f20234f30d1c76_Grey Button_Hovered.png", + "name": "Grey Button_Hovered.png" + } }, { "alwaysLoaded": false, - "file": "assets/White.png", + "file": "assets/Grey Button_Idle.png", "kind": "image", "metadata": "", - "name": "White", + "name": "Grey Button_Idle.png", "smoothed": true, - "userAdded": true + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Menu buttons/da7fc2efa0882eb5dfa0266315f2483c2f68d86a6751dc309ea9e9d0dd4759ba_Grey Button_Idle.png", + "name": "Grey Button_Idle.png" + } }, { "alwaysLoaded": false, - "file": "assets/Black.png", + "file": "assets/Grey Button_Pressed.png", "kind": "image", "metadata": "", - "name": "Black", + "name": "Grey Button_Pressed.png", "smoothed": true, - "userAdded": true + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Menu buttons/49c35e14af0e1f7aae407455cb944de96328955870e5f1500f63723ad879a42e_Grey Button_Pressed.png", + "name": "Grey Button_Pressed.png" + } }, { "alwaysLoaded": false, - "file": "assets/CarHitbox.png", + "file": "assets/Grass.png", "kind": "image", "metadata": "", - "name": "assets\\CarHitbox.png", + "name": "assets\\Grass.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "assets/Grey.png", + "file": "assets/Tree.png", "kind": "image", "metadata": "", - "name": "assets\\Grey.png", + "name": "assets\\Tree.png", "smoothed": true, "userAdded": true }, { "alwaysLoaded": false, - "file": "preview.png", + "file": "assets/Grey Button_Idle.png", "kind": "image", "metadata": "", - "name": "preview.png", + "name": "assets\\Grey Button_Idle.png", "smoothed": true, "userAdded": true } @@ -455,7 +479,37 @@ }, "objects": [], "objectsGroups": [], - "variables": [], + "variables": [ + { + "folded": true, + "name": "Level", + "type": "number", + "value": 1 + }, + { + "name": "LeaderboardIds", + "type": "array", + "children": [ + { + "type": "string", + "value": "" + }, + { + "type": "string", + "value": "59788047-88ef-4d5b-80b3-0ab9b08afad4" + }, + { + "type": "string", + "value": "bd00827a-dbb0-40e5-a67f-08cb02fd592d" + }, + { + "folded": true, + "type": "string", + "value": "b64122ec-23a0-44f4-8ee4-f240a4dfb243" + } + ] + } + ], "layouts": [ { "b": 231, @@ -470,14 +524,14 @@ "uiSettings": { "grid": false, "gridType": "rectangular", - "gridWidth": 320, - "gridHeight": 320, + "gridWidth": 80, + "gridHeight": 80, "gridOffsetX": 0, "gridOffsetY": 0, - "gridColor": 10401023, - "gridAlpha": 0.8, + "gridColor": 0, + "gridAlpha": 0.25, "snap": false, - "zoomFactor": 0.8700232859857422, + "zoomFactor": 0.7130377630690611, "windowMask": false }, "objectsGroups": [ @@ -523,6 +577,65 @@ "name": "BlackOpponent" } ] + }, + { + "name": "RoadTile", + "objects": [ + { + "name": "Bend44" + }, + { + "name": "RightZigZag44" + }, + { + "name": "RightZigZag24" + }, + { + "name": "RightBend24" + }, + { + "name": "Bend33" + }, + { + "name": "LeftZigZag44" + }, + { + "name": "LeftZigZag24" + }, + { + "name": "LeftBend24" + }, + { + "name": "Line2" + }, + { + "name": "Bend22" + }, + { + "name": "RightBend34" + }, + { + "name": "LeftBend34" + }, + { + "name": "RightBend23" + }, + { + "name": "LeftBend23" + }, + { + "name": "RightZigZag34" + }, + { + "name": "LeftZigZag35" + }, + { + "name": "RightZigZag43" + }, + { + "name": "LeftZigZag43" + } + ] } ], "variables": [], @@ -530,3961 +643,4065 @@ { "angle": 0, "customSize": true, - "height": 16, - "layer": "", - "name": "Camera", - "persistentUuid": "5047402a-5080-45db-8f00-4015d0ab3484", - "width": 16, - "x": -48, - "y": -48, - "zOrder": 5, + "height": 320, + "layer": "Background", + "name": "SummerBackground", + "persistentUuid": "7f1df262-4540-4fee-9080-f05c9e6709d3", + "width": 1280, + "x": 0, + "y": -53, + "zOrder": 15, "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "060f50f5-8069-46e4-b1b4-9b110c05b40b", - "width": 64, - "x": 961, - "y": 176, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], + "customSize": true, + "depth": 0, + "height": 110, + "layer": "UI", + "name": "StartMessage", + "persistentUuid": "b52c34f7-6df3-410c-aae7-a9e381bf8f68", + "width": 457, + "x": 410, + "y": 298, + "zOrder": 32, + "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "1a3526a8-081c-4c35-aa9b-aad9c8693591", - "width": 64, - "x": 554, - "y": 300, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], + "customSize": true, + "height": 210, + "layer": "UI", + "name": "BlackBackground", + "persistentUuid": "7f2a0f20-3bb5-4b51-8073-15898fab2530", + "width": 459, + "x": 410, + "y": 252, + "zOrder": 0, + "numberProperties": [], "stringProperties": [], "initialVariables": [] - }, + } + ], + "objects": [ { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "7745500f-6888-4a02-b164-2bb072b44911", - "width": 64, - "x": 264, - "y": 124, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "Player", + "tags": "", + "type": "Scene3D::Model3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "cbe3b780-d9c4-4c0e-ab38-62404b1fb84a", - "width": 64, - "x": 274, - "y": 501, - "zOrder": 7, - "numberProperties": [ + "name": "Car", + "type": "Car::Car", + "IsAccelerating": false, + "IsOnRoad": 0, + "CurveMovement": "SpeedPathMovement", + "SpeedPathMovement": "SpeedPathMovement", + "MaxTurnSpeed": 32 + }, { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "955a1cda-f34e-403f-9608-b062080a73f4", - "width": 64, - "x": 197, - "y": 256, - "zOrder": 7, - "numberProperties": [ + "name": "ShakeModel3D", + "type": "ShakeObject3D::ShakeModel3D", + "TranslationAmplitudeX": 0, + "TranslationAmplitudeY": 0, + "TranslationAmplitudeZ": 0, + "RotationAmplitudeX": 5, + "RotationAmplitudeY": 5, + "RotationAmplitudeZ": 5, + "Time": 5, + "Duration": 5, + "StartEasingDuration": 5, + "StopEasingDuration": 5, + "Frequency": 4, + "DeltaX": 5, + "DeltaY": 5, + "DeltaZ": 5, + "DeltaAngleX": 5, + "DeltaAngleY": 5, + "DeltaAngleZ": 5, + "NoiseTime": 5 + }, { - "name": "z", - "value": 0 + "name": "SpeedPathMovement", + "type": "CurvedMovement::SpeedPathMovement", + "Rotation": true, + "RotationOffset": 0, + "Speed": 0, + "PathOriginX": 0, + "PathOriginY": 0, + "PathName": "", + "TargetedSpeed": 0, + "Acceleration": 0, + "DrawingElementIndex": 0, + "X": 0, + "Y": 0, + "PathAngle": 0, + "PathScale": 0, + "RepetitionCount": 0, + "ShouldLoop": false, + "DrawingPathOriginX": 0, + "DrawingPathOriginY": 0, + "DebugLineStrokeWidth": 0, + "PreviousSpeed": 0, + "CurrentLength": 0, + "IsLookingBack": false, + "Viewpoint": "Top-Down" } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "centerLocation": "", + "depth": 6, + "height": 8, + "keepAspectRatio": false, + "materialType": "StandardWithoutMetalness", + "modelResourceName": "sedanSportsRed.glb", + "originLocation": "", + "rotationX": 90, + "rotationY": 0, + "rotationZ": -90, + "width": 12, + "animations": [] + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "3ececb48-10d4-419e-8d74-3bf9ca77b63e", - "width": 64, - "x": 529, - "y": 167, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "BlackOpponent", + "tags": "", + "type": "Scene3D::Model3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "aace9096-f4bd-42b5-90d7-af2a6d16ed43", - "width": 64, - "x": 761, - "y": 385, - "zOrder": 7, - "numberProperties": [ + "name": "Car", + "type": "Car::Car", + "IsAccelerating": false, + "IsOnRoad": 0, + "CurveMovement": "SpeedPathMovement", + "SpeedPathMovement": "SpeedPathMovement", + "MaxSpeed": 225, + "MaxTurnSpeed": 48 + }, { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "c17f6fa5-4369-4307-a31b-da1795193d8f", - "width": 64, - "x": 699, - "y": 566, - "zOrder": 7, - "numberProperties": [ + "name": "ShakeModel3D", + "type": "ShakeObject3D::ShakeModel3D", + "TranslationAmplitudeX": 0, + "TranslationAmplitudeY": 0, + "TranslationAmplitudeZ": 0, + "RotationAmplitudeX": 5, + "RotationAmplitudeY": 5, + "RotationAmplitudeZ": 5, + "Time": 5, + "Duration": 5, + "StartEasingDuration": 5, + "StopEasingDuration": 5, + "Frequency": 4, + "DeltaX": 5, + "DeltaY": 5, + "DeltaZ": 5, + "DeltaAngleX": 5, + "DeltaAngleY": 5, + "DeltaAngleZ": 5, + "NoiseTime": 5 + }, { - "name": "z", - "value": 0 + "name": "SpeedPathMovement", + "type": "CurvedMovement::SpeedPathMovement", + "Rotation": true, + "RotationOffset": 0, + "Speed": 0, + "PathOriginX": 0, + "PathOriginY": 0, + "PathName": "", + "TargetedSpeed": 0, + "Acceleration": 0, + "DrawingElementIndex": 0, + "X": 0, + "Y": 0, + "PathAngle": 0, + "PathScale": 0, + "RepetitionCount": 0, + "ShouldLoop": false, + "DrawingPathOriginX": 0, + "DrawingPathOriginY": 0, + "DebugLineStrokeWidth": 0, + "PreviousSpeed": 0, + "CurrentLength": 0, + "IsLookingBack": false, + "Viewpoint": "Top-Down" } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "centerLocation": "", + "depth": 6, + "height": 8, + "keepAspectRatio": false, + "materialType": "StandardWithoutMetalness", + "modelResourceName": "sedanSportsOrange.glb", + "originLocation": "", + "rotationX": 90, + "rotationY": 0, + "rotationZ": -90, + "width": 12, + "animations": [] + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "effb1f2d-44e1-4077-8fcc-a97ea1ed80b4", - "width": 64, - "x": 991, - "y": 445, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "WhiteOpponent", + "tags": "", + "type": "Scene3D::Model3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "f902c737-b6ac-4728-aaa4-0e9af1a0fd7e", - "width": 64, - "x": 655, - "y": 10, - "zOrder": 7, - "numberProperties": [ + "name": "Car", + "type": "Car::Car", + "IsAccelerating": false, + "IsOnRoad": 0, + "CurveMovement": "SpeedPathMovement", + "SpeedPathMovement": "SpeedPathMovement", + "MaxSpeed": 200, + "MaxTurnSpeed": 32 + }, { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "f08cde68-0a40-4b4d-bed7-e8c0f334f532", - "width": 64, - "x": 76, - "y": 42, - "zOrder": 7, - "numberProperties": [ + "name": "ShakeModel3D", + "type": "ShakeObject3D::ShakeModel3D", + "TranslationAmplitudeX": 0, + "TranslationAmplitudeY": 0, + "TranslationAmplitudeZ": 0, + "RotationAmplitudeX": 5, + "RotationAmplitudeY": 5, + "RotationAmplitudeZ": 5, + "Time": 5, + "Duration": 5, + "StartEasingDuration": 5, + "StopEasingDuration": 5, + "Frequency": 4, + "DeltaX": 5, + "DeltaY": 5, + "DeltaZ": 5, + "DeltaAngleX": 5, + "DeltaAngleY": 5, + "DeltaAngleZ": 5, + "NoiseTime": 5 + }, { - "name": "z", - "value": 0 + "name": "SpeedPathMovement", + "type": "CurvedMovement::SpeedPathMovement", + "Rotation": true, + "RotationOffset": 0, + "Speed": 0, + "PathOriginX": 0, + "PathOriginY": 0, + "PathName": "", + "TargetedSpeed": 0, + "Acceleration": 0, + "DrawingElementIndex": 0, + "X": 0, + "Y": 0, + "PathAngle": 0, + "PathScale": 0, + "RepetitionCount": 0, + "ShouldLoop": false, + "DrawingPathOriginX": 0, + "DrawingPathOriginY": 0, + "DebugLineStrokeWidth": 0, + "PreviousSpeed": 0, + "CurrentLength": 0, + "IsLookingBack": false, + "Viewpoint": "Top-Down" } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "centerLocation": "", + "depth": 6, + "height": 8, + "keepAspectRatio": false, + "materialType": "StandardWithoutMetalness", + "modelResourceName": "sedanSportsWhite.glb", + "originLocation": "", + "rotationX": 90, + "rotationY": 0, + "rotationZ": -90, + "width": 12, + "animations": [] + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "ed34cb2d-7c54-42b6-a31f-774e25e47d75", - "width": 64, - "x": 125, - "y": 597, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "GreenOpponent", + "tags": "", + "type": "Scene3D::Model3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "Car", + "type": "Car::Car", + "IsAccelerating": false, + "IsOnRoad": 0, + "CurveMovement": "SpeedPathMovement", + "SpeedPathMovement": "SpeedPathMovement", + "MaxSpeed": 210, + "MaxTurnSpeed": 32 + }, + { + "name": "ShakeModel3D", + "type": "ShakeObject3D::ShakeModel3D", + "TranslationAmplitudeX": 0, + "TranslationAmplitudeY": 0, + "TranslationAmplitudeZ": 0, + "RotationAmplitudeX": 5, + "RotationAmplitudeY": 5, + "RotationAmplitudeZ": 5, + "Time": 5, + "Duration": 5, + "StartEasingDuration": 5, + "StopEasingDuration": 5, + "Frequency": 4, + "DeltaX": 5, + "DeltaY": 5, + "DeltaZ": 5, + "DeltaAngleX": 5, + "DeltaAngleY": 5, + "DeltaAngleZ": 5, + "NoiseTime": 5 + }, + { + "name": "SpeedPathMovement", + "type": "CurvedMovement::SpeedPathMovement", + "Rotation": true, + "RotationOffset": 0, + "Speed": 0, + "PathOriginX": 0, + "PathOriginY": 0, + "PathName": "", + "TargetedSpeed": 0, + "Acceleration": 0, + "DrawingElementIndex": 0, + "X": 0, + "Y": 0, + "PathAngle": 0, + "PathScale": 0, + "RepetitionCount": 0, + "ShouldLoop": false, + "DrawingPathOriginX": 0, + "DrawingPathOriginY": 0, + "DebugLineStrokeWidth": 0, + "PreviousSpeed": 0, + "CurrentLength": 0, + "IsLookingBack": false, + "Viewpoint": "Top-Down" } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "centerLocation": "", + "depth": 6, + "height": 8, + "keepAspectRatio": false, + "materialType": "StandardWithoutMetalness", + "modelResourceName": "sedanSportsGreen.glb", + "originLocation": "", + "rotationX": 90, + "rotationY": 0, + "rotationZ": -90, + "width": 12, + "animations": [] + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "389f311c-f437-48af-a674-2a8e7b9b6128", - "width": 64, - "x": 468, - "y": 594, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "BlueOpponent", + "tags": "", + "type": "Scene3D::Model3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "Car", + "type": "Car::Car", + "IsAccelerating": false, + "IsOnRoad": 0, + "CurveMovement": "SpeedPathMovement", + "SpeedPathMovement": "SpeedPathMovement", + "MaxSpeed": 190, + "MaxTurnSpeed": 32 + }, + { + "name": "ShakeModel3D", + "type": "ShakeObject3D::ShakeModel3D", + "TranslationAmplitudeX": 0, + "TranslationAmplitudeY": 0, + "TranslationAmplitudeZ": 0, + "RotationAmplitudeX": 5, + "RotationAmplitudeY": 5, + "RotationAmplitudeZ": 5, + "Time": 5, + "Duration": 5, + "StartEasingDuration": 5, + "StopEasingDuration": 5, + "Frequency": 4, + "DeltaX": 5, + "DeltaY": 5, + "DeltaZ": 5, + "DeltaAngleX": 5, + "DeltaAngleY": 5, + "DeltaAngleZ": 5, + "NoiseTime": 5 + }, + { + "name": "SpeedPathMovement", + "type": "CurvedMovement::SpeedPathMovement", + "Rotation": true, + "RotationOffset": 0, + "Speed": 0, + "PathOriginX": 0, + "PathOriginY": 0, + "PathName": "", + "TargetedSpeed": 0, + "Acceleration": 0, + "DrawingElementIndex": 0, + "X": 0, + "Y": 0, + "PathAngle": 0, + "PathScale": 0, + "RepetitionCount": 0, + "ShouldLoop": false, + "DrawingPathOriginX": 0, + "DrawingPathOriginY": 0, + "DebugLineStrokeWidth": 0, + "PreviousSpeed": 0, + "CurrentLength": 0, + "IsLookingBack": false, + "Viewpoint": "Top-Down" } ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road00", - "persistentUuid": "d36da325-2fd8-4909-99c2-9d4ba4c90c1a", - "width": 0, - "x": 0, - "y": 0, - "zOrder": 8, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road01", - "persistentUuid": "615c948e-0447-4567-9151-325088bd6985", - "width": 0, - "x": 320, - "y": 0, - "zOrder": 9, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] + "content": { + "centerLocation": "", + "depth": 6, + "height": 8, + "keepAspectRatio": false, + "materialType": "StandardWithoutMetalness", + "modelResourceName": "sedanSportsBlue.glb", + "originLocation": "", + "rotationX": 90, + "rotationY": 0, + "rotationZ": -90, + "width": 12, + "animations": [] + } }, { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road02", - "persistentUuid": "fa180355-3128-4aef-9414-eaff907169a7", - "width": 0, - "x": 640, - "y": 0, - "zOrder": 10, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road03", - "persistentUuid": "9b73442d-f629-404e-aec1-aa37818c84b8", - "width": 0, - "x": 960, - "y": 0, - "zOrder": 11, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road11", - "persistentUuid": "c01e0258-68c6-47e3-bd0e-abb2a1a2039f", - "width": 0, - "x": 320, - "y": 320, - "zOrder": 12, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road13", - "persistentUuid": "de8ee3df-2309-464d-89bf-aed3c9e48889", - "width": 0, - "x": 960, - "y": 320, - "zOrder": 13, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road12", - "persistentUuid": "b86043fb-4b72-41f2-9ddf-1d981a3a3c11", - "width": 0, - "x": 640, - "y": 320, - "zOrder": 14, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 3078, - "layer": "Ground", - "name": "NewObject", - "persistentUuid": "fe46b47d-bbeb-4872-a3b2-9361f4a2485f", - "width": 4496, - "x": -909, - "y": -971, - "zOrder": 0, - "numberProperties": [ + "assetStoreId": "", + "name": "YellowOpponent", + "tags": "", + "type": "Scene3D::Model3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "depth", - "value": 1 + "name": "Car", + "type": "Car::Car", + "IsAccelerating": false, + "IsOnRoad": 0, + "CurveMovement": "SpeedPathMovement", + "SpeedPathMovement": "SpeedPathMovement", + "MaxSpeed": 180, + "MaxTurnSpeed": 32 + }, + { + "name": "ShakeModel3D", + "type": "ShakeObject3D::ShakeModel3D", + "TranslationAmplitudeX": 0, + "TranslationAmplitudeY": 0, + "TranslationAmplitudeZ": 0, + "RotationAmplitudeX": 5, + "RotationAmplitudeY": 5, + "RotationAmplitudeZ": 5, + "Time": 5, + "Duration": 5, + "StartEasingDuration": 5, + "StopEasingDuration": 5, + "Frequency": 4, + "DeltaX": 5, + "DeltaY": 5, + "DeltaZ": 5, + "DeltaAngleX": 5, + "DeltaAngleY": 5, + "DeltaAngleZ": 5, + "NoiseTime": 5 }, { - "name": "z", - "value": -1 + "name": "SpeedPathMovement", + "type": "CurvedMovement::SpeedPathMovement", + "Rotation": true, + "RotationOffset": 0, + "Speed": 0, + "PathOriginX": 0, + "PathOriginY": 0, + "PathName": "", + "TargetedSpeed": 0, + "Acceleration": 0, + "DrawingElementIndex": 0, + "X": 0, + "Y": 0, + "PathAngle": 0, + "PathScale": 0, + "RepetitionCount": 0, + "ShouldLoop": false, + "DrawingPathOriginX": 0, + "DrawingPathOriginY": 0, + "DebugLineStrokeWidth": 0, + "PreviousSpeed": 0, + "CurrentLength": 0, + "IsLookingBack": false, + "Viewpoint": "Top-Down" } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "centerLocation": "", + "depth": 6, + "height": 8, + "keepAspectRatio": false, + "materialType": "StandardWithoutMetalness", + "modelResourceName": "sedanSportsYellow.glb", + "originLocation": "", + "rotationX": 90, + "rotationY": 0, + "rotationZ": -90, + "width": 12, + "animations": [] + } }, { - "angle": 0, - "customSize": true, - "height": 320, - "layer": "Background", - "name": "SummerBackground", - "persistentUuid": "7f1df262-4540-4fee-9080-f05c9e6709d3", - "width": 1280, - "x": 0, - "y": -53, - "zOrder": 15, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Grass", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "Grass", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "metadata": "{\"pskl\":{}}", + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Grass", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "7a8a1cf2-4651-4673-9d65-600cdeb4df8d", - "width": 64, - "x": 128, - "y": 416, - "zOrder": 7, - "numberProperties": [ + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Camera", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ { - "name": "z", - "value": 0 + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\Grey.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] } - ], - "stringProperties": [], - "initialVariables": [] + ] }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "565b3edb-335b-4db2-aba8-1a46606d1d81", - "width": 64, - "x": 736, - "y": 192, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "Bend44", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m40 320c0-155 125-280 280-280", + "StartX": -120, + "StartY": 160 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 320, + "height": 320, + "depth": 1, + "frontFaceResourceName": "assets\\Bend44.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "2b2702cb-508b-4a96-90cc-ada18a29c59c", - "width": 64, - "x": 1184, - "y": 224, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "Bend33", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m40 240c0-110 89.5-200 200-200", + "StartX": -80, + "StartY": 120 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 240, + "height": 240, + "depth": 1, + "frontFaceResourceName": "assets\\Bend33.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "9e2867c2-ea29-4710-bab4-f4566dc697f3", - "width": 64, - "x": 1216, - "y": 576, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "Bend22", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m40 160c0 -66.3 53.7-120 120-120", + "StartX": -40, + "StartY": 80 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 160, + "height": 160, + "depth": 1, + "frontFaceResourceName": "assets\\Bend22.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "51633ccd-7cce-4aa8-a2e9-bd659977755e", - "width": 64, - "x": 1316, - "y": 320, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "RightBend34", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m40 320c0 -155 89.5-280 200-280", + "StartX": -80, + "StartY": 160 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 240, + "height": 320, + "depth": 1, + "frontFaceResourceName": "assets\\Bend34R.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "a53f7c20-07d2-4c18-b724-8bbf575f0018", - "width": 64, - "x": 1380, - "y": -32, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "LeftBend34", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m200 320c0 -155-89.5-280-200-280", + "StartX": 80, + "StartY": 160 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 240, + "height": 320, + "depth": 1, + "frontFaceResourceName": "assets\\Bend34L.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "007fc818-c36f-4501-be97-f1947ea53751", - "width": 64, - "x": 1152, - "y": -224, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "RightBend23", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m40 240c0-110 53.7-200 120-200", + "StartX": -40, + "StartY": 120 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 160, + "height": 240, + "depth": 1, + "frontFaceResourceName": "assets\\Bend23R.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "5e8ffa05-04b2-45c0-ab2f-50d3a39619b1", - "width": 64, - "x": 900, - "y": -224, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "LeftBend23", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m120 240c0-110-53.7-200-120-200", + "StartX": 40, + "StartY": 120 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 160, + "height": 240, + "depth": 1, + "frontFaceResourceName": "assets\\Bend23L.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "cc228814-fc3e-4631-afa6-80e9b6916c2c", - "width": 64, - "x": 1024, - "y": -352, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "RightZigZag24", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m40 320c0 -88.4 28.5-141 40-160s40-71.6 40-160", + "StartX": -40, + "StartY": 160 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 160, + "height": 320, + "depth": 1, + "frontFaceResourceName": "assets\\ZigZag24R.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "7d7ca436-3eec-419a-b110-82bc37b8c025", - "width": 64, - "x": 676, - "y": -224, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "LeftZigZag24", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m120 320c0 -88.4-28.5-141-40-160s-40-71.6-40-160", + "StartX": 40, + "StartY": 160 } ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "d462ea6d-b090-4864-8793-6358926fe17e", - "width": 64, - "x": 512, - "y": -320, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 160, + "height": 320, + "depth": 1, + "frontFaceResourceName": "assets\\ZigZag24L.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "bc6db9c3-e888-42fc-98d8-817907814489", - "width": 64, - "x": 324, - "y": -256, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "RightZigZag34", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m200 0c0 88.4-43.9 135-80 160-36.1 25.5-80 71.6-80 160", + "StartX": 80, + "StartY": -160 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 240, + "height": 320, + "depth": 1, + "frontFaceResourceName": "assets\\ZigZag34R.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "84e13952-90fa-42f0-8789-94dbceb8c9e9", - "width": 64, - "x": 96, - "y": -160, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "LeftZigZag35", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m40 0c0 88.4 43.9 135 80 160 36.1 25.5 80 71.6 80 160", + "StartX": -80, + "StartY": -160 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 240, + "height": 320, + "depth": 1, + "frontFaceResourceName": "assets\\ZigZag34L.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "0aed7fe9-1344-440e-8dae-0d0aba66ad82", - "width": 64, - "x": 480, - "y": -160, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "RightZigZag44", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m40 320c0 -88.4 57-139 120-160 63-20.6 120-71.6 120-160", + "StartX": -120, + "StartY": 160 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 320, + "height": 320, + "depth": 1, + "frontFaceResourceName": "assets\\ZigZag44R.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "43fb683c-08c5-451b-aa4f-d20648c20fe6", - "width": 64, - "x": -96, - "y": 128, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "LeftZigZag44", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m280 320c0 -88.4-57-139-120-160s-120-71.6-120-160", + "StartX": 120, + "StartY": 160 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 320, + "height": 320, + "depth": 1, + "frontFaceResourceName": "assets\\ZigZag44L.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "ceb8758b-53d5-41d9-9af1-fcd3c3a8c0ab", - "width": 64, - "x": -64, - "y": 352, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "RightZigZag43", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m40 240c0 -66.3 54.7-109 120-120 65.3-11.4 120-53.7 120-120", + "StartX": -120, + "StartY": 120 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 320, + "height": 240, + "depth": 1, + "frontFaceResourceName": "assets\\ZigZag43R.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "d6a23e34-698c-45cb-95b8-133cc212782a", - "width": 64, - "x": -288, - "y": 256, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "LeftZigZag43", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m280 240c0 -66.3-54.7-109-120-120-65.3-11.4-120-53.7-120-120", + "StartX": 120, + "StartY": 120 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 320, + "height": 240, + "depth": 1, + "frontFaceResourceName": "assets\\ZigZag43L.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "9f0eaddf-8521-4972-b542-c3c3ea73c938", - "width": 64, - "x": -224, - "y": -96, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "Line2", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior", + "Path": "m40 0v160", + "StartX": 0, + "StartY": -80 } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 80, + "height": 160, + "depth": 1, + "frontFaceResourceName": "assets\\Line2.png", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", + "assetStoreId": "", "name": "Tree", - "persistentUuid": "9301b57a-c520-4bcd-9825-48df42961e2a", - "width": 64, - "x": 0, - "y": -320, - "zOrder": 7, - "numberProperties": [ + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "ead89c13-cb8f-4c48-a469-5dc5946e3249", - "width": 64, - "x": -192, - "y": 608, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 + "name": "Billboard", + "type": "Billboard::Billboard", + "RotateZ": true, + "RotateY": true, + "RotateX": true, + "OffsetPositionMode": "Standing on Z axis" } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 28, + "height": 64, + "depth": 1, + "frontFaceResourceName": "Tree.png", + "backFaceResourceName": "Tree.png", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false, + "enableTextureTransparency": true, + "backFaceResourceRepeat": false, + "backFaceUpThroughWhichAxisRotation": "X", + "facesOrientation": "Y" + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "ceed315f-9dbc-4850-84a6-1028a2369c23", - "width": 64, - "x": 32, - "y": 800, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "name": "Bush", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "Billboard", + "type": "Billboard::Billboard", + "RotateZ": true, + "RotateY": true, + "RotateX": true, + "OffsetPositionMode": "Standing on Z axis" } ], - "stringProperties": [], - "initialVariables": [] + "content": { + "width": 16, + "height": 16, + "depth": 1, + "frontFaceResourceName": "bush (4).png", + "backFaceResourceName": "bush (4).png", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false, + "enableTextureTransparency": true, + "backFaceUpThroughWhichAxisRotation": "X", + "facesOrientation": "Y" + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "f5373685-bd9e-4b29-b69b-86d9f20eb1cc", - "width": 64, - "x": 288, - "y": 736, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] + "assetStoreId": "", + "name": "NewObject", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "width": 32, + "height": 32, + "depth": 1, + "frontFaceResourceName": "Grass", + "backFaceResourceName": "", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "3addf941-9deb-4f8d-9ae3-da1764756bb6", - "width": 64, - "x": 640, - "y": 768, - "zOrder": 7, - "numberProperties": [ + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "CarHitBox", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "SpeedPathMovement", + "type": "CurvedMovement::SpeedPathMovement", + "Rotation": true, + "RotationOffset": 0, + "Speed": 0, + "PathOriginX": 0, + "PathOriginY": 0, + "PathName": "", + "TargetedSpeed": 0, + "Acceleration": 0, + "DrawingElementIndex": 0, + "X": 0, + "Y": 0, + "PathAngle": 0, + "PathScale": 0, + "RepetitionCount": 0, + "ShouldLoop": false, + "DrawingPathOriginX": 0, + "DrawingPathOriginY": 0, + "DebugLineStrokeWidth": 0, + "PreviousSpeed": 0, + "CurrentLength": 0, + "IsLookingBack": false, + "Viewpoint": "Top-Down" } ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "9c7c9029-be8e-47a2-b0e8-2dfc135dbc82", - "width": 64, - "x": 384, - "y": 928, - "zOrder": 7, - "numberProperties": [ + "animations": [ { - "name": "z", - "value": 0 + "name": "NewSprite", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "metadata": "{\"pskl\":{}}", + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\CarHitbox.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 32, + "y": 32 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] } - ], - "stringProperties": [], - "initialVariables": [] + ] }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "d4a54f61-be0f-46d2-a5cc-9b3f2946e364", - "width": 64, - "x": 960, - "y": 896, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] + "assetStoreId": "", + "name": "Post", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "width": 1, + "height": 1, + "depth": 38, + "enableTextureTransparency": false, + "frontFaceResourceName": "Grey", + "backFaceResourceName": "Grey", + "leftFaceResourceName": "Grey", + "rightFaceResourceName": "Grey", + "topFaceResourceName": "Grey", + "bottomFaceResourceName": "Grey", + "frontFaceVisible": true, + "backFaceVisible": true, + "leftFaceVisible": true, + "rightFaceVisible": true, + "topFaceVisible": true, + "bottomFaceVisible": false + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "3f17931a-8a20-4c86-b468-fe42f9713f74", - "width": 64, - "x": 992, - "y": 672, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, + "assetStoreId": "", + "name": "FinishLine", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "width": 2, + "height": 56, + "depth": 7, + "enableTextureTransparency": false, + "frontFaceResourceName": "", + "backFaceResourceName": "", + "leftFaceResourceName": "White", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": false, + "backFaceVisible": false, + "leftFaceVisible": true, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false + } + }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "95e40207-6b41-4cce-b071-994d58aeb9f9", - "width": 64, - "x": 1248, - "y": 832, - "zOrder": 7, - "numberProperties": [ + "assetStoreId": "", + "height": 350, + "name": "SummerBackground", + "tags": "", + "texture": "Summer Background.png", + "type": "TiledSpriteObject::TiledSprite", + "width": 1280, + "variables": [], + "effects": [], + "behaviors": [ { - "name": "z", - "value": 0 + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 0, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 0, + "useLegacyBottomAndRightAnchors": false } - ], - "stringProperties": [], - "initialVariables": [] + ] }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "aed53170-c4ec-429b-87c4-070f7eee989d", - "width": 64, - "x": 1440, - "y": 608, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "StartMessage", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Press any key\nto start", + "font": "", + "textAlignment": "center", + "characterSize": 48, + "color": { + "b": 255, + "g": 255, + "r": 255 + } }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "6a396318-4f7e-4ac7-996c-d2d13b87603a", - "width": 64, - "x": 1472, - "y": 160, - "zOrder": 7, - "numberProperties": [ + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "BlackBackground", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ { - "name": "z", - "value": 0 + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Black", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] } - ], - "stringProperties": [], - "initialVariables": [] + ] }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "6ac5ab34-57f1-4609-a0f1-c024ee0f9af1", - "width": 64, - "x": 1386, - "y": -256, - "zOrder": 7, - "numberProperties": [ + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Start", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ { - "name": "z", - "value": 0 + "name": "NewSprite", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "metadata": "{\"pskl\":{}}", + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "NewSprite", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 80, + "y": 0 + }, + { + "x": 80, + "y": 80 + }, + { + "x": 0, + "y": 80 + } + ] + ] + } + ] + } + ] } - ], - "stringProperties": [], - "initialVariables": [] + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "The \"Curved movement\" extension documentation explains how to build a path.\nhttps://wiki.gdevelop.io/gdevelop5/extensions/curved-movement/details" }, { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "cffe8e14-0f6b-413b-a933-b511aa1e453d", - "width": 0, - "x": 896, - "y": 448, - "zOrder": 16, - "numberProperties": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "name": "z", - "value": 0 + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] } ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "06a55cdc-31c2-44b5-9457-5bb507b41780", - "width": 0, - "x": 544, - "y": 512, - "zOrder": 16, - "numberProperties": [ + "actions": [ { - "name": "z", - "value": 0 + "type": { + "value": "BuiltinExternalLayouts::CreateObjectsFromExternalLayout" + }, + "parameters": [ + "", + "\"Level\" + GlobalVariableString(Level)", + "0", + "0" + ] } - ], - "stringProperties": [], - "initialVariables": [] + ] }, { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "6eeed95e-8fa0-446e-b1c2-5115ef3da492", - "width": 0, - "x": 640, - "y": 256, - "zOrder": 16, - "numberProperties": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "name": "z", - "value": 0 + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] } ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "b53d340c-dca8-4fd9-b3c1-73709e660d90", - "width": 0, - "x": 960, - "y": 64, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "67745220-ee08-43d7-b77a-3752cf9a8431", - "width": 0, - "x": 1184, - "y": 384, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "cb25a038-a566-499a-b6ec-09504cf5a6b7", - "width": 0, - "x": 256, - "y": 352, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "74898f49-fbe5-4b74-9c30-ebaf7a01d81b", - "width": 0, - "x": 192, - "y": 96, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "417aa008-bdce-484b-82f2-43a73442de03", - "width": 0, - "x": 544, - "y": 64, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "02693395-9f44-417b-9633-bd606a2068b0", - "width": 0, - "x": 288, - "y": 608, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "9566d8c0-8ce4-4952-87f8-11218d6694b8", - "width": 0, - "x": 84, - "y": 555, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "011a08e6-c0bd-4317-8553-2fb92322673e", - "width": 0, - "x": 960, - "y": 544, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "4c931b73-f852-4e52-b9de-ebefb58831e3", - "width": 0, - "x": 801, - "y": 97, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "9d880ce9-5472-4167-afec-99dcd61022c2", - "width": 0, - "x": 1088, - "y": 96, - "zOrder": 16, - "numberProperties": [ + "actions": [ { - "name": "z", - "value": 0 + "type": { + "value": "Level::BuildTrack" + }, + "parameters": [ + "", + "\"Road\"", + "RoadTile", + "RoadTileBehavior", + "Start", + "" + ] } ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "ba4744ae-0848-4706-a2e7-b91c51598339", - "width": 0, - "x": 1216, - "y": 128, - "zOrder": 16, - "numberProperties": [ + "events": [ { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "e2e04645-7226-4bba-b60a-e055ef626128", - "width": 0, - "x": 352, - "y": 0, - "zOrder": 16, - "numberProperties": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Create the player", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Player", + "Variable(StartX)", + "Variable(StartY)", + "" + ] + }, + { + "type": { + "value": "Car::Car::SetRoad" + }, + "parameters": [ + "Player", + "Car", + "\"Road\"", + "1" + ] + } + ] + } + ], + "parameters": [] + }, { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road04", - "persistentUuid": "804a4f06-7b92-403a-9828-5c6f81c1d212", - "width": 0, - "x": 1280, - "y": 0, - "zOrder": 17, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road05", - "persistentUuid": "21540515-b99f-419d-99b5-858d9edd39e4", - "width": 0, - "x": 1600, - "y": 0, - "zOrder": 18, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road06", - "persistentUuid": "1d87b0cf-c1b7-48b3-a26f-432d273979a7", - "width": 0, - "x": 1920, - "y": 0, - "zOrder": 19, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road07", - "persistentUuid": "4274e466-85a9-48f1-bb94-4903238a7e38", - "width": 0, - "x": 2240, - "y": 0, - "zOrder": 20, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road10", - "persistentUuid": "84b1efb6-8435-46f6-b757-51bbe72951bb", - "width": 0, - "x": 0, - "y": 320, - "zOrder": 21, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road14", - "persistentUuid": "198b7db7-d4d2-4965-9677-5531d374a1c6", - "width": 0, - "x": 1280, - "y": 320, - "zOrder": 22, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road15", - "persistentUuid": "9d6a4ba7-2200-4261-8f33-8a39a78e69ee", - "width": 0, - "x": 1600, - "y": 320, - "zOrder": 23, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road17", - "persistentUuid": "1608f612-e302-43b7-a36b-75f3c7c97842", - "width": 0, - "x": 2240, - "y": 320, - "zOrder": 24, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road23", - "persistentUuid": "f5b5b460-a14f-4a69-b9ae-bd8ea9d2cc8e", - "width": 0, - "x": 960, - "y": 640, - "zOrder": 25, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road27", - "persistentUuid": "4651aeec-804c-44cc-a855-78b193296e0f", - "width": 0, - "x": 2240, - "y": 640, - "zOrder": 26, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road33", - "persistentUuid": "bea7b2af-4ef2-4506-a4c2-ab36d13deba0", - "width": 0, - "x": 960, - "y": 960, - "zOrder": 27, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road34", - "persistentUuid": "16c0930e-863c-44ad-b3b1-13f06f4e4d14", - "width": 0, - "x": 1280, - "y": 960, - "zOrder": 28, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road35", - "persistentUuid": "a45813ce-97bf-45c5-9178-6f8f165edcba", - "width": 0, - "x": 1600, - "y": 960, - "zOrder": 29, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road36", - "persistentUuid": "95d9a6f4-b6c2-4950-86c6-231a740a207b", - "width": 0, - "x": 1920, - "y": 960, - "zOrder": 30, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "Ground", - "name": "Road37", - "persistentUuid": "290ee5ef-37fc-4732-ad83-9a3aaf9a844c", - "width": 0, - "x": 2240, - "y": 960, - "zOrder": 31, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "f867e6e1-7fb1-4cfd-9401-d138960c897c", - "width": 64, - "x": 1782, - "y": -75, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "05d083f8-8c1a-4c0e-a381-d1cfcc12ec75", - "width": 64, - "x": 1519, - "y": 125, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "3557e5bb-5fd9-4474-8e04-226fead05038", - "width": 64, - "x": 2036, - "y": 494, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "59bfb8d9-9e0b-4688-95fd-75915e54440c", - "width": 64, - "x": 1596, - "y": 886, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "10eda5cc-4f9f-4df8-81d8-935f4f093c49", - "width": 64, - "x": 1249, - "y": 745, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "31263439-809f-4fd5-94c6-07e4d34d7bbe", - "width": 64, - "x": 841, - "y": 1130, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "edf1ad4a-ec42-4aa4-82b3-db4f53fd1cd8", - "width": 64, - "x": 908, - "y": 1320, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "21712814-430c-4b11-9bd0-1a8a35826d30", - "width": 64, - "x": 1297, - "y": 1224, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "1e21248e-5e77-4fd2-90d5-232ace5724e0", - "width": 64, - "x": 1455, - "y": 988, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "0bf8816f-5a9d-4e7c-9003-9a6563f5e3e9", - "width": 64, - "x": 1888, - "y": 1102, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "dbc7fe8e-9419-445c-a142-bc6b2c9e6def", - "width": 64, - "x": 1304, - "y": 941, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "4450c248-95fd-4e5d-91f5-9836e54980eb", - "width": 64, - "x": 2104, - "y": 783, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "826fd8a3-a774-45c7-a451-1de454153c9d", - "width": 64, - "x": 2425, - "y": 1021, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "d5fe08ca-fe35-4287-88de-9fe8ae8dc13d", - "width": 64, - "x": 1802, - "y": 664, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "bdb6fa72-c585-4ebc-a174-0e0b542abba9", - "width": 64, - "x": 2043, - "y": 263, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "65e0d51e-90ed-42ac-a201-70d7cc1abf5f", - "width": 64, - "x": 2271, - "y": 1, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "c6075175-96ac-47a0-84eb-d807a73152f5", - "width": 64, - "x": 2560, - "y": 285, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "4fd6720c-d30b-4c08-a385-6757b2973fb4", - "width": 64, - "x": 2367, - "y": -229, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "4eb8edc0-5713-4fbc-9230-29c751664edb", - "width": 64, - "x": 2027, - "y": -300, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "db43702a-4dd3-4df0-a05d-aed4f250aa2b", - "width": 64, - "x": 1696, - "y": -222, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "58952169-2c16-458b-b61a-970ecd49e453", - "width": 64, - "x": 2605, - "y": -149, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "88690413-0222-48b4-b83c-156f4b577ed0", - "width": 64, - "x": 2583, - "y": 709, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "64b66083-02ae-44a8-b8af-87821d04c5f4", - "width": 64, - "x": 2286, - "y": 507, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "5ef25c3a-5eb2-41cb-8e96-937f0424185d", - "width": 64, - "x": 2245, - "y": 1169, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "d4349de3-88f8-4f1e-a0f7-aaeea0396dc7", - "width": 64, - "x": 1551, - "y": 1368, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "cd3df32f-c70a-4410-882f-e1ffc2ac320e", - "width": 64, - "x": 1969, - "y": 1426, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "37db0246-4288-4fae-b88a-c39fdbe3828a", - "width": 64, - "x": 2592, - "y": 1278, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "c4faabc4-a3bf-456c-b8a1-30735a591ea9", - "width": 64, - "x": 2640, - "y": 938, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "4bd0e4f0-4d02-4a1a-891e-584b67e695ae", - "width": 64, - "x": 2734, - "y": 459, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "f6cfbef5-311d-43f7-98a0-46c6057484d9", - "width": 64, - "x": 2711, - "y": 83, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "db218b0f-9614-493c-9b95-deb2afb43676", - "width": 64, - "x": 632, - "y": 1073, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "9e9a90e3-cb81-4e5f-adbe-79dc400be46e", - "width": 0, - "x": 1493, - "y": 1077, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "2e787cb7-ed32-411b-8029-dc2943a22a27", - "width": 0, - "x": 1795, - "y": 949, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "b69b3a68-7c5e-43fd-af64-6b03c410dacd", - "width": 0, - "x": 2010, - "y": 849, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "e6ee046b-8242-4436-804e-1b5d3455bf78", - "width": 0, - "x": 2251, - "y": 1000, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "86165d9e-ad35-4bbc-9837-a17eaf78287b", - "width": 0, - "x": 1997, - "y": 1257, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "9c78c090-e29f-45d4-a940-befba4476def", - "width": 0, - "x": 1737, - "y": 1325, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "0455a703-4641-4d61-9e19-fa470f80799f", - "width": 0, - "x": 1740, - "y": 852, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "bfb246f6-29ef-4ec6-931f-0d8ab1124d65", - "width": 0, - "x": 2177, - "y": 708, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "c9807a9a-a760-4aca-b28c-88ced62f6ed2", - "width": 0, - "x": 2187, - "y": 463, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "5ccb1c19-a1c1-4be6-a9af-3bd377671cd4", - "width": 0, - "x": 2585, - "y": 425, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "5aa2100d-0d8f-4749-b8ce-0d69745c26ee", - "width": 0, - "x": 2685, - "y": 251, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "d279f2e7-df18-498e-9d17-f6e4838ff599", - "width": 0, - "x": 2560, - "y": 142, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "c76d01cb-c299-4ff5-807f-e2ef2a428788", - "width": 0, - "x": 2319, - "y": -89, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "b62349ac-8b78-47f4-93d8-d1717ae94b50", - "width": 0, - "x": 2063, - "y": 106, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "5e9fedda-6547-4858-a64b-f8504bfa7fe9", - "width": 0, - "x": 1846, - "y": 239, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "d4b5514e-b416-48e3-adfb-f201c69ec679", - "width": 0, - "x": 1637, - "y": 526, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "d8b150b8-3eef-43e5-950a-a50fb64f3d7e", - "width": 0, - "x": 1496, - "y": 258, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "2aca6a59-150d-4764-a789-658653c7fe0e", - "width": 0, - "x": 1647, - "y": 97, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "1987804d-f5a9-44c5-a564-828a045d0771", - "width": 0, - "x": 1544, - "y": -76, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "cfe837db-f5f2-4b11-afd2-75b0b649a12b", - "width": 0, - "x": 1682, - "y": -15, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "8e07eb23-2f49-4405-9676-31bff58f0137", - "width": 0, - "x": 1618, - "y": 704, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "40083b06-a530-4869-9ad9-b350f8a4dc7b", - "width": 0, - "x": 1425, - "y": 872, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "682c0376-68c7-4540-a065-55381dd6fe0a", - "width": 0, - "x": 1090, - "y": 1065, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "50333beb-4e1d-4234-9ee2-68464d32ffb1", - "width": 0, - "x": 1155, - "y": 862, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "3b9127ea-d0e9-4f02-9190-1cbaaba3024e", - "width": 0, - "x": 905, - "y": 759, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "e8811814-282c-4504-a93e-305951cb9f8e", - "width": 0, - "x": 1123, - "y": 582, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "263b9edf-8aaa-48d0-9144-b184ade09bc5", - "width": 0, - "x": 1181, - "y": 1305, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "057d50cf-3924-4dd9-a48d-10458d90a0f3", - "width": 0, - "x": 2052, - "y": 1093, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "071ba6be-d30d-41be-8e26-a50215d02f70", - "width": 0, - "x": 1670, - "y": 1080, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "fee9f623-767c-4f66-9dd3-20adf8158fcd", - "width": 0, - "x": 2296, - "y": 714, - "zOrder": 16, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "f71dbdcb-4e0a-4fd8-b96a-09872259e5c0", - "width": 0, - "x": 1965, - "y": 721, - "zOrder": 16, - "numberProperties": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Create opponents", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "deltaPathPosition", + "=", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "3", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "YellowOpponent", + "Variable(StartX)", + "Variable(StartY)", + "" + ] + }, + { + "type": { + "value": "Car::Car::SetRoad" + }, + "parameters": [ + "YellowOpponent", + "Car", + "\"Road\"", + "1" + ] + }, + { + "type": { + "value": "Car::Car::SetPosition" + }, + "parameters": [ + "YellowOpponent", + "Car", + "Variable(deltaPathPosition) + 100", + "6", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "BlueOpponent", + "Variable(StartX)", + "Variable(StartY)", + "" + ] + }, + { + "type": { + "value": "Car::Car::SetRoad" + }, + "parameters": [ + "BlueOpponent", + "Car", + "\"Road\"", + "1" + ] + }, + { + "type": { + "value": "Car::Car::SetPosition" + }, + "parameters": [ + "BlueOpponent", + "Car", + "Variable(deltaPathPosition) + 200", + "-6", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "WhiteOpponent", + "Variable(StartX)", + "Variable(StartY)", + "" + ] + }, + { + "type": { + "value": "Car::Car::SetRoad" + }, + "parameters": [ + "WhiteOpponent", + "Car", + "\"Road\"", + "1" + ] + }, + { + "type": { + "value": "Car::Car::SetPosition" + }, + "parameters": [ + "WhiteOpponent", + "Car", + "Variable(deltaPathPosition) + 300", + "6", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "GreenOpponent", + "Variable(StartX)", + "Variable(StartY)", + "" + ] + }, + { + "type": { + "value": "Car::Car::SetRoad" + }, + "parameters": [ + "GreenOpponent", + "Car", + "\"Road\"", + "1" + ] + }, + { + "type": { + "value": "Car::Car::SetPosition" + }, + "parameters": [ + "GreenOpponent", + "Car", + "Variable(deltaPathPosition) + 400", + "-6", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "BlackOpponent", + "Variable(StartX)", + "Variable(StartY)", + "" + ] + }, + { + "type": { + "value": "Car::Car::SetRoad" + }, + "parameters": [ + "BlackOpponent", + "Car", + "\"Road\"", + "1" + ] + }, + { + "type": { + "value": "Car::Car::SetPosition" + }, + "parameters": [ + "BlackOpponent", + "Car", + "Variable(deltaPathPosition) + 500", + "6", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "deltaPathPosition", + "+", + "500" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Scene3D::Model3DObject::SetZ" + }, + "parameters": [ + "Car", + "=", + "1" + ] + } + ] + } + ], + "parameters": [] + }, { - "name": "z", - "value": 0 + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Create finish line", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Post", + "0", + "0", + "" + ] + }, + { + "type": { + "value": "MettreAutour" + }, + "parameters": [ + "Post", + "Player", + "28", + "CurvedMovement::PathAngle(\"Road\", 0) + 90" + ] + }, + { + "type": { + "value": "SetCenter" + }, + "parameters": [ + "Post", + "=", + "Post.X()", + "=", + "Post.Y()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Post", + "0", + "0", + "" + ] + }, + { + "type": { + "value": "MettreAutour" + }, + "parameters": [ + "Post", + "Player", + "-28", + "CurvedMovement::PathAngle(\"Road\", 0) + 90" + ] + }, + { + "type": { + "value": "SetCenter" + }, + "parameters": [ + "Post", + "=", + "Post.X()", + "=", + "Post.Y()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "FinishLine", + "0", + "0", + "" + ] + }, + { + "type": { + "value": "SetCenter" + }, + "parameters": [ + "FinishLine", + "=", + "Player.CenterX()", + "=", + "Player.CenterY()" + ] + }, + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "FinishLine", + "=", + "CurvedMovement::PathAngle(\"Road\", 0)" + ] + }, + { + "type": { + "value": "Scene3D::Cube3DObject::SetZ" + }, + "parameters": [ + "FinishLine", + "=", + "30" + ] + } + ] + } + ], + "parameters": [] } - ], - "stringProperties": [], - "initialVariables": [] + ] }, { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "013c38bd-4f42-437d-a079-16cee84e5cfa", - "width": 0, - "x": 1988, - "y": 361, - "zOrder": 16, - "numberProperties": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Wait to start", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "name": "z", - "value": 0 + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"Started\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCenterX" + }, + "parameters": [ + "StartMessage", + "=", + "SceneWindowWidth() / 2" + ] + }, + { + "type": { + "value": "SetCenterX" + }, + "parameters": [ + "BlackBackground", + "=", + "SceneWindowWidth() / 2" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Opacity" + }, + "parameters": [ + "BlackBackground", + "=", + "128" + ] + }, + { + "type": { + "value": "ShowLayer" + }, + "parameters": [ + "", + "\"UI\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "AnyKeyPressed" + }, + "parameters": [ + "" + ] + }, + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "Gamepads::C_Any_Button_pressed" + }, + "parameters": [ + "", + "1", + "" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "HideLayer" + }, + "parameters": [ + "", + "\"UI\"" + ] + }, + { + "type": { + "value": "ModVarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"Started\"" + ] + }, + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "", + "\"ScoreTimer\"" + ] + } + ] + } + ] } ], - "stringProperties": [], - "initialVariables": [] + "parameters": [] }, { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "aa42c11b-aba5-42de-8b22-48d4a4d61f0f", - "width": 0, - "x": 2666, - "y": 624, - "zOrder": 16, - "numberProperties": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game is started", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "name": "z", - "value": 0 + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"Started\"" + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "AI", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Car::Car::SetIsAccelerating" + }, + "parameters": [ + "Opponent", + "Car", + "yes", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Car::Car::RoadCenterDelta" + }, + "parameters": [ + "Opponent", + "Car", + "<", + "-12", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Car::Car::TurnRight" + }, + "parameters": [ + "Opponent", + "Car", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Car::Car::RoadCenterDelta" + }, + "parameters": [ + "Opponent", + "Car", + ">", + "12", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Car::Car::TurnLeft" + }, + "parameters": [ + "Opponent", + "Car", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Car::Car::RoadCenterDelta" + }, + "parameters": [ + "Opponent", + "Car", + ">", + "-6", + "" + ] + }, + { + "type": { + "value": "Car::Car::RoadCenterDelta" + }, + "parameters": [ + "Opponent", + "Car", + "<", + "6", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Car::Car::GoStraight" + }, + "parameters": [ + "Opponent", + "Car", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Controls", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Car::Car::SetIsAccelerating" + }, + "parameters": [ + "Player", + "Car", + "", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "KeyPressed" + }, + "parameters": [ + "", + "Down" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "1", + "\"LT\"", + "" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "Car::Car::SetIsAccelerating" + }, + "parameters": [ + "Player", + "Car", + "no", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Car::Car::GoStraight" + }, + "parameters": [ + "Player", + "Car", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "KeyPressed" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "1", + "\"Left\"", + "" + ] + }, + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "1", + "\"Left\"", + "\"Left\"", + "" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "Car::Car::TurnLeft" + }, + "parameters": [ + "Player", + "Car", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "KeyPressed" + }, + "parameters": [ + "", + "Right" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "1", + "\"Right\"", + "" + ] + }, + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "1", + "\"Left\"", + "\"Right\"", + "" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "Car::Car::TurnRight" + }, + "parameters": [ + "Player", + "Car", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Left" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CursorX" + }, + "parameters": [ + "", + "<", + "SceneWindowWidth() / 2", + "\"UI\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Car::Car::TurnLeft" + }, + "parameters": [ + "Player", + "Car", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CursorX" + }, + "parameters": [ + "", + ">=", + "SceneWindowWidth() / 2", + "\"UI\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Car::Car::TurnRight" + }, + "parameters": [ + "Player", + "Car", + "" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Movement", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Car::Car::Move" + }, + "parameters": [ + "Player", + "Car", + "" + ] + }, + { + "type": { + "value": "Car::Car::Move" + }, + "parameters": [ + "Opponent", + "Car", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Car collision", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "The CarHitBox object is used to check the collision between 2 cars.\nOtherwise, it's not possible to apply a different action on the car in front and the one behind." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "CarHitBox", + "0", + "0", + "" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "CarHitBox" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "Car", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetCenter" + }, + "parameters": [ + "CarHitBox", + "=", + "Car.CenterX()", + "=", + "Car.CenterY()" + ] + }, + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "CarHitBox", + "=", + "Car.Angle()" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "positionOnPath", + "=", + "Car.SpeedPathMovement::PositionOnPath()" + ] + }, + { + "type": { + "value": "AjoutObjConcern" + }, + "parameters": [ + "", + "Car" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "Car", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Car", + "CarHitBox", + "", + "", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::PositionOnPath" + }, + "parameters": [ + "Car", + "SpeedPathMovement", + "<", + "Variable(positionOnPath)", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::SetSpeed" + }, + "parameters": [ + "Car", + "SpeedPathMovement", + "=", + "max(0, Car.SpeedPathMovement:: Speed() - 100)", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::PositionOnPath" + }, + "parameters": [ + "Car", + "SpeedPathMovement", + ">", + "Variable(positionOnPath)", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::SetSpeed" + }, + "parameters": [ + "Car", + "SpeedPathMovement", + "=", + "min(2 * Car.Car::MaxSpeed(), Car.SpeedPathMovement:: Speed() + 100)", + "" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ] } ], - "stringProperties": [], - "initialVariables": [] + "parameters": [] }, { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "1d65ce6e-c2ed-47cf-a2b8-bc7efee14dea", - "width": 0, - "x": 2428, - "y": 251, - "zOrder": 16, - "numberProperties": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Camera", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "31dedfe9-7de4-4ccc-bf04-28609f727935", - "width": 0, - "x": 2143, - "y": 16, - "zOrder": 16, - "numberProperties": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Camera" + ] + }, + { + "type": { + "value": "Scene3D::SetCameraZ" + }, + "parameters": [ + "", + "=", + "12", + "", + "" + ] + }, + { + "type": { + "value": "Scene3D::SetCameraZ" + }, + "parameters": [ + "", + "=", + "12", + "\"Ground\"", + "" + ] + }, + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Camera", + "0", + "0", + "" + ] + } + ] + }, { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "65248be6-d613-4f70-b346-baa58d17f619", - "width": 0, - "x": 1772, - "y": 55, - "zOrder": 16, - "numberProperties": [ + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "3rd person camera" + }, { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "4c6bb53a-ff5e-4ff5-9b57-8d2fb5f6527e", - "width": 0, - "x": 1027, - "y": -166, - "zOrder": 16, - "numberProperties": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "MettreAutour" + }, + "parameters": [ + "Camera", + "Player", + "-28", + "Player.Angle()" + ] + }, + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Camera", + "=", + "Player.Angle()" + ] + }, + { + "type": { + "value": "CentreCamera" + }, + "parameters": [ + "", + "Camera", + "", + "", + "" + ] + }, + { + "type": { + "value": "CentreCamera" + }, + "parameters": [ + "", + "Camera", + "", + "\"Ground\"", + "" + ] + } + ] + }, { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "f1ff087f-2715-4148-aa47-15c90eadf661", - "width": 0, - "x": 757, - "y": -96, - "zOrder": 16, - "numberProperties": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Scene3D::TurnCameraTowardPosition" + }, + "parameters": [ + "", + "Player.CenterX()", + "Player.CenterY()", + "8", + "", + "", + "" + ] + }, + { + "type": { + "value": "Scene3D::TurnCameraTowardPosition" + }, + "parameters": [ + "", + "Player.CenterX()", + "Player.CenterY()", + "8", + "\"Ground\"", + "", + "" + ] + } + ] + }, { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "64e4970e-3dda-4d52-892d-9e13d8a37c18", - "width": 0, - "x": 416, - "y": 219, - "zOrder": 16, - "numberProperties": [ + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make the background rotate with the camera." + }, { - "name": "z", - "value": 0 + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TiledSpriteObject::XOffset" + }, + "parameters": [ + "SummerBackground", + "=", + "CameraAngle() / (2 * Scene3D::CameraFov()) * 1280" + ] + } + ] } ], - "stringProperties": [], - "initialVariables": [] + "parameters": [] }, { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Bush", - "persistentUuid": "fb15f1c5-ac71-4bb5-bd50-4b08e1b4edce", - "width": 0, - "x": 818, - "y": 936, - "zOrder": 16, - "numberProperties": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Player car animation", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "name": "z", - "value": 0 + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Car rotation and shaking is done after the camera following to avoid to rotate the camera." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarSceneTxt" + }, + "parameters": [ + "GameState", + "=", + "\"Started\"" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Car::Car::IsOnRoad" + }, + "parameters": [ + "Car", + "Car", + "" + ] + }, + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::IsShaking" + }, + "parameters": [ + "Car", + "ShakeModel3D", + "" + ] + }, + { + "type": { + "inverted": true, + "value": "ShakeObject3D::ShakeModel3D::IsStopping" + }, + "parameters": [ + "Car", + "ShakeModel3D", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::StopShaking" + }, + "parameters": [ + "Car", + "ShakeModel3D", + "0.5", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Car::Car::IsOnRoad" + }, + "parameters": [ + "Car", + "Car", + "" + ] + }, + { + "type": { + "inverted": true, + "value": "ShakeObject3D::ShakeModel3D::IsShaking" + }, + "parameters": [ + "Car", + "ShakeModel3D", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::StartShaking" + }, + "parameters": [ + "Car", + "ShakeModel3D", + "0", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::SetFrequency" + }, + "parameters": [ + "Car", + "ShakeModel3D", + "=", + "10 * Player.SpeedPathMovement::Speed() / 250", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Car::Car::TurnSpeed" + }, + "parameters": [ + "Player", + "Car", + "<", + "0", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Tween::TweenSceneVariableNumber2" + }, + "parameters": [ + "", + "\"CarRotation\"", + "CarRotation", + "-10", + "500", + "\"easeOutCubic\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Car::Car::TurnSpeed" + }, + "parameters": [ + "Player", + "Car", + ">", + "0", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Tween::TweenSceneVariableNumber2" + }, + "parameters": [ + "", + "\"CarRotation\"", + "CarRotation", + "10", + "500", + "\"easeOutCubic\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Car::Car::TurnSpeed" + }, + "parameters": [ + "Player", + "Car", + "=", + "0", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Tween::TweenSceneVariableNumber2" + }, + "parameters": [ + "", + "\"CarRotation\"", + "CarRotation", + "0", + "500", + "\"easeOutCubic\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Player", + "+", + "Variable(CarRotation)" + ] + } + ] + } + ] } ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "UI", - "name": "StartMessage", - "persistentUuid": "b52c34f7-6df3-410c-aae7-a9e381bf8f68", - "width": 0, - "x": 480, - "y": 298, - "zOrder": 32, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 210, - "layer": "UI", - "name": "BlackBackground", - "persistentUuid": "7f2a0f20-3bb5-4b51-8073-15898fab2530", - "width": 459, - "x": 410, - "y": 252, - "zOrder": 0, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] + "parameters": [] }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "90c16c57-bf98-40af-a37b-ce1de059533c", - "width": 64, - "x": 2325, - "y": 1379, - "zOrder": 7, - "numberProperties": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game over", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "name": "z", - "value": 0 + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::Loop" + }, + "parameters": [ + "Player", + "SpeedPathMovement", + ">=", + "3", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "Score", + "=", + "TimerElapsedTime(\"ScoreTimer\")" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "StartMessage", + "=", + "\"Finish!!!\"" + ] + }, + { + "type": { + "value": "ShowLayer" + }, + "parameters": [ + "", + "\"UI\"" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "2" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Leaderboard\"", + "" + ] + } + ] } ], - "stringProperties": [], - "initialVariables": [] - }, + "parameters": [] + } + ], + "layers": [ { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "cc44cdd2-03ae-49df-a2b8-1efe07d7ca2b", - "width": 64, - "x": 2800, - "y": 1120, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] + "ambientLightColorB": 9795840, + "ambientLightColorG": 11861976, + "ambientLightColorR": 6069632, + "camera3DFarPlaneDistance": 2000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "Background", + "renderingType": "2d", + "visibility": true, + "cameras": [], + "effects": [] }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "ed635342-49b9-402f-b8b6-521f741f9b7d", - "width": 64, - "x": 2905, - "y": 720, - "zOrder": 7, - "numberProperties": [ + "ambientLightColorB": 28, + "ambientLightColorG": 6069520, + "ambientLightColorR": 9878816, + "camera3DFarPlaneDistance": 2000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": true, + "name": "Ground", + "renderingType": "3d", + "visibility": true, + "cameras": [], + "effects": [ { - "name": "z", - "value": 0 + "effectType": "Scene3D::ExponentialFog", + "name": "Effect", + "doubleParameters": { + "density": 0.0012 + }, + "stringParameters": { + "color": "142;240;193" + }, + "booleanParameters": {} } - ], - "stringProperties": [], - "initialVariables": [] + ] }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "2668d882-6a24-4b15-9066-aa7f812ea53e", - "width": 64, - "x": 2984, - "y": 304, - "zOrder": 7, - "numberProperties": [ + "ambientLightColorB": 7345456, + "ambientLightColorG": 150995054, + "ambientLightColorR": 1869182049, + "camera3DFarPlaneDistance": 2000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "", + "renderingType": "3d", + "visibility": true, + "cameras": [ { - "name": "z", - "value": 0 + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 } ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "b6c502bc-b157-431f-8345-0e67b798e6d2", - "width": 64, - "x": 2901, - "y": -147, - "zOrder": 7, - "numberProperties": [ + "effects": [ { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "02ff0f49-bd58-4f7d-9091-585e9761fe19", - "width": 64, - "x": 2658, - "y": -394, - "zOrder": 7, - "numberProperties": [ + "effectType": "Scene3D::ExponentialFog", + "name": "Effect", + "doubleParameters": { + "density": 0.0012 + }, + "stringParameters": { + "color": "142;240;193" + }, + "booleanParameters": {} + }, { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "acc119f0-534a-4e23-b229-ce138f04dd1d", - "width": 64, - "x": 2282, - "y": -382, - "zOrder": 7, - "numberProperties": [ + "effectType": "Scene3D::AmbientLight", + "name": "AmbientLight", + "doubleParameters": { + "intensity": 0.75 + }, + "stringParameters": { + "color": "232;244;255" + }, + "booleanParameters": {} + }, { - "name": "z", - "value": 0 + "effectType": "Scene3D::DirectionalLight", + "name": "DirectionalLight", + "doubleParameters": { + "elevation": 90, + "intensity": 0.5, + "originX": 0, + "originY": 0, + "originZ": 1, + "rotation": 0, + "targetX": 0, + "targetY": 0, + "targetZ": 0 + }, + "stringParameters": { + "color": "255;255;255", + "top": "Z+" + }, + "booleanParameters": {} } - ], - "stringProperties": [], - "initialVariables": [] + ] }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "3870e75e-6113-42f0-8e9b-10023ddab9ee", - "width": 64, - "x": 1862, - "y": -488, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] - }, + "ambientLightColorB": 1651340654, + "ambientLightColorG": 10612576, + "ambientLightColorR": 6069632, + "camera3DFarPlaneDistance": 2000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "UI", + "renderingType": "2d", + "visibility": false, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "655dcee2-ed33-4ffc-9fd9-1450a10acd4c", - "width": 64, - "x": 1557, - "y": -417, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "5ab5d94f-7e61-454b-aec8-a1f74ba36d2c", - "width": 64, - "x": 1219, - "y": -499, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] + "name": "Billboard", + "type": "Billboard::Billboard" }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "b37c54cc-532c-4c0d-a8ce-60287eb13130", - "width": 64, - "x": 808, - "y": -511, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] + "name": "Car", + "type": "Car::Car" }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "b832b4ee-ee35-4332-bcb0-27549508a6ff", - "width": 64, - "x": 125, - "y": 1006, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] + "name": "RoadTileBehavior", + "type": "Level::RoadTileBehavior" }, { - "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "0145ed88-18b7-4971-828d-c3b3b5ba90e4", - "width": 64, - "x": -282, - "y": 861, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], - "stringProperties": [], - "initialVariables": [] + "name": "ShakeModel3D", + "type": "ShakeObject3D::ShakeModel3D", + "EasingFactor": 0 }, + { + "name": "SpeedPathMovement", + "type": "CurvedMovement::SpeedPathMovement" + } + ] + }, + { + "b": 231, + "disableInputWhenNotFocused": true, + "mangledName": "LevelSelection", + "name": "LevelSelection", + "r": 205, + "standardSortMethod": true, + "stopSoundsOnStartup": true, + "title": "", + "v": 235, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": true, + "zoomFactor": 0.5452538663326276, + "windowMask": false + }, + "objectsGroups": [], + "variables": [ + { + "name": "LeaderboardScore", + "type": "string", + "value": "" + } + ], + "instances": [ { "angle": 0, - "customSize": false, + "customSize": true, "height": 64, "layer": "", - "name": "Tree", - "persistentUuid": "f2b4aa35-17d7-49f6-8c3f-fa20368ee925", - "width": 64, - "x": 1749, - "y": 1594, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], + "name": "Platform", + "persistentUuid": "c2c6a11c-e8f8-4ee6-aedb-369f62303136", + "width": 1152, + "x": -96, + "y": 512, + "zOrder": 14, + "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": false, - "height": 64, - "layer": "", - "name": "Tree", - "persistentUuid": "340940e9-26ba-4d79-a165-0d8d606ab5dd", - "width": 64, - "x": 2176, - "y": 1618, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], + "customSize": true, + "height": 896, + "layer": "Background", + "name": "Background", + "persistentUuid": "968c9c47-08c4-44eb-917a-906d2ecee36b", + "width": 1024, + "x": -32, + "y": -320, + "zOrder": 15, + "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": false, - "height": 64, + "customSize": true, + "depth": 0, + "height": 320, "layer": "", - "name": "Tree", - "persistentUuid": "c48e36e3-e6a6-4657-a2da-c9b6da49381e", - "width": 64, - "x": 2580, - "y": 1508, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], + "name": "SummerBackground", + "persistentUuid": "718fa98c-9afc-4904-93e9-ab5cce96067a", + "width": 1280, + "x": 0, + "y": 0, + "zOrder": 0, + "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": false, - "height": 64, + "customSize": true, + "depth": 0, + "height": 416, "layer": "", - "name": "Tree", - "persistentUuid": "a1ddffbf-e505-4e65-b95d-b0e37add2b0c", - "width": 64, - "x": 2850, - "y": 1328, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], + "name": "Grass", + "persistentUuid": "e28a6930-a1c7-4841-be8a-e125f86dd4f1", + "width": 1280, + "x": 0, + "y": 320, + "zOrder": -1, + "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": false, - "height": 64, + "customSize": true, + "depth": 0, + "height": 204, "layer": "", "name": "Tree", - "persistentUuid": "2df5e1b3-919f-46c1-b5c2-60089f0c73aa", - "width": 64, - "x": 2992, - "y": 943, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], + "persistentUuid": "130ad860-f6de-4f4d-a6de-bed0a3abfe0c", + "width": 94, + "x": 1088, + "y": 436, + "zOrder": 38, + "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": false, - "height": 64, + "customSize": true, + "depth": 0, + "height": 204, "layer": "", "name": "Tree", - "persistentUuid": "21e3d25f-9d91-4a7b-b551-c6f97a1637a9", - "width": 64, - "x": 3043, - "y": 508, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], + "persistentUuid": "fcc2c631-3ea0-480e-bab5-9019764f8167", + "width": 94, + "x": 98, + "y": 436, + "zOrder": 38, + "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": false, - "height": 64, + "customSize": true, + "depth": 0, + "height": 102, "layer": "", "name": "Tree", - "persistentUuid": "44503227-92cb-4837-9fc4-0ef11b767928", - "width": 64, - "x": 2988, - "y": 46, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], + "persistentUuid": "1f2fa74d-6325-483f-8b2a-636842516256", + "width": 47, + "x": 1201, + "y": 282, + "zOrder": 38, + "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": false, - "height": 64, + "customSize": true, + "depth": 0, + "height": 102, "layer": "", "name": "Tree", - "persistentUuid": "6058c590-dbe1-419d-acd8-5180bc1b90cd", - "width": 64, - "x": 2121, - "y": -496, - "zOrder": 7, - "numberProperties": [ - { - "name": "z", - "value": 0 - } - ], + "persistentUuid": "5aa9b13d-1572-4b3a-a107-1a50c365dcbc", + "width": 47, + "x": 32, + "y": 282, + "zOrder": 38, + "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": false, - "height": 64, + "customSize": true, + "depth": 32, + "height": 160, "layer": "", - "name": "Tree", - "persistentUuid": "453ea907-7f51-47e4-a736-413809dd31e1", - "width": 64, - "x": 2513, - "y": -468, - "zOrder": 7, - "numberProperties": [ + "name": "LevelButton", + "persistentUuid": "4cd433ce-8543-48ab-96c8-ee2ffabc3f8a", + "width": 352, + "x": 256, + "y": 224, + "zOrder": 40, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [ { - "name": "z", - "value": 0 + "folded": true, + "name": "Level", + "type": "number", + "value": 1 } - ], - "stringProperties": [], - "initialVariables": [] + ] }, { "angle": 0, - "customSize": false, - "height": 64, + "customSize": true, + "depth": 32, + "height": 160, "layer": "", - "name": "Tree", - "persistentUuid": "f3b5b6a7-a1d9-4aaf-8f3c-0c1b2c5163cf", - "width": 64, - "x": 2106, - "y": -170, - "zOrder": 7, - "numberProperties": [ + "name": "LevelButton", + "persistentUuid": "566f0b5d-582c-4829-bd4c-f5eb125fd3e1", + "width": 352, + "x": 256, + "y": 448, + "zOrder": 40, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [ { - "name": "z", - "value": 0 + "folded": true, + "name": "Level", + "type": "number", + "value": 3 } - ], - "stringProperties": [], - "initialVariables": [] + ] }, { "angle": 0, - "customSize": false, - "height": 64, + "customSize": true, + "depth": 32, + "height": 160, "layer": "", - "name": "Tree", - "persistentUuid": "8cfedddb-fc6d-48ed-b58c-9236d5049351", - "width": 64, - "x": 1133, - "y": 1367, - "zOrder": 7, - "numberProperties": [ + "name": "LevelButton", + "persistentUuid": "275efafb-0192-4170-bed3-27215ae4e87e", + "width": 352, + "x": 672, + "y": 224, + "zOrder": 40, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [ { - "name": "z", - "value": 0 + "folded": true, + "name": "Level", + "type": "number", + "value": 2 } - ], + ] + }, + { + "angle": 0, + "customSize": true, + "depth": 32, + "height": 160, + "layer": "", + "name": "RandomButton", + "persistentUuid": "20ac8ff4-1384-4b13-8ad6-25cf27f5faca", + "width": 352, + "x": 672, + "y": 448, + "zOrder": 41, + "numberProperties": [], "stringProperties": [], "initialVariables": [] } ], "objects": [ { - "assetStoreId": "", - "name": "Player", + "assetStoreId": "bfab3a269992cf43081e2cb8053c28aaef11f2f9e0d0cbdc00207ea271f69c2c", + "name": "LevelButton", "tags": "", - "type": "Scene3D::Model3DObject", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Car", - "type": "Car::Car", - "IsAccelerating": false, - "IsOnRoad": 0, - "CurveMovement": "SpeedPathMovement", - "SpeedPathMovement": "SpeedPathMovement", - "MaxTurnSpeed": 32 - }, - { - "name": "ShakeModel3D", - "type": "ShakeObject3D::ShakeModel3D", - "TranslationAmplitudeX": 0, - "TranslationAmplitudeY": 0, - "TranslationAmplitudeZ": 0, - "RotationAmplitudeX": 5, - "RotationAmplitudeY": 5, - "RotationAmplitudeZ": 5, - "Time": 5, - "Duration": 5, - "StartEasingDuration": 5, - "StopEasingDuration": 5, - "Frequency": 4, - "DeltaX": 5, - "DeltaY": 5, - "DeltaZ": 5, - "DeltaAngleX": 5, - "DeltaAngleY": 5, - "DeltaAngleZ": 5, - "NoiseTime": 5 - }, + "type": "PanelSpriteButton::PanelSpriteButton", + "variables": [ { - "name": "SpeedPathMovement", - "type": "CurvedMovement::SpeedPathMovement", - "Rotation": true, - "RotationOffset": 0, - "Speed": 0, - "PathOriginX": 0, - "PathOriginY": 0, - "PathName": "", - "TargetedSpeed": 0, - "Acceleration": 0, - "DrawingElementIndex": 0, - "X": 0, - "Y": 0, - "PathAngle": 0, - "PathScale": 0, - "RepetitionCount": 0, - "ShouldLoop": false, - "DrawingPathOriginX": 0, - "DrawingPathOriginY": 0, - "DebugLineStrokeWidth": 0, - "PreviousSpeed": 0, - "CurrentLength": 0, - "IsLookingBack": false, - "Viewpoint": "Top-Down" + "folded": true, + "name": "Level", + "type": "number", + "value": 0 } ], - "content": { - "width": 12, - "height": 8, - "depth": 6, - "enableTextureTransparency": false, - "modelResourceName": "sedanSportsRed.glb", - "rotationX": 90, - "rotationZ": -90, - "rotationY": 0, - "keepAspectRatio": false, - "materialType": "StandardWithoutMetalness" - } - }, - { - "assetStoreId": "", - "name": "BlackOpponent", - "tags": "", - "type": "Scene3D::Model3DObject", - "variables": [], "effects": [], - "behaviors": [ - { - "name": "Car", - "type": "Car::Car", - "IsAccelerating": false, - "IsOnRoad": 0, - "CurveMovement": "SpeedPathMovement", - "SpeedPathMovement": "SpeedPathMovement", - "MaxSpeed": 225, - "MaxTurnSpeed": 48 - }, - { - "name": "ShakeModel3D", - "type": "ShakeObject3D::ShakeModel3D", - "TranslationAmplitudeX": 0, - "TranslationAmplitudeY": 0, - "TranslationAmplitudeZ": 0, - "RotationAmplitudeX": 5, - "RotationAmplitudeY": 5, - "RotationAmplitudeZ": 5, - "Time": 5, - "Duration": 5, - "StartEasingDuration": 5, - "StopEasingDuration": 5, - "Frequency": 4, - "DeltaX": 5, - "DeltaY": 5, - "DeltaZ": 5, - "DeltaAngleX": 5, - "DeltaAngleY": 5, - "DeltaAngleZ": 5, - "NoiseTime": 5 - }, - { - "name": "SpeedPathMovement", - "type": "CurvedMovement::SpeedPathMovement", - "Rotation": true, - "RotationOffset": 0, - "Speed": 0, - "PathOriginX": 0, - "PathOriginY": 0, - "PathName": "", - "TargetedSpeed": 0, - "Acceleration": 0, - "DrawingElementIndex": 0, - "X": 0, - "Y": 0, - "PathAngle": 0, - "PathScale": 0, - "RepetitionCount": 0, - "ShouldLoop": false, - "DrawingPathOriginX": 0, - "DrawingPathOriginY": 0, - "DebugLineStrokeWidth": 0, - "PreviousSpeed": 0, - "CurrentLength": 0, - "IsLookingBack": false, - "Viewpoint": "Top-Down" - } - ], + "behaviors": [], "content": { - "width": 12, - "height": 8, - "depth": 6, - "enableTextureTransparency": false, - "modelResourceName": "sedanSportsOrange.glb", - "rotationX": 90, - "rotationZ": -90, - "rotationY": 0, - "keepAspectRatio": false, - "materialType": "StandardWithoutMetalness" - } - }, - { - "assetStoreId": "", - "name": "WhiteOpponent", - "tags": "", - "type": "Scene3D::Model3DObject", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Car", - "type": "Car::Car", - "IsAccelerating": false, - "IsOnRoad": 0, - "CurveMovement": "SpeedPathMovement", - "SpeedPathMovement": "SpeedPathMovement", - "MaxSpeed": 200, - "MaxTurnSpeed": 32 - }, - { - "name": "ShakeModel3D", - "type": "ShakeObject3D::ShakeModel3D", - "TranslationAmplitudeX": 0, - "TranslationAmplitudeY": 0, - "TranslationAmplitudeZ": 0, - "RotationAmplitudeX": 5, - "RotationAmplitudeY": 5, - "RotationAmplitudeZ": 5, - "Time": 5, - "Duration": 5, - "StartEasingDuration": 5, - "StopEasingDuration": 5, - "Frequency": 4, - "DeltaX": 5, - "DeltaY": 5, - "DeltaZ": 5, - "DeltaAngleX": 5, - "DeltaAngleY": 5, - "DeltaAngleZ": 5, - "NoiseTime": 5 - }, - { - "name": "SpeedPathMovement", - "type": "CurvedMovement::SpeedPathMovement", - "Rotation": true, - "RotationOffset": 0, - "Speed": 0, - "PathOriginX": 0, - "PathOriginY": 0, - "PathName": "", - "TargetedSpeed": 0, - "Acceleration": 0, - "DrawingElementIndex": 0, - "X": 0, - "Y": 0, - "PathAngle": 0, - "PathScale": 0, - "RepetitionCount": 0, - "ShouldLoop": false, - "DrawingPathOriginX": 0, - "DrawingPathOriginY": 0, - "DebugLineStrokeWidth": 0, - "PreviousSpeed": 0, - "CurrentLength": 0, - "IsLookingBack": false, - "Viewpoint": "Top-Down" + "LeftPadding": 16, + "RightPadding": 16, + "PressedLabelOffsetY": 10, + "BottomPadding": 32, + "TopPadding": 16, + "HoveredFadeOutDuration": 0.25 + }, + "childrenContent": { + "Hovered": { + "bottomMargin": 32, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Hovered.png", + "tiled": true, + "topMargin": 16, + "width": 256 + }, + "Idle": { + "bottomMargin": 32, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Idle.png", + "tiled": true, + "topMargin": 16, + "width": 256 + }, + "Label": { + "bold": false, + "italic": false, + "smoothed": true, + "underlined": false, + "string": "Level", + "font": "", + "textAlignment": "center", + "characterSize": 60, + "color": { + "b": 79, + "g": 72, + "r": 72 + } + }, + "Pressed": { + "bottomMargin": 16, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Pressed.png", + "tiled": true, + "topMargin": 32, + "width": 256 } - ], - "content": { - "width": 12, - "height": 8, - "depth": 6, - "enableTextureTransparency": false, - "modelResourceName": "sedanSportsWhite.glb", - "rotationX": 90, - "rotationZ": -90, - "rotationY": 0, - "keepAspectRatio": false, - "materialType": "StandardWithoutMetalness" } }, { - "assetStoreId": "", - "name": "GreenOpponent", + "assetStoreId": "bfab3a269992cf43081e2cb8053c28aaef11f2f9e0d0cbdc00207ea271f69c2c", + "name": "RandomButton", "tags": "", - "type": "Scene3D::Model3DObject", + "type": "PanelSpriteButton::PanelSpriteButton", "variables": [], "effects": [], - "behaviors": [ - { - "name": "Car", - "type": "Car::Car", - "IsAccelerating": false, - "IsOnRoad": 0, - "CurveMovement": "SpeedPathMovement", - "SpeedPathMovement": "SpeedPathMovement", - "MaxSpeed": 210, - "MaxTurnSpeed": 32 - }, - { - "name": "ShakeModel3D", - "type": "ShakeObject3D::ShakeModel3D", - "TranslationAmplitudeX": 0, - "TranslationAmplitudeY": 0, - "TranslationAmplitudeZ": 0, - "RotationAmplitudeX": 5, - "RotationAmplitudeY": 5, - "RotationAmplitudeZ": 5, - "Time": 5, - "Duration": 5, - "StartEasingDuration": 5, - "StopEasingDuration": 5, - "Frequency": 4, - "DeltaX": 5, - "DeltaY": 5, - "DeltaZ": 5, - "DeltaAngleX": 5, - "DeltaAngleY": 5, - "DeltaAngleZ": 5, - "NoiseTime": 5 - }, - { - "name": "SpeedPathMovement", - "type": "CurvedMovement::SpeedPathMovement", - "Rotation": true, - "RotationOffset": 0, - "Speed": 0, - "PathOriginX": 0, - "PathOriginY": 0, - "PathName": "", - "TargetedSpeed": 0, - "Acceleration": 0, - "DrawingElementIndex": 0, - "X": 0, - "Y": 0, - "PathAngle": 0, - "PathScale": 0, - "RepetitionCount": 0, - "ShouldLoop": false, - "DrawingPathOriginX": 0, - "DrawingPathOriginY": 0, - "DebugLineStrokeWidth": 0, - "PreviousSpeed": 0, - "CurrentLength": 0, - "IsLookingBack": false, - "Viewpoint": "Top-Down" - } - ], + "behaviors": [], "content": { - "width": 12, - "height": 8, - "depth": 6, - "enableTextureTransparency": false, - "modelResourceName": "sedanSportsGreen.glb", - "rotationX": 90, - "rotationZ": -90, - "rotationY": 0, - "keepAspectRatio": false, - "materialType": "StandardWithoutMetalness" + "LeftPadding": 16, + "RightPadding": 16, + "PressedLabelOffsetY": 10, + "BottomPadding": 32, + "TopPadding": 16, + "HoveredFadeOutDuration": 0.25 + }, + "childrenContent": { + "Hovered": { + "bottomMargin": 32, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Hovered.png", + "tiled": true, + "topMargin": 16, + "width": 256 + }, + "Idle": { + "bottomMargin": 32, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Idle.png", + "tiled": true, + "topMargin": 16, + "width": 256 + }, + "Label": { + "bold": false, + "italic": false, + "smoothed": true, + "underlined": false, + "string": "???", + "font": "", + "textAlignment": "center", + "characterSize": 60, + "color": { + "b": 79, + "g": 72, + "r": 72 + } + }, + "Pressed": { + "bottomMargin": 16, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Pressed.png", + "tiled": true, + "topMargin": 32, + "width": 256 + } } }, { "assetStoreId": "", - "name": "BlueOpponent", + "height": 350, + "name": "SummerBackground", "tags": "", - "type": "Scene3D::Model3DObject", + "texture": "Summer Background.png", + "type": "TiledSpriteObject::TiledSprite", + "width": 1280, "variables": [], "effects": [], "behaviors": [ { - "name": "Car", - "type": "Car::Car", - "IsAccelerating": false, - "IsOnRoad": 0, - "CurveMovement": "SpeedPathMovement", - "SpeedPathMovement": "SpeedPathMovement", - "MaxSpeed": 190, - "MaxTurnSpeed": 32 - }, - { - "name": "ShakeModel3D", - "type": "ShakeObject3D::ShakeModel3D", - "TranslationAmplitudeX": 0, - "TranslationAmplitudeY": 0, - "TranslationAmplitudeZ": 0, - "RotationAmplitudeX": 5, - "RotationAmplitudeY": 5, - "RotationAmplitudeZ": 5, - "Time": 5, - "Duration": 5, - "StartEasingDuration": 5, - "StopEasingDuration": 5, - "Frequency": 4, - "DeltaX": 5, - "DeltaY": 5, - "DeltaZ": 5, - "DeltaAngleX": 5, - "DeltaAngleY": 5, - "DeltaAngleZ": 5, - "NoiseTime": 5 - }, - { - "name": "SpeedPathMovement", - "type": "CurvedMovement::SpeedPathMovement", - "Rotation": true, - "RotationOffset": 0, - "Speed": 0, - "PathOriginX": 0, - "PathOriginY": 0, - "PathName": "", - "TargetedSpeed": 0, - "Acceleration": 0, - "DrawingElementIndex": 0, - "X": 0, - "Y": 0, - "PathAngle": 0, - "PathScale": 0, - "RepetitionCount": 0, - "ShouldLoop": false, - "DrawingPathOriginX": 0, - "DrawingPathOriginY": 0, - "DebugLineStrokeWidth": 0, - "PreviousSpeed": 0, - "CurrentLength": 0, - "IsLookingBack": false, - "Viewpoint": "Top-Down" + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 0, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 0, + "useLegacyBottomAndRightAnchors": false } - ], - "content": { - "width": 12, - "height": 8, - "depth": 6, - "enableTextureTransparency": false, - "modelResourceName": "sedanSportsBlue.glb", - "rotationX": 90, - "rotationZ": -90, - "rotationY": 0, - "keepAspectRatio": false, - "materialType": "StandardWithoutMetalness" - } + ] }, { + "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "YellowOpponent", + "name": "Grass", "tags": "", - "type": "Scene3D::Model3DObject", + "type": "Sprite", + "updateIfNotVisible": false, "variables": [], "effects": [], - "behaviors": [ - { - "name": "Car", - "type": "Car::Car", - "IsAccelerating": false, - "IsOnRoad": 0, - "CurveMovement": "SpeedPathMovement", - "SpeedPathMovement": "SpeedPathMovement", - "MaxSpeed": 180, - "MaxTurnSpeed": 32 - }, - { - "name": "ShakeModel3D", - "type": "ShakeObject3D::ShakeModel3D", - "TranslationAmplitudeX": 0, - "TranslationAmplitudeY": 0, - "TranslationAmplitudeZ": 0, - "RotationAmplitudeX": 5, - "RotationAmplitudeY": 5, - "RotationAmplitudeZ": 5, - "Time": 5, - "Duration": 5, - "StartEasingDuration": 5, - "StopEasingDuration": 5, - "Frequency": 4, - "DeltaX": 5, - "DeltaY": 5, - "DeltaZ": 5, - "DeltaAngleX": 5, - "DeltaAngleY": 5, - "DeltaAngleZ": 5, - "NoiseTime": 5 - }, + "behaviors": [], + "animations": [ { - "name": "SpeedPathMovement", - "type": "CurvedMovement::SpeedPathMovement", - "Rotation": true, - "RotationOffset": 0, - "Speed": 0, - "PathOriginX": 0, - "PathOriginY": 0, - "PathName": "", - "TargetedSpeed": 0, - "Acceleration": 0, - "DrawingElementIndex": 0, - "X": 0, - "Y": 0, - "PathAngle": 0, - "PathScale": 0, - "RepetitionCount": 0, - "ShouldLoop": false, - "DrawingPathOriginX": 0, - "DrawingPathOriginY": 0, - "DebugLineStrokeWidth": 0, - "PreviousSpeed": 0, - "CurrentLength": 0, - "IsLookingBack": false, - "Viewpoint": "Top-Down" + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\Grass.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] } - ], - "content": { - "width": 12, - "height": 8, - "depth": 6, - "enableTextureTransparency": false, - "modelResourceName": "sedanSportsYellow.glb", - "rotationX": 90, - "rotationZ": -90, - "rotationY": 0, - "keepAspectRatio": false, - "materialType": "StandardWithoutMetalness" - } + ] }, { + "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Grass", + "name": "Tree", "tags": "", "type": "Sprite", "updateIfNotVisible": false, @@ -4493,17 +4710,16 @@ "behaviors": [], "animations": [ { - "name": "Grass", + "name": "", "useMultipleDirections": false, "directions": [ { "looping": false, - "metadata": "{\"pskl\":{}}", "timeBetweenFrames": 0.08, "sprites": [ { "hasCustomCollisionMask": false, - "image": "Grass", + "image": "assets\\Tree.png", "points": [], "originPoint": { "name": "origine", @@ -4523,1300 +4739,2570 @@ ] } ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::SetLabelText" + }, + "parameters": [ + "LevelButton", + "\"Level \" + LevelButton.VariableString(Level)", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::IsClicked" + }, + "parameters": [ + "LevelButton", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "Level", + "=", + "LevelButton.Variable(Level)" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Game\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::IsClicked" + }, + "parameters": [ + "RandomButton", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarGlobal" + }, + "parameters": [ + "Level", + "=", + "RandomInRange(1, 3)" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Game\"", + "" + ] + } + ] + } + ], + "layers": [ + { + "ambientLightColorB": 167797870, + "ambientLightColorG": 6032144, + "ambientLightColorR": 8563600, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "Background", + "renderingType": "", + "visibility": true, + "cameras": [], + "effects": [] + }, + { + "ambientLightColorB": 3, + "ambientLightColorG": 134217728, + "ambientLightColorR": 1597197633, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "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": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + } + ] + }, + { + "b": 231, + "disableInputWhenNotFocused": true, + "mangledName": "Leaderboard", + "name": "Leaderboard", + "r": 205, + "standardSortMethod": true, + "stopSoundsOnStartup": true, + "title": "", + "v": 235, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 16, + "gridHeight": 16, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": true, + "zoomFactor": 0.7596776153110891, + "windowMask": false + }, + "objectsGroups": [], + "variables": [ + { + "name": "LeaderboardScore", + "type": "string", + "value": "" + } + ], + "instances": [ + { + "angle": 0, + "customSize": true, + "height": 64, + "layer": "", + "name": "Platform", + "persistentUuid": "c2c6a11c-e8f8-4ee6-aedb-369f62303136", + "width": 1152, + "x": -96, + "y": 512, + "zOrder": 14, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 896, + "layer": "Background", + "name": "Background", + "persistentUuid": "968c9c47-08c4-44eb-917a-906d2ecee36b", + "width": 1024, + "x": -32, + "y": -320, + "zOrder": 15, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 67, + "layer": "", + "name": "ScoreText", + "persistentUuid": "722f1233-75ba-4128-8905-4ac5dd26bc1e", + "width": 384, + "x": 378, + "y": 172, + "zOrder": 18, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 96, + "layer": "", + "name": "PlayerNameInput", + "persistentUuid": "a681abd2-5235-4165-a003-4a9553d79cb5", + "width": 416, + "x": 336, + "y": 288, + "zOrder": 19, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "RestartButton", + "persistentUuid": "9e303562-d182-4829-a5eb-148a1af72803", + "width": 0, + "x": 688, + "y": 438, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 106, + "layer": "", + "name": "MainMenuButton", + "persistentUuid": "17a7607a-736f-4ef3-b228-4affa90849ec", + "width": 352, + "x": 336, + "y": 438, + "zOrder": 36, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 106, + "layer": "", + "name": "SubmitButton", + "persistentUuid": "3aa859c1-2135-4384-a300-bfb28b424a52", + "width": 128, + "x": 816, + "y": 278, + "zOrder": 37, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 320, + "layer": "", + "name": "SummerBackground", + "persistentUuid": "718fa98c-9afc-4904-93e9-ab5cce96067a", + "width": 1280, + "x": 0, + "y": 0, + "zOrder": 0, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 416, + "layer": "", + "name": "Grass", + "persistentUuid": "e28a6930-a1c7-4841-be8a-e125f86dd4f1", + "width": 1280, + "x": 0, + "y": 320, + "zOrder": -1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] }, { - "assetStoreId": "", - "name": "Camera", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\Grey.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] + "angle": 0, + "customSize": true, + "depth": 0, + "height": 204, + "layer": "", + "name": "Tree", + "persistentUuid": "130ad860-f6de-4f4d-a6de-bed0a3abfe0c", + "width": 94, + "x": 1088, + "y": 436, + "zOrder": 38, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] }, { - "assetStoreId": "", - "name": "Road00", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-0-0.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "angle": 0, + "customSize": true, + "depth": 0, + "height": 204, + "layer": "", + "name": "Tree", + "persistentUuid": "fcc2c631-3ea0-480e-bab5-9019764f8167", + "width": 94, + "x": 96, + "y": 432, + "zOrder": 38, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] }, { - "assetStoreId": "", - "name": "Road01", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-0-1.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "angle": 0, + "customSize": true, + "depth": 0, + "height": 102, + "layer": "", + "name": "Tree", + "persistentUuid": "1f2fa74d-6325-483f-8b2a-636842516256", + "width": 47, + "x": 1201, + "y": 282, + "zOrder": 38, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] }, + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 102, + "layer": "", + "name": "Tree", + "persistentUuid": "5aa9b13d-1572-4b3a-a107-1a50c365dcbc", + "width": 47, + "x": 32, + "y": 282, + "zOrder": 38, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 480, + "layer": "", + "name": "NewPanelSprite", + "persistentUuid": "ef024407-8612-4ce2-99b1-0f3e932160eb", + "width": 736, + "x": 272, + "y": 128, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ { "assetStoreId": "", - "name": "Road02", + "bold": false, + "italic": false, + "name": "ScoreText", + "smoothed": true, "tags": "", - "type": "Scene3D::Cube3DObject", + "type": "TextObject::Text", + "underlined": false, "variables": [], "effects": [], "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-0-2.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false + "string": "Score", + "font": "", + "textAlignment": "", + "characterSize": 60, + "color": { + "b": 79, + "g": 72, + "r": 72 } }, { "assetStoreId": "", - "name": "Road03", + "name": "PlayerNameInput", "tags": "", - "type": "Scene3D::Cube3DObject", + "type": "TextInput::TextInputObject", "variables": [], "effects": [], "behaviors": [], "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-0-3.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false + "initialValue": "", + "placeholder": "PlayerName", + "fontResourceName": "", + "fontSize": 60, + "inputType": "text", + "textColor": "72;72;79", + "fillColor": "231;232;243", + "fillOpacity": 255, + "borderColor": "255;255;255", + "borderOpacity": 255, + "borderWidth": 6, + "readOnly": false, + "disabled": false } }, { - "assetStoreId": "", - "name": "Road04", + "assetStoreId": "bfab3a269992cf43081e2cb8053c28aaef11f2f9e0d0cbdc00207ea271f69c2c", + "name": "SubmitButton", "tags": "", - "type": "Scene3D::Cube3DObject", + "type": "PanelSpriteButton::PanelSpriteButton", "variables": [], "effects": [], "behaviors": [], "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-0-4.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false + "LeftPadding": 16, + "RightPadding": 16, + "PressedLabelOffsetY": 10, + "BottomPadding": 32, + "TopPadding": 16, + "HoveredFadeOutDuration": 0.25 + }, + "childrenContent": { + "Hovered": { + "bottomMargin": 32, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Hovered.png", + "tiled": true, + "topMargin": 16, + "width": 256 + }, + "Idle": { + "bottomMargin": 32, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Idle.png", + "tiled": true, + "topMargin": 16, + "width": 256 + }, + "Label": { + "bold": false, + "italic": false, + "smoothed": true, + "underlined": false, + "string": "🡲", + "font": "", + "textAlignment": "center", + "characterSize": 60, + "color": { + "b": 79, + "g": 72, + "r": 72 + } + }, + "Pressed": { + "bottomMargin": 16, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Pressed.png", + "tiled": true, + "topMargin": 32, + "width": 256 + } } }, { - "assetStoreId": "", - "name": "Road05", + "assetStoreId": "bfab3a269992cf43081e2cb8053c28aaef11f2f9e0d0cbdc00207ea271f69c2c", + "name": "MainMenuButton", "tags": "", - "type": "Scene3D::Cube3DObject", + "type": "PanelSpriteButton::PanelSpriteButton", "variables": [], "effects": [], "behaviors": [], "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-0-5.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false + "LeftPadding": 16, + "RightPadding": 16, + "PressedLabelOffsetY": 10, + "BottomPadding": 32, + "TopPadding": 16, + "HoveredFadeOutDuration": 0.25 + }, + "childrenContent": { + "Hovered": { + "bottomMargin": 32, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Hovered.png", + "tiled": true, + "topMargin": 16, + "width": 256 + }, + "Idle": { + "bottomMargin": 32, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Idle.png", + "tiled": true, + "topMargin": 16, + "width": 256 + }, + "Label": { + "bold": false, + "italic": false, + "smoothed": true, + "underlined": false, + "string": "Menu", + "font": "", + "textAlignment": "center", + "characterSize": 60, + "color": { + "b": 79, + "g": 72, + "r": 72 + } + }, + "Pressed": { + "bottomMargin": 16, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Pressed.png", + "tiled": true, + "topMargin": 32, + "width": 256 + } } }, { - "assetStoreId": "", - "name": "Road06", + "assetStoreId": "bfab3a269992cf43081e2cb8053c28aaef11f2f9e0d0cbdc00207ea271f69c2c", + "name": "RestartButton", "tags": "", - "type": "Scene3D::Cube3DObject", + "type": "PanelSpriteButton::PanelSpriteButton", "variables": [], "effects": [], "behaviors": [], "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-0-6.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false + "LeftPadding": 16, + "RightPadding": 16, + "PressedLabelOffsetY": 10, + "BottomPadding": 32, + "TopPadding": 16, + "HoveredFadeOutDuration": 0.25 + }, + "childrenContent": { + "Hovered": { + "bottomMargin": 32, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Hovered.png", + "tiled": true, + "topMargin": 16, + "width": 256 + }, + "Idle": { + "bottomMargin": 32, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Idle.png", + "tiled": true, + "topMargin": 16, + "width": 256 + }, + "Label": { + "bold": false, + "italic": false, + "smoothed": true, + "underlined": false, + "string": "Restart", + "font": "", + "textAlignment": "center", + "characterSize": 60, + "color": { + "b": 79, + "g": 72, + "r": 72 + } + }, + "Pressed": { + "bottomMargin": 16, + "height": 106, + "leftMargin": 16, + "rightMargin": 16, + "texture": "Grey Button_Pressed.png", + "tiled": true, + "topMargin": 32, + "width": 256 + } } }, { "assetStoreId": "", - "name": "Road07", + "height": 350, + "name": "SummerBackground", "tags": "", - "type": "Scene3D::Cube3DObject", + "texture": "Summer Background.png", + "type": "TiledSpriteObject::TiledSprite", + "width": 1280, "variables": [], "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-0-7.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 0, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 0, + "useLegacyBottomAndRightAnchors": false + } + ] }, { + "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Road10", + "name": "Grass", "tags": "", - "type": "Scene3D::Cube3DObject", + "type": "Sprite", + "updateIfNotVisible": false, "variables": [], "effects": [], "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-1-0.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\Grass.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] }, { + "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Road11", + "name": "Tree", "tags": "", - "type": "Scene3D::Cube3DObject", + "type": "Sprite", + "updateIfNotVisible": false, "variables": [], "effects": [], "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-1-1.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\Tree.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] }, { "assetStoreId": "", - "name": "Road12", + "bottomMargin": 32, + "height": 128, + "leftMargin": 16, + "name": "NewPanelSprite", + "rightMargin": 16, "tags": "", - "type": "Scene3D::Cube3DObject", + "texture": "assets\\Grey Button_Idle.png", + "tiled": false, + "topMargin": 16, + "type": "PanelSpriteObject::PanelSprite", + "width": 128, "variables": [], "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-1-2.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "behaviors": [] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ScoreText", + "=", + "\"Time: \" + TimeFormatter::SecondsToHHMMSS000(GlobalVariable(Score))" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PlayerAuthentication::DisplayAuthenticationBanner" + }, + "parameters": [ + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlayerAuthentication::IsPlayerAuthenticated" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "TextInput::TextInputObject::SetText" + }, + "parameters": [ + "PlayerNameInput", + "=", + "PlayerAuthentication::Username()" + ] + }, + { + "type": { + "value": "TextInput::TextInputObject::SetDisabled" + }, + "parameters": [ + "PlayerNameInput", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PlayerAuthentication::IsPlayerAuthenticated" + }, + "parameters": [] + }, + { + "type": { + "value": "VarGlobalTxt" + }, + "parameters": [ + "PlayerName", + "!=", + "\"0\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextInput::TextInputObject::SetText" + }, + "parameters": [ + "PlayerNameInput", + "=", + "GlobalVariableString(PlayerName)" + ] + } + ] + } + ] }, { - "assetStoreId": "", - "name": "Road13", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-1-3.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlayerAuthentication::HasPlayerLoggedIn" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "TextInput::TextInputObject::SetText" + }, + "parameters": [ + "PlayerNameInput", + "=", + "PlayerAuthentication::Username()" + ] + }, + { + "type": { + "value": "TextInput::TextInputObject::SetDisabled" + }, + "parameters": [ + "PlayerNameInput", + "yes" + ] + }, + { + "type": { + "value": "PlayerAuthentication::DisplayAuthenticationBanner" + }, + "parameters": [ + "" + ] + } + ] }, { - "assetStoreId": "", - "name": "Road14", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-1-4.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Leaderboards::IsLeaderboardViewErrored" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "PlayerAuthentication::DisplayAuthenticationBanner" + }, + "parameters": [ + "" + ] + } + ] }, { - "assetStoreId": "", - "name": "Road15", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-1-5.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::IsClicked" + }, + "parameters": [ + "RestartButton", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlayerAuthentication::HideAuthenticationBanner" + }, + "parameters": [ + "" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Game\"", + "" + ] + } + ] }, { - "assetStoreId": "", - "name": "Road17", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-1-7.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::IsClicked" + }, + "parameters": [ + "MainMenuButton", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlayerAuthentication::HideAuthenticationBanner" + }, + "parameters": [ + "" + ] + }, + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"LevelSelection\"", + "" + ] + } + ] }, { - "assetStoreId": "", - "name": "Road23", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-2-3.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Handle leaderboards.\nTo create a leaderboard, make sure your game is registered in Home > Profile > Games Dashboard and then, click on \"Manage game\" > Leaderboards. When a leaderboard is created, it should be available in the actions." }, { - "assetStoreId": "", - "name": "Road27", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-2-7.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::IsClicked" + }, + "parameters": [ + "SubmitButton", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlayerAuthentication::IsPlayerAuthenticated" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Leaderboards::SaveConnectedPlayerScore" + }, + "parameters": [ + "", + "GlobalVariableString(LeaderboardIds[GlobalVariable(Level)])", + "GlobalVariable(Score)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PlayerAuthentication::IsPlayerAuthenticated" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Leaderboards::SavePlayerScore" + }, + "parameters": [ + "", + "GlobalVariableString(LeaderboardIds[GlobalVariable(Level)])", + "GlobalVariable(Score)", + "PlayerNameInput.Text()" + ] + }, + { + "type": { + "value": "ModVarGlobalTxt" + }, + "parameters": [ + "PlayerName", + "=", + "PlayerNameInput.Text()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PlayerAuthentication::HideAuthenticationBanner" + }, + "parameters": [ + "" + ] + }, + { + "type": { + "value": "Leaderboards::DisplayLeaderboard" + }, + "parameters": [ + "", + "GlobalVariableString(LeaderboardIds[GlobalVariable(Level)])", + "yes" + ] + } + ] + } + ] }, { - "assetStoreId": "", - "name": "Road33", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-3-3.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Allow to try and submit again in case of error." }, { - "assetStoreId": "", - "name": "Road34", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-3-4.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } - }, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Leaderboards::HasPlayerJustClosedLeaderboardView" + }, + "parameters": [] + }, + { + "type": { + "value": "Leaderboards::HasLastSaveSucceeded" + }, + "parameters": [ + "GlobalVariableString(LeaderboardIds[GlobalVariable(Level)])" + ] + } + ], + "actions": [ + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"LevelSelection\"", + "" + ] + } + ] + } + ], + "layers": [ { - "assetStoreId": "", - "name": "Road35", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-3-5.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } + "ambientLightColorB": 167797870, + "ambientLightColorG": 6032144, + "ambientLightColorR": 8563600, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "Background", + "renderingType": "", + "visibility": true, + "cameras": [], + "effects": [] }, { - "assetStoreId": "", - "name": "Road36", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-3-6.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } - }, + "ambientLightColorB": 3, + "ambientLightColorG": 134217728, + "ambientLightColorR": 1597197633, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "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": [ { - "assetStoreId": "", - "name": "Road37", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 320, - "height": 320, - "depth": 1, - "frontFaceResourceName": "Road-3-7.png", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } - }, + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior" + } + ] + } + ], + "externalEvents": [], + "eventsFunctionsExtensions": [ + { + "author": "@Bouh", + "category": "User interface", + "extensionNamespace": "", + "fullName": "Time formatting", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWNsb2NrLWRpZ2l0YWwiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMiw2QTIsMiAwIDAsMCAwLDhWMTZBMiwyIDAgMCwwIDIsMThIMjJBMiwyIDAgMCwwIDI0LDE2VjhBMiwyIDAgMCwwIDIyLDZNMiw4SDIyVjE2SDJNMyw5VjEwLjVINi4yNUwzLDE1SDQuNzVMOCwxMC41VjlNOS4yNSw5VjEwLjVIMTAuNzVWOU0xMiw5VjEwLjVIMTMuNVYxNUgxNVY5TTE3LDlBMSwxIDAgMCwwIDE2LDEwVjE0QTEsMSAwIDAsMCAxNywxNUgyMEExLDEgMCAwLDAgMjEsMTRWMTBBMSwxIDAgMCwwIDIwLDlNMTcuNSwxMC41SDE5LjVWMTMuNUgxNy41TTkuMjUsMTMuNVYxNUgxMC43NVYxMy41IiAvPjwvc3ZnPg==", + "name": "TimeFormatter", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/clock-digital.svg", + "shortDescription": "Converts seconds into standard time formats, such as HH:MM:SS. ", + "version": "0.0.2", + "description": [ + "Ideal for displaying timers on screen.", + "", + "Formats included:", + "* HH:MM:SS", + "* HH:MM:SS.000 (displays milliseconds)" + ], + "origin": { + "identifier": "TimeFormatter", + "name": "gdevelop-extension-store" + }, + "tags": [ + "time", + "timer", + "format", + "hours", + "minutes", + "seconds", + "milliseconds" + ], + "authorIds": [ + "2OwwM8ToR9dx9RJ2sAKTcrLmCB92" + ], + "dependencies": [], + "eventsFunctions": [ { - "assetStoreId": "", - "name": "Tree", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [ + "description": "Format time in seconds to HH:MM:SS.", + "fullName": "Format time in seconds to HH:MM:SS", + "functionType": "StringExpression", + "name": "SecondsToHHMMSS", + "sentence": "Format time _PARAM1_ to HH:MM:SS in _PARAM2_", + "events": [ { - "name": "Billboard", - "type": "Billboard::Billboard", - "RotateZ": true, - "RotateY": true, - "RotateX": true, - "OffsetPositionMode": "Standing on Z axis" + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "var format_time = function (time_second) {\r", + " date = new Date(null);\r", + " date.setSeconds(time_second);\r", + " if (time_second >= 3600) {\r", + " return date.toISOString().substr(11, 8); // MM:SS\r", + " } else {\r", + " return date.toISOString().substr(14, 5); // HH:MM:SS\r", + " }\r", + "}\r", + "\r", + "eventsFunctionContext.returnValue = format_time(eventsFunctionContext.getArgument(\"TimeInSeconds\"));" + ], + "parameterObjects": "", + "useStrict": false, + "eventsSheetExpanded": false + } + ], + "expressionType": { + "type": "string" + }, + "parameters": [ + { + "description": "Time, in seconds", + "name": "TimeInSeconds", + "type": "expression" } ], - "content": { - "width": 28, - "height": 64, - "depth": 1, - "frontFaceResourceName": "Tree.png", - "backFaceResourceName": "Tree.png", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false, - "enableTextureTransparency": true, - "backFaceResourceRepeat": false, - "backFaceUpThroughWhichAxisRotation": "X", - "facesOrientation": "Y" - } + "objectGroups": [] }, { - "assetStoreId": "", - "name": "Bush", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [ + "description": "Format time in seconds to HH:MM:SS.000, including milliseconds.", + "fullName": "Format time in seconds to HH:MM:SS.000", + "functionType": "StringExpression", + "name": "SecondsToHHMMSS000", + "sentence": "Format time _PARAM1_ to HH:MM:SS in _PARAM2_", + "events": [ { - "name": "Billboard", - "type": "Billboard::Billboard", - "RotateZ": true, - "RotateY": true, - "RotateX": true, - "OffsetPositionMode": "Standing on Z axis" + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "var format_time = function (time_second) {\r", + " date = new Date(null);\r", + " date.setMilliseconds(1000*time_second);\r", + " if (time_second >= 3600) {\r", + " return date.toISOString().substr(11, 12); // MM:SS.000\r", + " } else {\r", + " return date.toISOString().substr(14, 9); // HH:MM:SS.000\r", + " }\r", + "}\r", + "\r", + "eventsFunctionContext.returnValue = format_time(eventsFunctionContext.getArgument(\"TimeInSeconds\"));" + ], + "parameterObjects": "", + "useStrict": false, + "eventsSheetExpanded": false } ], - "content": { - "width": 16, - "height": 16, - "depth": 1, - "frontFaceResourceName": "bush (4).png", - "backFaceResourceName": "bush (4).png", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false, - "enableTextureTransparency": true, - "backFaceUpThroughWhichAxisRotation": "X", - "facesOrientation": "Y" - } - }, - { - "assetStoreId": "", - "name": "NewObject", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 32, - "height": 32, - "depth": 1, - "frontFaceResourceName": "Grass", - "backFaceResourceName": "", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } - }, - { - "assetStoreId": "", - "name": "CarHitBox", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ + "expressionType": { + "type": "string" + }, + "parameters": [ { - "name": "SpeedPathMovement", - "type": "CurvedMovement::SpeedPathMovement", - "Rotation": true, - "RotationOffset": 0, - "Speed": 0, - "PathOriginX": 0, - "PathOriginY": 0, - "PathName": "", - "TargetedSpeed": 0, - "Acceleration": 0, - "DrawingElementIndex": 0, - "X": 0, - "Y": 0, - "PathAngle": 0, - "PathScale": 0, - "RepetitionCount": 0, - "ShouldLoop": false, - "DrawingPathOriginX": 0, - "DrawingPathOriginY": 0, - "DebugLineStrokeWidth": 0, - "PreviousSpeed": 0, - "CurrentLength": 0, - "IsLookingBack": false, - "Viewpoint": "Top-Down" + "description": "Time, in seconds", + "name": "TimeInSeconds", + "type": "expression" } ], - "animations": [ + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [], + "eventsBasedObjects": [] + }, + { + "author": "", + "category": "User interface", + "extensionNamespace": "", + "fullName": "Panel sprite button", + "helpPath": "/objects/button", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI5LDIzSDNjLTEuMSwwLTItMC45LTItMlYxMWMwLTEuMSwwLjktMiwyLTJoMjZjMS4xLDAsMiwwLjksMiwydjEwQzMxLDIyLjEsMzAuMSwyMywyOSwyM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMywxOUwxMywxOWMtMS4xLDAtMi0wLjktMi0ydi0yYzAtMS4xLDAuOS0yLDItMmgwYzEuMSwwLDIsMC45LDIsMnYyQzE1LDE4LjEsMTQuMSwxOSwxMywxOXoiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIxOCIgeTE9IjEzIiB4Mj0iMTgiIHkyPSIxOSIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjIxIiB5MT0iMTMiIHgyPSIxOCIgeTI9IjE3Ii8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMjEiIHkxPSIxOSIgeDI9IjE5IiB5Mj0iMTYiLz4NCjwvc3ZnPg0K", + "name": "PanelSpriteButton", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Interface Elements/Interface Elements_interface_ui_button_ok_cta_clock_tap.svg", + "shortDescription": "A button that can be customized.", + "version": "1.4.4", + "description": [ + "The button can be customized with a background for each state and a label. It handles user interactions and a simple condition can be used to check if it is clicked.", + "", + "There are ready-to-use buttons in the asset-store [menu buttons pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=menu-buttons-menu-buttons)." + ], + "origin": { + "identifier": "PanelSpriteButton", + "name": "gdevelop-extension-store" + }, + "tags": [ + "button", + "ui" + ], + "authorIds": [ + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" + ], + "dependencies": [], + "eventsFunctions": [], + "eventsBasedBehaviors": [ + { + "description": "The finite state machine used internally by the button object.", + "fullName": "Button finite state machine", + "name": "ButtonFSM", + "objectType": "", + "private": true, + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Finite state machine", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "The \"Validated\" state only last one frame." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Validated\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Idle\"" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Check position", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make sure the cursor position is only checked once per frame." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyMouseIsInside" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyShouldCheckHovering" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Object", + "MouseOnlyCursorX(Object.Layer(), 0)", + "MouseOnlyCursorY(Object.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyMouseIsInside" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Touches are always pressed, so ShouldCheckHovering doesn't matter." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyTouchId" + }, + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Object", + "TouchX(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)", + "TouchY(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Handle touch start", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "HasAnyTouchOrMouseStarted" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyIndex" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "StartedTouchOrMouseCount()", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Object", + "TouchX(StartedTouchOrMouseId(Object.Behavior::PropertyIndex()), Object.Layer(), 0)", + "TouchY(StartedTouchOrMouseId(Object.Behavior::PropertyIndex()), Object.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "StartedTouchOrMouseId(Object.Behavior::PropertyIndex())" + ] + }, + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Hovered\"" + ] + }, + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Idle\"" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"PressedInside\"" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyIndex" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Apply position changes", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PanelSpriteButton::ButtonFSM::PropertyMouseIsInside" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Hovered\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Idle\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyMouseIsInside" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Idle\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Hovered\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PanelSpriteButton::ButtonFSM::PropertyTouchIsInside" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"PressedInside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"PressedOutside\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyTouchIsInside" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"PressedOutside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"PressedInside\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Handle touch end", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "HasTouchEnded" + }, + "parameters": [ + "", + "Object.Behavior::PropertyTouchId()" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"PressedInside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Validated\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"PressedInside\"" + ] + }, + { + "type": { + "inverted": true, + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Validated\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Idle\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, { - "name": "NewSprite", - "useMultipleDirections": false, - "directions": [ + "fullName": "", + "functionType": "Action", + "name": "onDeActivate", + "sentence": "", + "events": [ { - "looping": false, - "metadata": "{\"pskl\":{}}", - "timeBetweenFrames": 0.08, - "sprites": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "hasCustomCollisionMask": false, - "image": "assets\\CarHitbox.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 32, - "y": 32 + "type": { + "value": "PanelSpriteButton::ButtonFSM::ResetState" }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Reset the state of the button.", + "fullName": "Reset state", + "functionType": "Action", + "name": "ResetState", + "private": true, + "sentence": "Reset the button state of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" }, - "customCollisionMask": [] + "parameters": [ + "Object", + "Behavior", + "=", + "\"Idle\"" + ] + }, + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] } ] } - ] - } - ] - }, - { - "assetStoreId": "", - "name": "Post", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 1, - "height": 1, - "depth": 38, - "enableTextureTransparency": false, - "frontFaceResourceName": "Grey", - "backFaceResourceName": "Grey", - "leftFaceResourceName": "Grey", - "rightFaceResourceName": "Grey", - "topFaceResourceName": "Grey", - "bottomFaceResourceName": "Grey", - "frontFaceVisible": true, - "backFaceVisible": true, - "leftFaceVisible": true, - "rightFaceVisible": true, - "topFaceVisible": true, - "bottomFaceVisible": false - } - }, - { - "assetStoreId": "", - "name": "FinishLine", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 2, - "height": 56, - "depth": 7, - "enableTextureTransparency": false, - "frontFaceResourceName": "", - "backFaceResourceName": "", - "leftFaceResourceName": "White", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": false, - "backFaceVisible": false, - "leftFaceVisible": true, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false - } - }, - { - "assetStoreId": "", - "height": 350, - "name": "SummerBackground", - "tags": "", - "texture": "Summer Background.png", - "type": "TiledSpriteObject::TiledSprite", - "width": 1280, - "variables": [], - "effects": [], - "behaviors": [ - { - "bottomEdgeAnchor": 0, - "leftEdgeAnchor": 1, - "name": "Anchor", - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 0, - "type": "AnchorBehavior::AnchorBehavior", - "useLegacyBottomAndRightAnchors": false - } - ] - }, - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "StartMessage", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Press any key\nto start", - "font": "", - "textAlignment": "center", - "characterSize": 48, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "name": "BlackBackground", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, { - "name": "", - "useMultipleDirections": false, - "directions": [ + "description": "Check if the button is not used.", + "fullName": "Is idle", + "functionType": "Condition", + "name": "IsIdle", + "sentence": "_PARAM0_ is idle", + "events": [ { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "hasCustomCollisionMask": false, - "image": "Black", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 + "parameters": [ + "Object", + "Behavior", + "=", + "\"Idle\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" }, - "customCollisionMask": [] + "parameters": [ + "True" + ] } ] } - ] - } - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "The \"Curved movement\" extension documentation explains how to build a path.\nhttps://wiki.gdevelop.io/gdevelop5/extensions/curved-movement/details", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "CurvedMovement::CreatePathFromSvg" - }, + ], "parameters": [ - "", - "\"Road\"", - "\"m1071 1021c141 123 380-47.8 535-7.68 155 40.1 209 215 371 212s405-139 463-287c58.6-148-127-283-105-394s194-86.3 166-218c-27.2-131-314-322-497-259-184 63.4-68.6 472-262 522-193 49.8-231-127-424-284s-505-185-701-154-626 136-563 335c62.5 199 783-195 945-51.2 162 144-69.4 461 71.7 584z\"", - "" - ] + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] }, { - "type": { - "value": "ModVarScene" - }, + "description": "Check if the button was just clicked.", + "fullName": "Is clicked", + "functionType": "Condition", + "name": "IsClicked", + "sentence": "_PARAM0_ is clicked", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Validated\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], "parameters": [ - "StartX", - "=", - "1071" - ] + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] }, { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "StartY", - "=", - "1021" - ] - } - ], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Create the player", - "source": "", - "type": "BuiltinCommonInstructions::Group", + "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": [], - "actions": [ + "conditions": [ { "type": { - "value": "Create" + "value": "PanelSpriteButton::ButtonFSM::PropertyState" }, "parameters": [ - "", - "Player", - "Variable(StartX)", - "Variable(StartY)", - "" + "Object", + "Behavior", + "=", + "\"Hovered\"" ] - }, + } + ], + "actions": [ { "type": { - "value": "Car::Car::SetRoad" + "value": "SetReturnBoolean" }, "parameters": [ - "Player", - "Car", - "\"Road\"", - "1" + "True" ] } ] } ], - "parameters": [] + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] }, { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Create opponents", - "source": "", - "type": "BuiltinCommonInstructions::Group", + "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": [], - "actions": [ + "conditions": [ { "type": { - "value": "ModVarScene" + "value": "PanelSpriteButton::ButtonFSM::PropertyState" }, "parameters": [ - "deltaPathPosition", + "Object", + "Behavior", "=", - "0" + "\"Hovered\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" ] } ] }, { - "type": "BuiltinCommonInstructions::Repeat", - "repeatExpression": "3", - "conditions": [], - "actions": [], - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "YellowOpponent", - "Variable(StartX)", - "Variable(StartY)", - "" - ] - }, - { - "type": { - "value": "Car::Car::SetRoad" - }, - "parameters": [ - "YellowOpponent", - "Car", - "\"Road\"", - "1" - ] - }, - { - "type": { - "value": "Car::Car::SetPosition" - }, - "parameters": [ - "YellowOpponent", - "Car", - "Variable(deltaPathPosition) + 100", - "6", - "" - ] - } + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"PressedOutside\"" ] - }, + } + ], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "BlueOpponent", - "Variable(StartX)", - "Variable(StartY)", - "" - ] - }, - { - "type": { - "value": "Car::Car::SetRoad" - }, - "parameters": [ - "BlueOpponent", - "Car", - "\"Road\"", - "1" - ] - }, - { - "type": { - "value": "Car::Car::SetPosition" - }, - "parameters": [ - "BlueOpponent", - "Car", - "Variable(deltaPathPosition) + 200", - "-6", - "" - ] - } + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "WhiteOpponent", - "Variable(StartX)", - "Variable(StartY)", - "" - ] - }, - { - "type": { - "value": "Car::Car::SetRoad" - }, - "parameters": [ - "WhiteOpponent", - "Car", - "\"Road\"", - "1" - ] - }, - { - "type": { - "value": "Car::Car::SetPosition" - }, - "parameters": [ - "WhiteOpponent", - "Car", - "Variable(deltaPathPosition) + 300", - "6", - "" - ] - } + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is currently being pressed with mouse or touch.", + "fullName": "Is pressed", + "functionType": "Condition", + "name": "IsPressed", + "sentence": "_PARAM0_ is pressed", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"PressedInside\"" ] - }, + } + ], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "GreenOpponent", - "Variable(StartX)", - "Variable(StartY)", - "" - ] - }, - { - "type": { - "value": "Car::Car::SetRoad" - }, - "parameters": [ - "GreenOpponent", - "Car", - "\"Road\"", - "1" - ] - }, - { - "type": { - "value": "Car::Car::SetPosition" - }, - "parameters": [ - "GreenOpponent", - "Car", - "Variable(deltaPathPosition) + 400", - "-6", - "" - ] - } + "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": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "BlackOpponent", - "Variable(StartX)", - "Variable(StartY)", - "" - ] - }, - { - "type": { - "value": "Car::Car::SetRoad" - }, - "parameters": [ - "BlackOpponent", - "Car", - "\"Road\"", - "1" - ] - }, - { - "type": { - "value": "Car::Car::SetPosition" - }, - "parameters": [ - "BlackOpponent", - "Car", - "Variable(deltaPathPosition) + 500", - "6", - "" - ] - } + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"PressedOutside\"" ] - }, + } + ], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "deltaPathPosition", - "+", - "500" - ] - } + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" ] } ] } ], - "parameters": [] + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] }, { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Create finish line", - "source": "", - "type": "BuiltinCommonInstructions::Group", + "description": "the touch id that is using the button or 0 if none.", + "fullName": "Touch id", + "functionType": "ExpressionAndCondition", + "name": "TouchId", + "sentence": "the touch id", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTouchId()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "true", + "type": "Boolean", + "label": "", + "description": "Should check hovering", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ShouldCheckHovering" + }, + { + "value": "Idle", + "type": "Choice", + "label": "State", + "description": "", + "group": "", + "extraInformation": [ + "Idle", + "Hovered", + "PressedInside", + "PressedOutside", + "Validated" + ], + "hidden": true, + "name": "State" + }, + { + "value": "0", + "type": "Number", + "label": "Touch id", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "TouchId" + }, + { + "value": "", + "type": "Boolean", + "label": "Touch is inside", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "TouchIsInside" + }, + { + "value": "", + "type": "Boolean", + "label": "Mouse is inside", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "MouseIsInside" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "Index" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [ + { + "defaultName": "Button", + "description": "A button that can be customized.", + "fullName": "Button (panel sprite)", + "name": "PanelSpriteButton", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "onCreated", + "sentence": "", "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create one background instance for of each state.\nOnly the instance for the current state is shown." + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -5827,7 +7313,7 @@ }, "parameters": [ "", - "Post", + "Idle", "0", "0", "" @@ -5835,40 +7321,23 @@ }, { "type": { - "value": "MettreAutour" + "value": "Create" }, "parameters": [ - "Post", - "Player", - "28", - "CurvedMovement::PathAngle(\"Road\", 0) + 90" + "", + "Hovered", + "0", + "0", + "" ] }, - { - "type": { - "value": "SetCenter" - }, - "parameters": [ - "Post", - "=", - "Post.X()", - "=", - "Post.Y()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ { "type": { "value": "Create" }, "parameters": [ "", - "Post", + "Pressed", "0", "0", "" @@ -5876,29 +7345,44 @@ }, { "type": { - "value": "MettreAutour" + "value": "Cache" }, "parameters": [ - "Post", - "Player", - "-28", - "CurvedMovement::PathAngle(\"Road\", 0) + 90" + "Hovered" ] }, { "type": { - "value": "SetCenter" + "value": "Cache" }, "parameters": [ - "Post", - "=", - "Post.X()", + "Pressed" + ] + }, + { + "type": { + "value": "ChangePlan" + }, + "parameters": [ + "Hovered", "=", - "Post.Y()" + "1" ] } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Place the label over the backgrounds." + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -5909,7 +7393,7 @@ }, "parameters": [ "", - "FinishLine", + "Label", "0", "0", "" @@ -5917,225 +7401,131 @@ }, { "type": { - "value": "SetCenter" + "value": "ChangePlan" }, "parameters": [ - "FinishLine", - "=", - "Player.CenterX()", + "Label", "=", - "Player.CenterY()" + "2" ] }, { "type": { - "value": "SetAngle" + "value": "TextObject::SetWrapping" }, "parameters": [ - "FinishLine", - "=", - "CurvedMovement::PathAngle(\"Road\", 0)" + "Label", + "yes" ] }, { "type": { - "value": "Scene3D::Cube3DObject::SetZ" + "value": "PanelSpriteButton::PanelSpriteButton::CenterLabel" }, "parameters": [ - "FinishLine", - "=", - "30" + "Object", + "" ] } ] } ], - "parameters": [] - } - ] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Wait to start", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "VarSceneTxt" - }, - "parameters": [ - "GameState", - "=", - "\"Started\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetCenterX" - }, - "parameters": [ - "StartMessage", - "=", - "SceneWindowWidth() / 2" - ] - }, + "parameters": [ { - "type": { - "value": "SetCenterX" - }, - "parameters": [ - "BlackBackground", - "=", - "SceneWindowWidth() / 2" - ] + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" } ], - "events": [ + "objectGroups": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ + "name": "Background", + "objects": [ { - "type": { - "value": "Opacity" - }, - "parameters": [ - "BlackBackground", - "=", - "128" - ] + "name": "Idle" }, { - "type": { - "value": "ShowLayer" - }, - "parameters": [ - "", - "\"UI\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "AnyKeyPressed" - }, - "parameters": [ - "" - ] - }, - { - "type": { - "value": "MouseButtonReleased" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "Gamepads::C_Any_Button_pressed" - }, - "parameters": [ - "", - "1", - "" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "HideLayer" - }, - "parameters": [ - "", - "\"UI\"" - ] + "name": "Hovered" }, { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "GameState", - "=", - "\"Started\"" - ] + "name": "Pressed" } ] } ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Game is started", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarSceneTxt" - }, - "parameters": [ - "GameState", - "=", - "\"Started\"" + "fullName": "", + "functionType": "Action", + "name": "onHotReloading", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::CenterLabel" + }, + "parameters": [ + "Object", + "" + ] + } ] } ], - "actions": [], + "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": "AI", + "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" @@ -6146,42 +7536,95 @@ "actions": [ { "type": { - "value": "Car::Car::SetIsAccelerating" + "value": "SetCenterY" }, "parameters": [ - "Opponent", - "Car", - "yes", - "" + "Label", + "=", + "Object.CenterWithPaddingY()" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { "type": { - "value": "Car::Car::RoadCenterDelta" + "value": "Montre" }, "parameters": [ - "Opponent", - "Car", - "<", - "-12", + "Idle", "" ] - } - ], - "actions": [ + }, { "type": { - "value": "Car::Car::TurnRight" + "value": "Cache" }, "parameters": [ - "Opponent", - "Car", - "" + "Pressed" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Visible" + }, + "parameters": [ + "Hovered" + ] + }, + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::PropertyHoveredFadeOutDuration" + }, + "parameters": [ + "Object", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "Tween::AddObjectOpacityTween" + }, + "parameters": [ + "Hovered", + "Tween", + "\"Fadeout\"", + "0", + "\"linear\"", + "Object.PropertyHoveredFadeOutDuration() * 1000", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::PropertyHoveredFadeOutDuration" + }, + "parameters": [ + "Object", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Hovered" + ] + } ] } ] @@ -6191,26 +7634,32 @@ "conditions": [ { "type": { - "value": "Car::Car::RoadCenterDelta" + "value": "PanelSpriteObject::Opacity" }, "parameters": [ - "Opponent", - "Car", - ">", - "12", - "" + "Hovered", + "=", + "0" ] } ], "actions": [ { "type": { - "value": "Car::Car::TurnLeft" + "value": "Cache" }, "parameters": [ - "Opponent", - "Car", - "" + "Hovered" + ] + }, + { + "type": { + "value": "PanelSpriteObject::SetOpacity" + }, + "parameters": [ + "Hovered", + "=", + "255" ] } ] @@ -6220,129 +7669,74 @@ "conditions": [ { "type": { - "value": "Car::Car::RoadCenterDelta" + "value": "PanelSpriteButton::PanelSpriteButton::IsHovered" }, "parameters": [ - "Opponent", - "Car", - ">", - "-6", - "" + "Object", + "ButtonFSM" ] }, { "type": { - "value": "Car::Car::RoadCenterDelta" + "value": "BuiltinCommonInstructions::Once" }, - "parameters": [ - "Opponent", - "Car", - "<", - "6", - "" - ] + "parameters": [] } ], "actions": [ { "type": { - "value": "Car::Car::GoStraight" + "value": "SetCenterY" }, "parameters": [ - "Opponent", - "Car", - "" + "Label", + "=", + "Object.CenterWithPaddingY()" ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Controls", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + }, { "type": { - "value": "Car::Car::SetIsAccelerating" + "value": "Cache" }, "parameters": [ - "Player", - "Car", - "", - "" + "Idle" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { "type": { - "value": "BuiltinCommonInstructions::Or" + "value": "Montre" }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "KeyPressed" - }, - "parameters": [ - "", - "Down" - ] - }, - { - "type": { - "value": "Gamepads::C_Button_pressed" - }, - "parameters": [ - "", - "1", - "\"LT\"", - "" - ] - } + "parameters": [ + "Hovered", + "" ] - } - ], - "actions": [ + }, { "type": { - "value": "Car::Car::SetIsAccelerating" + "value": "Cache" }, "parameters": [ - "Player", - "Car", - "no", - "" + "Pressed" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + }, { "type": { - "value": "Car::Car::GoStraight" + "value": "Tween::RemoveTween" }, "parameters": [ - "Player", - "Car", - "" + "Hovered", + "Tween", + "\"Fadeout\"" + ] + }, + { + "type": { + "value": "PanelSpriteObject::SetOpacity" + }, + "parameters": [ + "Hovered", + "=", + "255" ] } ] @@ -6352,110 +7746,53 @@ "conditions": [ { "type": { - "value": "BuiltinCommonInstructions::Or" + "value": "PanelSpriteButton::PanelSpriteButton::IsPressed" }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "KeyPressed" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "Gamepads::C_Button_pressed" - }, - "parameters": [ - "", - "1", - "\"Left\"", - "" - ] - }, - { - "type": { - "value": "Gamepads::C_Axis_pushed" - }, - "parameters": [ - "", - "1", - "\"Left\"", - "\"Left\"", - "" - ] - } + "parameters": [ + "Object", + "ButtonFSM" ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] } ], "actions": [ { "type": { - "value": "Car::Car::TurnLeft" + "value": "SetCenterY" }, "parameters": [ - "Player", - "Car", - "" + "Label", + "=", + "Object.CenterWithPaddingY() + Object.PropertyPressedLabelOffsetY()" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { "type": { - "value": "BuiltinCommonInstructions::Or" + "value": "Cache" }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "KeyPressed" - }, - "parameters": [ - "", - "Right" - ] - }, - { - "type": { - "value": "Gamepads::C_Button_pressed" - }, - "parameters": [ - "", - "1", - "\"Right\"", - "" - ] - }, - { - "type": { - "value": "Gamepads::C_Axis_pushed" - }, - "parameters": [ - "", - "1", - "\"Left\"", - "\"Right\"", - "" - ] - } + "parameters": [ + "Idle" ] - } - ], - "actions": [ + }, { "type": { - "value": "Car::Car::TurnRight" + "value": "Cache" }, "parameters": [ - "Player", - "Car", + "Hovered" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Pressed", "" ] } @@ -6466,110 +7803,54 @@ "conditions": [ { "type": { - "value": "MouseButtonPressed" + "value": "PanelSpriteButton::PanelSpriteButton::IsFocused" }, "parameters": [ - "", - "Left" + "Object", + "ButtonFSM" ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] } ], - "actions": [], - "events": [ + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CursorX" - }, - "parameters": [ - "", - "<", - "SceneWindowWidth() / 2", - "\"UI\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Car::Car::TurnLeft" - }, - "parameters": [ - "Player", - "Car", - "" - ] - } + "type": { + "value": "SetCenterY" + }, + "parameters": [ + "Label", + "=", + "Object.CenterWithPaddingY()" ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CursorX" - }, - "parameters": [ - "", - ">=", - "SceneWindowWidth() / 2", - "\"UI\"", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Car::Car::TurnRight" - }, - "parameters": [ - "Player", - "Car", - "" - ] - } + "type": { + "value": "Cache" + }, + "parameters": [ + "Idle" ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Movement", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + }, { "type": { - "value": "Car::Car::Move" + "value": "Montre" }, "parameters": [ - "Player", - "Car", + "Hovered", "" ] }, { "type": { - "value": "Car::Car::Move" + "value": "Cache" }, "parameters": [ - "Opponent", - "Car", - "" + "Pressed" ] } ] @@ -6582,7 +7863,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Car collision", + "name": "Resize", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -6596,171 +7877,100 @@ "textG": 0, "textR": 0 }, - "comment": "The CarHitBox object is used to check the collision between 2 cars.\nOtherwise, it's not possible to apply a different action on the car in front and the one behind.", - "comment2": "" + "comment": "Children instances must be resized when the button size change:\n- backgrounds for each state are resized to take the full dimensions of the button\n- the label is put back at the center of the button\n\nThe scale is set back to 1 because it means that the parent instance has the same dimensions as the union of its children instances." }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "BuiltinCommonInstructions::Once" + "value": "BuiltinCommonInstructions::Or" }, - "parameters": [] + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Width()", + "!=", + "max(Idle.BoundingBoxRight(), Label.BoundingBoxRight()) - min(Idle.BoundingBoxLeft(), Label.BoundingBoxLeft())" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Height()", + "!=", + "max(Idle.BoundingBoxBottom(), Label.BoundingBoxBottom()) - min(Idle.BoundingBoxTop(), Label.BoundingBoxTop())" + ] + } + ] } ], "actions": [ { "type": { - "value": "Create" + "value": "ModVarObjet" }, "parameters": [ - "", - "CarHitBox", - "0", - "0", - "" + "Idle", + "Width", + "=", + "Object.Width()" ] }, { "type": { - "value": "Cache" + "value": "ModVarObjet" }, "parameters": [ - "CarHitBox" + "Idle", + "Height", + "=", + "Object.Height()" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "Car", - "conditions": [], - "actions": [ + }, { "type": { - "value": "SetCenter" + "value": "PanelSpriteButton::Scale" }, "parameters": [ - "CarHitBox", - "=", - "Car.CenterX()", + "Object", "=", - "Car.CenterY()" + "1" ] }, { "type": { - "value": "SetAngle" + "value": "PanelSpriteObject::Width" }, "parameters": [ - "CarHitBox", + "Background", "=", - "Car.Angle()" + "Idle.Variable(Width)" ] }, { "type": { - "value": "ModVarScene" + "value": "PanelSpriteObject::Height" }, "parameters": [ - "positionOnPath", + "Background", "=", - "Car.SpeedPathMovement::PositionOnPath()" + "Idle.Variable(Height)" ] }, { "type": { - "value": "AjoutObjConcern" + "value": "PanelSpriteButton::PanelSpriteButton::CenterLabel" }, "parameters": [ - "", - "Car" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "Car", - "conditions": [ - { - "type": { - "value": "CollisionNP" - }, - "parameters": [ - "Car", - "CarHitBox", - "", - "", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::PositionOnPath" - }, - "parameters": [ - "Car", - "SpeedPathMovement", - "<", - "Variable(positionOnPath)", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::SetSpeed" - }, - "parameters": [ - "Car", - "SpeedPathMovement", - "=", - "max(0, Car.SpeedPathMovement:: Speed() - 100)", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::PositionOnPath" - }, - "parameters": [ - "Car", - "SpeedPathMovement", - ">", - "Variable(positionOnPath)", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::SetSpeed" - }, - "parameters": [ - "Car", - "SpeedPathMovement", - "=", - "min(2 * Car.Car::MaxSpeed(), Car.SpeedPathMovement:: Speed() + 100)", - "" - ] - } - ] - } + "Object", + "" ] } ] @@ -6768,272 +7978,439 @@ ], "parameters": [] } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [ + { + "name": "Background", + "objects": [ + { + "name": "Idle" + }, + { + "name": "Hovered" + }, + { + "name": "Pressed" + } + ] + } ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Camera", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "description": "Check if the button is not used.", + "fullName": "Is idle", + "functionType": "Condition", + "name": "IsIdle", + "sentence": "_PARAM0_ is idle", + "events": [ { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::IsIdle" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } ] } ], - "actions": [ + "parameters": [ { - "type": { - "value": "Cache" - }, - "parameters": [ - "Camera" - ] - }, + "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": { - "value": "Scene3D::SetCameraZ" - }, - "parameters": [ - "", - "=", - "12", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::IsClicked" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } ] - }, + } + ], + "parameters": [ { - "type": { - "value": "Scene3D::SetCameraZ" - }, - "parameters": [ - "", - "=", - "12", - "\"Ground\"", - "" - ] + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" } - ] + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "3rd person camera", - "comment2": "" + "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": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "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": { - "value": "MettreAutour" - }, - "parameters": [ - "Camera", - "Player", - "-28", - "Player.Angle()" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::IsFocused" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } ] - }, + } + ], + "parameters": [ { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Camera", - "=", - "Player.Angle()" - ] - }, + "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": { - "value": "CentreCamera" - }, - "parameters": [ - "", - "Camera", - "", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::IsPressed" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } ] - }, + } + ], + "parameters": [ { - "type": { - "value": "CentreCamera" - }, - "parameters": [ - "", - "Camera", - "", - "\"Ground\"", - "" - ] + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" } - ] + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "description": "Change the text of the button label.", + "fullName": "Label text", + "functionType": "Action", + "name": "SetLabelText", + "sentence": "Change the text of _PARAM0_ to _PARAM1_", + "events": [ { - "type": { - "value": "Scene3D::TurnCameraTowardPosition" - }, - "parameters": [ - "", - "Player.CenterX()", - "Player.CenterY()", - "8", - "", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "Label", + "=", + "GetArgumentAsString(\"LabelText\")" + ] + }, + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::CenterLabel" + }, + "parameters": [ + "Object", + "" + ] + } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" }, { - "type": { - "value": "Scene3D::TurnCameraTowardPosition" - }, - "parameters": [ - "", - "Player.CenterX()", - "Player.CenterY()", - "8", - "\"Ground\"", - "", - "" - ] + "description": "Text", + "name": "LabelText", + "type": "string" } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make the background rotate with the camera.", - "comment2": "" + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "description": "Return the label text.", + "fullName": "Label text", + "functionType": "StringExpression", + "name": "LabelText", + "sentence": "", + "events": [ { - "type": { - "value": "TiledSpriteObject::XOffset" - }, - "parameters": [ - "SummerBackground", - "=", - "CameraAngle() / (2 * Scene3D::CameraFov()) * 1280" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnString" + }, + "parameters": [ + "Label.String()" + ] + } ] } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Player car animation", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Car::Car::IsOnRoad" - }, - "parameters": [ - "Player", - "Car", - "" - ] - }, + ], + "expressionType": { + "type": "string" + }, + "parameters": [ { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" } ], - "actions": [ + "objectGroups": [] + }, + { + "description": "Return the label center Y according to the button configuration. This expression is used in doStepPostEvents when the button is pressed or released.", + "fullName": "", + "functionType": "Expression", + "name": "CenterWithPaddingY", + "private": true, + "sentence": "", + "events": [ { - "type": { - "value": "ShakeObject3D::ShakeModel3D::StopShaking" - }, - "parameters": [ - "Player", - "ShakeModel3D", - "0.5", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Idle.CenterY() + (Object.PropertyTopPadding() - Object.PropertyBottomPadding()) / 2" + ] + } ] } - ] + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "description": "Center the label according to the button configuration. This is used in doStepPostEvents when the button is resized.", + "fullName": "", + "functionType": "Action", + "name": "CenterLabel", + "private": true, + "sentence": "Center the label of _PARAM0_", + "events": [ { - "type": { - "inverted": true, - "value": "Car::Car::IsOnRoad" - }, - "parameters": [ - "Player", - "Car", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "MettreXY" + }, + "parameters": [ + "Label", + "=", + "Object.PropertyLeftPadding()", + "=", + "Object.PropertyTopPadding()" + ] + }, + { + "type": { + "value": "TextObject::WrappingWidth" + }, + "parameters": [ + "Label", + "=", + "Idle.Width() - Object.PropertyLeftPadding() - Object.PropertyRightPadding()" + ] + }, + { + "type": { + "value": "SetCenterY" + }, + "parameters": [ + "Label", + "=", + "Object.CenterWithPaddingY()" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetCenterX" + }, + "parameters": [ + "Label", + "=", + "Background.CenterX() + (Object.PropertyLeftPadding() - Object.PropertyRightPadding()) / 2" + ] + } + ] + } ] }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [], - "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "inverted": true, - "value": "DepartScene" + "value": "PanelSpriteButton::PanelSpriteButton::IsPressed" }, "parameters": [ + "Object", "" ] } @@ -7041,330 +8418,325 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::StartShaking" + "value": "MettreY" }, "parameters": [ - "Player", - "ShakeModel3D", - "1", - "" + "Label", + "+", + "Object.PropertyPressedLabelOffsetY()" ] } ] } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + ], + "parameters": [ { - "type": { - "value": "ShakeObject3D::ShakeModel3D::SetFrequency" - }, - "parameters": [ - "Player", - "ShakeModel3D", - "=", - "10 * Player.SpeedPathMovement::Speed() / 250", - "" + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [ + { + "name": "Background", + "objects": [ + { + "name": "Idle" + }, + { + "name": "Hovered" + }, + { + "name": "Pressed" + } ] } ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "description": "De/activate interactions with the button.", + "fullName": "De/activate interactions", + "functionType": "Action", + "name": "Activate", + "sentence": "Activate interactions with _PARAM0_: _PARAM1_", + "events": [ { - "type": { - "value": "Car::Car::TurnSpeed" - }, - "parameters": [ - "Player", - "Car", - "<", - "0", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"ShouldActivate\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "yes" + ] + } ] }, { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"ShouldActivate\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "no" + ] + } + ] } ], - "actions": [ + "parameters": [ { - "type": { - "value": "Tween::TweenSceneVariableNumber2" - }, - "parameters": [ - "", - "\"CarRotation\"", - "CarRotation", - "-10", - "500", - "\"easeOutCubic\"" - ] + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + }, + { + "description": "Activate", + "name": "ShouldActivate", + "type": "yesorno" } - ] + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "description": "Check if interactions are activated on the button.", + "fullName": "Interactions activated", + "functionType": "Condition", + "name": "IsActivated", + "sentence": "Interactions on _PARAM0_ are activated", + "events": [ { - "type": { - "value": "Car::Car::TurnSpeed" - }, - "parameters": [ - "Player", - "Car", - ">", - "0", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BehaviorActivated" + }, + "parameters": [ + "Idle", + "ButtonFSM" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] } ], - "actions": [ + "parameters": [ { - "type": { - "value": "Tween::TweenSceneVariableNumber2" - }, - "parameters": [ - "", - "\"CarRotation\"", - "CarRotation", - "10", - "500", - "\"easeOutCubic\"" - ] + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" } - ] + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "0", + "type": "Number", + "label": "Label offset on Y axis when pressed", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "PressedLabelOffsetY" + }, + { + "value": "0", + "type": "Number", + "label": "Left padding", + "description": "", + "group": "Padding", + "extraInformation": [ + "Label" + ], + "hidden": false, + "name": "LeftPadding" + }, + { + "value": "0", + "type": "Number", + "label": "Right padding", + "description": "", + "group": "Padding", + "extraInformation": [ + "Label" + ], + "hidden": false, + "name": "RightPadding" + }, + { + "value": "0", + "type": "Number", + "label": "Top padding", + "description": "", + "group": "Padding", + "extraInformation": [ + "Label" + ], + "hidden": false, + "name": "TopPadding" }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Car::Car::TurnSpeed" - }, - "parameters": [ - "Player", - "Car", - "=", - "0", - "" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] + "value": "0", + "type": "Number", + "label": "Bottom padding", + "description": "", + "group": "Padding", + "extraInformation": [ + "Label" + ], + "hidden": false, + "name": "BottomPadding" + }, + { + "value": "0.25", + "type": "Number", + "label": "Hovered fade out duration (in seconds)", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "HoveredFadeOutDuration" + } + ], + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Text", + "font": "", + "textAlignment": "", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Idle", + "rightMargin": 0, + "tags": "", + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [ + { + "folded": true, + "name": "State", + "type": "string", + "value": "Idle" } ], - "actions": [ + "effects": [], + "behaviors": [ { - "type": { - "value": "Tween::TweenSceneVariableNumber2" - }, - "parameters": [ - "", - "\"CarRotation\"", - "CarRotation", - "0", - "500", - "\"easeOutCubic\"" - ] + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "ShouldCheckHovering": true } ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Player", - "+", - "Variable(CarRotation)" - ] + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Hovered", + "rightMargin": 0, + "tags": "", + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Tween", + "type": "Tween::TweenBehavior" } ] - } - ], - "parameters": [] - } - ], - "layers": [ - { - "ambientLightColorB": 9795840, - "ambientLightColorG": 11861976, - "ambientLightColorR": 6069632, - "camera3DFarPlaneDistance": 2000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "Background", - "renderingType": "2d", - "visibility": true, - "cameras": [], - "effects": [] - }, - { - "ambientLightColorB": 28, - "ambientLightColorG": 6069520, - "ambientLightColorR": 9878816, - "camera3DFarPlaneDistance": 2000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "Ground", - "renderingType": "3d", - "visibility": true, - "cameras": [], - "effects": [ - { - "effectType": "Scene3D::ExponentialFog", - "name": "Effect", - "doubleParameters": { - "density": 0.0012 - }, - "stringParameters": { - "color": "142;240;193" - }, - "booleanParameters": {} - } - ] - }, - { - "ambientLightColorB": 7345456, - "ambientLightColorG": 150995054, - "ambientLightColorR": 1869182049, - "camera3DFarPlaneDistance": 2000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "3d", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [ - { - "effectType": "Scene3D::ExponentialFog", - "name": "Effect", - "doubleParameters": { - "density": 0.0012 - }, - "stringParameters": { - "color": "142;240;193" - }, - "booleanParameters": {} - }, - { - "effectType": "Scene3D::AmbientLight", - "name": "AmbientLight", - "doubleParameters": { - "intensity": 0.75 - }, - "stringParameters": { - "color": "232;244;255" - }, - "booleanParameters": {} }, { - "effectType": "Scene3D::DirectionalLight", - "name": "DirectionalLight", - "doubleParameters": { - "elevation": 90, - "intensity": 0.5, - "originX": 0, - "originY": 0, - "originZ": 1, - "rotation": 0, - "targetX": 0, - "targetY": 0, - "targetZ": 0 - }, - "stringParameters": { - "color": "255;255;255", - "top": "Z+" - }, - "booleanParameters": {} + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Pressed", + "rightMargin": 0, + "tags": "", + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [] } ] - }, - { - "ambientLightColorB": 1651340654, - "ambientLightColorG": 10612576, - "ambientLightColorR": 6069632, - "camera3DFarPlaneDistance": 2000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "UI", - "renderingType": "2d", - "visibility": false, - "cameras": [], - "effects": [] - } - ], - "behaviorsSharedData": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior" - }, - { - "name": "Billboard", - "type": "Billboard::Billboard" - }, - { - "name": "Car", - "type": "Car::Car" - }, - { - "name": "ShakeModel3D", - "type": "ShakeObject3D::ShakeModel3D", - "EasingFactor": 0 - }, - { - "name": "SpeedPathMovement", - "type": "CurvedMovement::SpeedPathMovement" } ] - } - ], - "externalEvents": [], - "eventsFunctionsExtensions": [ + }, { "author": "Bouh", "category": "Input", @@ -10779,7 +12151,7 @@ "name": "ShakeObject3D", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/vector-difference-ab.svg", "shortDescription": "Shake 3D objects.", - "version": "1.0.0", + "version": "1.0.1", "description": "Shake 3D objects with translation and rotation.", "tags": [ "shaking", @@ -12074,8 +13446,7 @@ "textG": 0, "textR": 0 }, - "comment": "Step time counters.", - "comment2": "" + "comment": "Step time counters." }, { "type": "BuiltinCommonInstructions::Standard", @@ -12230,8 +13601,7 @@ "textG": 0, "textR": 0 }, - "comment": "Shake the layer camera.\nSave the camera displacement to revert it in onScenePostEvents.", - "comment2": "" + "comment": "Shake the layer camera.\nSave the camera displacement to revert it in onScenePostEvents." }, { "type": "BuiltinCommonInstructions::Standard", @@ -12502,8 +13872,7 @@ "textG": 0, "textR": 0 }, - "comment": "Revert the shaking.", - "comment2": "" + "comment": "Revert the shaking." }, { "type": "BuiltinCommonInstructions::Standard", @@ -13207,7 +14576,7 @@ "name": "RotationAmplitudeZ" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -13217,7 +14586,7 @@ "name": "Time" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -13227,7 +14596,7 @@ "name": "Duration" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -13237,7 +14606,7 @@ "name": "StartEasingDuration" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -13247,7 +14616,7 @@ "name": "StopEasingDuration" }, { - "value": "", + "value": "5", "type": "Number", "label": "Frequency", "description": "", @@ -13257,7 +14626,7 @@ "name": "Frequency" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -13267,7 +14636,7 @@ "name": "DeltaX" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -13277,7 +14646,7 @@ "name": "DeltaY" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -13287,7 +14656,7 @@ "name": "DeltaZ" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -13297,7 +14666,7 @@ "name": "DeltaAngleX" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -13307,7 +14676,7 @@ "name": "DeltaAngleY" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -13317,7 +14686,7 @@ "name": "DeltaAngleZ" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -13362,8 +14731,7 @@ "textG": 0, "textR": 0 }, - "comment": "Step time counters.", - "comment2": "" + "comment": "Step time counters." }, { "type": "BuiltinCommonInstructions::Standard", @@ -13379,35 +14747,35 @@ "+", "TimeDelta()" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyNoiseTime" + "value": "ShakeObject3D::ShakeModel3D::IsShaking" }, "parameters": [ "Object", "Behavior", - "+", - "TimeDelta() * Object.Behavior::Frequency()" + "" ] } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + ], + "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::IsShaking" + "value": "ShakeObject3D::ShakeModel3D::SetPropertyNoiseTime" }, "parameters": [ "Object", "Behavior", - "" + "+", + "TimeDelta() * Object.Behavior::Frequency()" ] - } - ], - "actions": [ + }, { "type": { "value": "ShakeObject3D::ShakeModel3D::SetSharedPropertyEasingFactor" @@ -13416,98 +14784,11 @@ "Object", "Behavior", "=", - "1" + "min(Object.Behavior::StartEasingFactor(), Object.Behavior::StopEasingFactor())" ] } ], "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTime" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyStartEasingDuration()" - ] - }, - { - "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTime" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyDuration() - Object.Behavior::PropertyStopEasingDuration()" - ] - } - ], - "actions": [ - { - "type": { - "value": "ShakeObject3D::ShakeModel3D::SetSharedPropertyEasingFactor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "clamp(0, 1, Object.Behavior::PropertyTime() / Object.Behavior::PropertyStartEasingDuration())" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTime" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "Object.Behavior::PropertyDuration() - Object.Behavior::PropertyStopEasingDuration()" - ] - } - ], - "actions": [ - { - "type": { - "value": "ShakeObject3D::ShakeModel3D::SetSharedPropertyEasingFactor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "clamp(0, 1, (Object.Behavior::PropertyDuration() - Object.Behavior::PropertyTime()) / Object.Behavior::PropertyStopEasingDuration())" - ] - } - ] - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ShakeObject3D::SetFrequency" - }, - "parameters": [ - "", - "Object.Behavior::PropertyFrequency()", - "\"\"", - "" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Comment", "color": { @@ -13518,8 +14799,7 @@ "textG": 0, "textR": 0 }, - "comment": "Shake the layer camera.\nSave the camera displacement to revert it in onScenePostEvents.", - "comment2": "" + "comment": "Shake the layer camera.\nSave the camera displacement to revert it in onScenePostEvents." }, { "type": "BuiltinCommonInstructions::Standard", @@ -13790,8 +15070,7 @@ "textG": 0, "textR": 0 }, - "comment": "Revert the shaking.", - "comment2": "" + "comment": "Revert the shaking." }, { "type": "BuiltinCommonInstructions::Standard", @@ -14260,18 +15539,187 @@ }, { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyStopEasingDuration" + "value": "ShakeObject3D::ShakeModel3D::SetPropertyStopEasingDuration" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"EaseDuration\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Scene3D::Model3DObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "ShakeObject3D::ShakeModel3D", + "type": "behavior" + }, + { + "description": "Ease duration (in seconds)", + "name": "EaseDuration", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the object is shaking.", + "fullName": "Is shaking", + "functionType": "Condition", + "name": "IsShaking", + "sentence": "_PARAM0_ is shaking", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::PropertyTime" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyDuration()" + ] + }, + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::PropertyTime" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Scene3D::Model3DObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "ShakeObject3D::ShakeModel3D", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the object is stopping to shake.", + "fullName": "Is stopping to shake", + "functionType": "Condition", + "name": "IsStopping", + "sentence": "_PARAM0_ is stopping to shake", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::IsShaking" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::StopEasingFactor" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "1", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Scene3D::Model3DObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "ShakeObject3D::ShakeModel3D", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the shaking frequency of the object.", + "fullName": "Shaking frequency", + "functionType": "ExpressionAndCondition", + "group": "ShakeObject3D configuration", + "name": "Frequency", + "sentence": "the shaking frequency", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" }, "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"EaseDuration\")" + "Object.Behavior::PropertyFrequency()" ] } ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { "description": "Object", @@ -14284,44 +15732,30 @@ "name": "Behavior", "supplementaryInformation": "ShakeObject3D::ShakeModel3D", "type": "behavior" - }, - { - "description": "Ease duration (in seconds)", - "name": "EaseDuration", - "type": "expression" } ], "objectGroups": [] }, { - "description": "Check if the object is shaking.", - "fullName": "Is shaking", - "functionType": "Condition", - "name": "IsShaking", - "sentence": "_PARAM0_ is shaking", + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "Frequency", + "name": "SetFrequency", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTime" + "value": "ShakeObject3D::ShakeModel3D::SetPropertyFrequency" }, "parameters": [ "Object", "Behavior", - "<", - "Object.Behavior::PropertyDuration()" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" + "=", + "GetArgumentAsNumber(\"Value\")" ] } ] @@ -14344,23 +15778,61 @@ "objectGroups": [] }, { - "description": "the shaking frequency of the object.", - "fullName": "Shaking frequency", - "functionType": "ExpressionAndCondition", - "group": "ShakeObject3D configuration", - "name": "Frequency", - "sentence": "the shaking frequency", + "description": "Return the easing factor according to start properties.", + "fullName": "Start easing factor", + "functionType": "Expression", + "name": "StartEasingFactor", + "private": true, + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::PropertyStartEasingDuration" + }, + "parameters": [ + "Object", + "Behavior", + "<=", + "0" + ] + } + ], "actions": [ { "type": { "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyFrequency()" + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::PropertyStartEasingDuration" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "clamp(Object.Behavior::PropertyTime() / Object.Behavior::PropertyStartEasingDuration(), 0, 1)" ] } ] @@ -14386,30 +15858,114 @@ "objectGroups": [] }, { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "Frequency", - "name": "SetFrequency", - "sentence": "", + "description": "Return the easing factor according to stop properties.", + "fullName": "Stop easing factor", + "functionType": "ExpressionAndCondition", + "name": "StopEasingFactor", + "private": true, + "sentence": "stop easing factor", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyFrequency" + "value": "ShakeObject3D::ShakeModel3D::PropertyStopEasingDuration" }, "parameters": [ "Object", "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" + "<=", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::PropertyTime" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyDuration()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::PropertyTime" + }, + "parameters": [ + "Object", + "Behavior", + ">=", + "Object.Behavior::PropertyDuration()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "0" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ShakeObject3D::ShakeModel3D::PropertyStopEasingDuration" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "clamp((Object.Behavior::PropertyDuration() - Object.Behavior::PropertyTime()) / Object.Behavior::PropertyStopEasingDuration(), 0, 1)" ] } ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { "description": "Object", @@ -14495,7 +16051,7 @@ "name": "RotationAmplitudeZ" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -14505,7 +16061,7 @@ "name": "Time" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -14515,7 +16071,7 @@ "name": "Duration" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -14525,7 +16081,7 @@ "name": "StartEasingDuration" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -14535,7 +16091,7 @@ "name": "StopEasingDuration" }, { - "value": "", + "value": "5", "type": "Number", "label": "Frequency", "description": "", @@ -14545,7 +16101,7 @@ "name": "Frequency" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -14555,7 +16111,7 @@ "name": "DeltaX" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -14565,7 +16121,7 @@ "name": "DeltaY" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -14575,7 +16131,7 @@ "name": "DeltaZ" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -14585,7 +16141,7 @@ "name": "DeltaAngleX" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -14595,7 +16151,7 @@ "name": "DeltaAngleY" }, { - "value": "", + "value": "0", "type": "Number", "label": "", "description": "", @@ -14605,7 +16161,7 @@ "name": "DeltaAngleZ" }, { - "value": "", + "value": "123456789", "type": "Number", "label": "", "description": "", @@ -14641,7 +16197,7 @@ "name": "CurvedMovement", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Graphic Design/Graphic Design_bezier_curve.svg", "shortDescription": "Move objects on curved paths.", - "version": "1.0.2", + "version": "1.1.0", "description": [ "This extension allows to move objects on Bézier curve paths.", "- Paths can be built dynamically or from predetermined paths in SVG format.", @@ -14653,7 +16209,11 @@ "- Move enemies that follow a pattern", "- Animate decorations", "", - "A collection of [small examples](https://editor.gdevelop.io/?project=example://curved-movement) show how to use this extension." + "A collection of [small examples](https://editor.gdevelop.io/?project=example://curved-movement) shows how to use this extension.", + "", + "2 examples use it:", + "- a 3D racing game ([open the project online](https://editor.gdevelop.io/?project=example://3d-racing-game))", + "- a Zuma-like ([open the project online](https://editor.gdevelop.io/?project=example://smoothy))" ], "origin": { "identifier": "CurvedMovement", @@ -14922,10 +16482,10 @@ " const clone = curve.clone();", " for (const point of clone.points) {", " point[0] += endX;", - " point[1] *= path.scaleY / this.speedScaleY;", + " point[1] *= path.speedScaleY / this.speedScaleY;", " point[1] += endY;", " }", - " this.add(clone);", + " this._add(clone);", " }", " };", "", @@ -15152,8 +16712,17 @@ " * @param {number} angle", " */", " CurvedPath.prototype.rotate = function (angle) {", - " const cos = Math.cos(angle);", - " const sin = Math.sin(angle);", + " let cos = Math.cos(angle);", + " let sin = Math.sin(angle);", + "", + " // Avoid rounding errors around 0.", + " if (cos === -1 || cos === 1) {", + " sin = 0;", + " }", + " if (sin === -1 || sin === 1) {", + " cos = 0;", + " }", + " ", " for (const curve of this.curves) {", " for (const point of curve.points) {", " const x = point[0];", @@ -15265,6 +16834,7 @@ " const clone = new CubicBezierCurve();", " clone.points = this.points.map(point => [...point]);", " clone.arcLengths = [...this.arcLengths];", + " clone.speedScaleY = this.speedScaleY;", " return clone;", " }", "", @@ -15599,14 +17169,14 @@ " * @param {CurvedPath} path", " */", "CurvedPath.toSvg = function (path) {", - " let svgString = 'C';", + " let svgString = '';", " for (const curve of path.curves) {", + " svgString += 'C'", " for (const point of curve.points) {", - " svgString += `${point[0]},${point[0]}`;", + " svgString += `${point[0]},${point[1]} `;", " }", - " svgString += ' ';", " }", - " return path;", + " return svgString;", "}", "", "gdjs.__curvedMovementExtension = gdjs.__curvedMovementExtension || {};", @@ -16023,28 +17593,70 @@ "objectGroups": [] }, { - "description": "Append a path to another path.", - "fullName": "Append a path", + "description": "Append a path to another path.", + "fullName": "Append a path", + "functionType": "Action", + "name": "AppendPath", + "sentence": "Append the path _PARAM2_ to the path _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const modifiedPathName = eventsFunctionContext.getArgument(\"ModifiedPathName\");", + "const addedPathName = eventsFunctionContext.getArgument(\"AddedPathName\");", + "/** @type {Map} */", + "const curvedPaths = runtimeScene.__curvedMovementExtension.curvedPaths;", + "", + "let addedPath = curvedPaths.get(addedPathName);", + "if (addedPath) {", + " let modifiedPath = curvedPaths.get(modifiedPathName);", + " if (!modifiedPath) {", + " modifiedPath = new gdjs.__curvedMovementExtension.CurvedPath();", + " curvedPaths.set(modifiedPathName, modifiedPath);", + " }", + " modifiedPath.append(addedPath);", + "}" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "Name of the path to modify", + "name": "ModifiedPathName", + "supplementaryInformation": "sceneBezierCurve", + "type": "identifier" + }, + { + "description": "Name of the path to add to the first one", + "name": "AddedPathName", + "supplementaryInformation": "sceneBezierCurve", + "type": "identifier" + } + ], + "objectGroups": [] + }, + { + "description": "Duplicate a path.", + "fullName": "Duplicate a path", "functionType": "Action", - "name": "AppendPath", - "sentence": "Append the path _PARAM2_ to the path _PARAM1_", + "name": "DuplicatedPath", + "sentence": "Create path _PARAM1_ as a duplicate of path _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::JsCode", "inlineCode": [ - "const modifiedPathName = eventsFunctionContext.getArgument(\"ModifiedPathName\");", - "const addedPathName = eventsFunctionContext.getArgument(\"AddedPathName\");", + "const createdPathName = eventsFunctionContext.getArgument(\"CreatedPathName\");", + "const sourcePathName = eventsFunctionContext.getArgument(\"SourcePathName\");", "/** @type {Map} */", "const curvedPaths = runtimeScene.__curvedMovementExtension.curvedPaths;", "", - "let addedPath = curvedPaths.get(addedPathName);", - "if (addedPath) {", - " let modifiedPath = curvedPaths.get(modifiedPathName);", - " if (!modifiedPath) {", - " modifiedPath = new gdjs.__curvedMovementExtension.CurvedPath();", - " curvedPaths.set(modifiedPathName, modifiedPath);", - " }", - " modifiedPath.append(addedPath);", + "let sourcePath = curvedPaths.get(sourcePathName);", + "if (sourcePath) {", + " const createdPath = sourcePath.clone();", + " curvedPaths.set(createdPathName, createdPath);", "}" ], "parameterObjects": "", @@ -16054,14 +17666,14 @@ ], "parameters": [ { - "description": "Name of the path to modify", - "name": "ModifiedPathName", + "description": "Name of the path to create", + "name": "CreatedPathName", "supplementaryInformation": "sceneBezierCurve", "type": "identifier" }, { - "description": "Name of the path to add to the first one", - "name": "AddedPathName", + "description": "Name of the source path", + "name": "SourcePathName", "supplementaryInformation": "sceneBezierCurve", "type": "identifier" } @@ -19738,8 +21350,7 @@ "textG": 0, "textR": 0 }, - "comment": "Update speed", - "comment2": "" + "comment": "Update speed" }, { "type": "BuiltinCommonInstructions::Standard", @@ -19821,8 +21432,7 @@ "textG": 0, "textR": 0 }, - "comment": "Update the position on the path (the current length) with a Verlet integration.", - "comment2": "" + "comment": "Update the position on the path (the current length) with a Verlet integration." }, { "type": "BuiltinCommonInstructions::Standard", @@ -19852,8 +21462,7 @@ "textG": 0, "textR": 0 }, - "comment": "It's useful to know which way to look at when the speed reached 0.", - "comment2": "" + "comment": "It's useful to know which way to look at when the speed reached 0." }, { "type": "BuiltinCommonInstructions::Standard", @@ -20134,8 +21743,7 @@ "textG": 0, "textR": 0 }, - "comment": "When the path is close or empty, there is no way to reach a destination", - "comment2": "" + "comment": "When the path is close or empty, there is no way to reach a destination" }, { "type": "BuiltinCommonInstructions::Standard", @@ -20351,11 +21959,91 @@ "objectGroups": [] }, { - "description": "the length between the trajectory origin and the current position.", + "description": "the length between the trajectory origin and the current position without counting the loops.", + "fullName": "Position on the loop", + "functionType": "ExpressionAndCondition", + "name": "PositionOnLoop", + "sentence": "the length from the trajectory origin in the current loop", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "mod(Object.Behavior::PropertyCurrentLength(), Object.Behavior::TotalLength())" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "CurvedMovement::SpeedPathMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the number time the object loop the trajectory.", + "fullName": "Current loop", + "functionType": "ExpressionAndCondition", + "name": "Loop", + "sentence": "the current loop", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "ceil(Object.Behavior::PropertyCurrentLength() / Object.Behavior::TotalLength())" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "CurvedMovement::SpeedPathMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the length between the trajectory origin and the current position counting the loops.", "fullName": "Position on the path", "functionType": "ExpressionAndCondition", "name": "PositionOnPath", - "sentence": "the length from the trajectory origin", + "sentence": "the length from the trajectory origin counting the loops", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20448,7 +22136,7 @@ "Object", "Behavior", "=", - "mod(GetArgumentAsNumber(\"Value\"), Object.Behavior::TotalLength())" + "GetArgumentAsNumber(\"Value\")" ] } ] @@ -20585,6 +22273,7 @@ "fullName": "Current length", "functionType": "Condition", "name": "CheckPositionOnPath", + "private": true, "sentence": "_PARAM0_ is less than _PARAM2_ pixels away from the trajectory origin", "events": [ { @@ -20595,7 +22284,7 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "Object.Behavior::PositionOnPath()", + "Object.Behavior::PositionOnLoop()", "<", "GetArgumentAsNumber(\"Length\")" ] @@ -20893,13 +22582,32 @@ }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertySpeed" + "value": "BuiltinCommonInstructions::Or" }, - "parameters": [ - "Object", - "Behavior", - ">", - "0" + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::PropertySpeed" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + }, + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::PropertyAcceleration" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } ] } ] @@ -20923,13 +22631,32 @@ }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertySpeed" + "value": "BuiltinCommonInstructions::Or" }, - "parameters": [ - "Object", - "Behavior", - "<", - "0" + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::PropertySpeed" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "0" + ] + }, + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::PropertyAcceleration" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "0" + ] + } ] } ] @@ -21317,7 +23044,7 @@ "parameters": [ "ShapePainter", "=", - "1" + "ShapePainter.OutlineSize()" ] } ] @@ -21632,7 +23359,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "mod(Object.Behavior::PropertyCurrentLength(), Object.Behavior::PathLength())" + "mod(Object.Behavior::PositionOnLoop(), Object.Behavior::PathLength())" ] } ] @@ -21647,8 +23374,7 @@ "textG": 0, "textR": 0 }, - "comment": "When the object reaches the target, it must stay on the last repetition end and not at the start of a new one.", - "comment2": "" + "comment": "When the object reaches the target, it must stay on the last repetition end and not at the start of a new one." }, { "type": "BuiltinCommonInstructions::Standard", @@ -21723,7 +23449,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "floor(Object.Behavior::PropertyCurrentLength() / Object.Behavior::PathLength())" + "floor(Object.Behavior::PositionOnLoop() / Object.Behavior::PathLength())" ] } ] @@ -21738,8 +23464,7 @@ "textG": 0, "textR": 0 }, - "comment": "When the object reaches the target, it must stay on the last repetition end and not at the start of a new one.", - "comment2": "" + "comment": "When the object reaches the target, it must stay on the last repetition end and not at the start of a new one." }, { "type": "BuiltinCommonInstructions::Standard", @@ -21802,7 +23527,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "mod(Object.Behavior::PropertyCurrentLength(), Object.Behavior::TotalLength())" + "mod(Object.Behavior::PositionOnLoop(), Object.Behavior::TotalLength())" ] } ] @@ -22007,7 +23732,118 @@ "value": "SetReturnNumber" }, "parameters": [ - "CurvedMovement::SpeedScaleY(Object.Behavior::PropertyPathName())" + "CurvedMovement::SpeedScaleY(Object.Behavior::PropertyPathName())" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "CurvedMovement::SpeedPathMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the angle to use when the object is going back or not.", + "fullName": "Back or forth angle", + "functionType": "Expression", + "name": "BackOrForthAngle", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::PropertySpeed" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "0" + ] + }, + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::PropertyIsLookingBack" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "180" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "CurvedMovement::SpeedPathMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the path origin on X axis of the object.", + "fullName": "Path origin X", + "functionType": "Expression", + "group": "Movement on a curve (speed-based) configuration", + "name": "PathOriginX", + "sentence": "the path origin on X axis", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyPathOriginX()" ] } ] @@ -22032,52 +23868,23 @@ "objectGroups": [] }, { - "description": "Return the angle to use when the object is going back or not.", - "fullName": "Back or forth angle", + "description": "Return the path origin on Y axis of the object.", + "fullName": "Path origin Y", "functionType": "Expression", - "name": "BackOrForthAngle", - "private": true, - "sentence": "", + "group": "Movement on a curve (speed-based) configuration", + "name": "PathOriginY", + "sentence": "the path origin on Y axis", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertySpeed" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "0" - ] - }, - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertyIsLookingBack" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ] - } - ], + "conditions": [], "actions": [ { "type": { "value": "SetReturnNumber" }, "parameters": [ - "180" + "Object.Behavior::PropertyPathOriginY()" ] } ] @@ -22315,129 +24122,450 @@ "name": "IsLookingBack" }, { - "value": "Top-Down", - "type": "Choice", - "label": "Viewpoint", - "description": "", - "group": "", - "extraInformation": [ - "Top-Down", - "Isometry 2:1 (26.565°)" + "value": "Top-Down", + "type": "Choice", + "label": "Viewpoint", + "description": "", + "group": "", + "extraInformation": [ + "Top-Down", + "Isometry 2:1 (26.565°)" + ], + "hidden": false, + "name": "Viewpoint" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "", + "category": "Visual effect", + "extensionNamespace": "", + "fullName": "Billboard", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXBpbmUtdHJlZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMCwyMVYxOEgzTDgsMTNINUwxMCw4SDdMMTIsM0wxNyw4SDE0TDE5LDEzSDE2TDIxLDE4SDE0VjIxSDEwWiIgLz48L3N2Zz4=", + "name": "Billboard", + "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/b46f9cf1fc6b0ef59a461c7831003d1fb091137cbedbae876774f40f8b7dea97_pine-tree.svg", + "shortDescription": "Rotate 3D objects to appear like 2D sprites.", + "version": "1.0.0", + "description": "Rotate 3D objects to face the camera and appear like 2D sprite.", + "tags": [ + "3d" + ], + "authorIds": [ + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" + ], + "dependencies": [], + "eventsFunctions": [], + "eventsBasedBehaviors": [ + { + "description": "Rotate to always face the camera (only the front face of the cube should be enabled).", + "fullName": "Billboard", + "name": "Billboard", + "objectType": "Scene3D::Cube3DObject", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Billboard::Billboard::EnableTransparency" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make the instance bottom center seen in the scene editor at the same position in the game after the instance is rotated." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Billboard::Billboard::PropertyOffsetPositionMode" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Standing on Z axis\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "MettreY" + }, + "parameters": [ + "Object", + "+", + "Object.Height() / 2" + ] + }, + { + "type": { + "value": "Scene3D::Cube3DObject::SetZ" + }, + "parameters": [ + "Object", + "+", + "Object.Height() / 2" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Scene3D::Cube3DObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Billboard::Billboard", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Billboard::Billboard::FaceCamera" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Scene3D::Cube3DObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Billboard::Billboard", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Rotate the object to the camera. This is also done automatically at the end of the scene events.", + "fullName": "Rotate to face the camera", + "functionType": "Action", + "name": "FaceCamera", + "sentence": "Rotate _PARAM0_ to the camera", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Billboard::Billboard::PropertyShouldRotateX" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "Scene3D::Cube3DObject::SetRotationX" + }, + "parameters": [ + "Object", + "=", + "-Scene3D::CameraRotationX(Object.Layer())" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Billboard::Billboard::PropertyShouldRotateY" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "Scene3D::Cube3DObject::SetRotationY" + }, + "parameters": [ + "Object", + "=", + "Scene3D::CameraRotationY(Object.Layer())" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Billboard::Billboard::PropertyShouldRotateZ" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Object", + "=", + "CameraAngle(Object.Layer())" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Scene3D::Cube3DObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Billboard::Billboard", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the object should rotate on X axis.", + "fullName": "Should rotate on X axis", + "functionType": "Condition", + "group": "Billboard configuration", + "name": "ShouldRotateX", + "sentence": "_PARAM0_ should rotate on X axis", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Billboard::Billboard::PropertyShouldRotateX" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } ], - "hidden": false, - "name": "Viewpoint" - } - ], - "sharedPropertyDescriptors": [] - } - ], - "eventsBasedObjects": [] - }, - { - "author": "", - "category": "Visual effect", - "extensionNamespace": "", - "fullName": "Billboard", - "helpPath": "", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXBpbmUtdHJlZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMCwyMVYxOEgzTDgsMTNINUwxMCw4SDdMMTIsM0wxNyw4SDE0TDE5LDEzSDE2TDIxLDE4SDE0VjIxSDEwWiIgLz48L3N2Zz4=", - "name": "Billboard", - "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/b46f9cf1fc6b0ef59a461c7831003d1fb091137cbedbae876774f40f8b7dea97_pine-tree.svg", - "shortDescription": "Rotate 3D objects to appear like 2D sprites.", - "version": "1.0.0", - "description": "Rotate 3D objects to face the camera and appear like 2D sprite.", - "tags": [ - "3d" - ], - "authorIds": [ - "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" - ], - "dependencies": [], - "eventsFunctions": [], - "eventsBasedBehaviors": [ - { - "description": "Rotate to always face the camera (only the front face of the cube should be enabled).", - "fullName": "Billboard", - "name": "Billboard", - "objectType": "Scene3D::Cube3DObject", - "eventsFunctions": [ + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Scene3D::Cube3DObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Billboard::Billboard", + "type": "behavior" + } + ], + "objectGroups": [] + }, { - "fullName": "", + "description": "Change if the object should rotate on X axis.", + "fullName": "Should rotate on X axis", "functionType": "Action", - "name": "doStepPreEvents", - "sentence": "", + "group": "Billboard configuration", + "name": "SetShouldRotateX", + "sentence": "_PARAM0_ should rotate on X axis: _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "BuiltinCommonInstructions::Once" + "inverted": true, + "value": "GetArgumentAsBoolean" }, - "parameters": [] + "parameters": [ + "\"Value\"" + ] } ], "actions": [ { "type": { - "value": "Billboard::Billboard::EnableTransparency" + "value": "Billboard::Billboard::SetPropertyShouldRotateX" }, "parameters": [ "Object", "Behavior", - "" + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Value\"" ] } ], - "events": [ + "actions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "Billboard::Billboard::SetPropertyShouldRotateX" }, - "comment": "Make the instance bottom center seen in the scene editor at the same position in the game after the instance is rotated.", - "comment2": "" - }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Scene3D::Cube3DObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Billboard::Billboard", + "type": "behavior" + }, + { + "defaultValue": "no", + "description": "ShouldRotateX", + "name": "Value", + "optional": true, + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the object should rotate on Y axis.", + "fullName": "Should rotate on Y axis", + "functionType": "Condition", + "group": "Billboard configuration", + "name": "ShouldRotateY", + "sentence": "_PARAM0_ should rotate on Y axis", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Billboard::Billboard::PropertyShouldRotateY" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Billboard::Billboard::PropertyOffsetPositionMode" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"Standing on Z axis\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "MettreY" - }, - "parameters": [ - "Object", - "+", - "Object.Height() / 2" - ] - }, - { - "type": { - "value": "Scene3D::Cube3DObject::SetZ" - }, - "parameters": [ - "Object", - "+", - "Object.Height() / 2" - ] - } + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" ] } ] @@ -22460,23 +24588,60 @@ "objectGroups": [] }, { - "fullName": "", + "description": "Change if the object should rotate on Y axis.", + "fullName": "Should rotate on Y axis", "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", + "group": "Billboard configuration", + "name": "SetShouldRotateY", + "sentence": "_PARAM0_ should rotate on Y axis: _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "inverted": true, + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Value\"" + ] + } + ], "actions": [ { "type": { - "value": "Billboard::Billboard::FaceCamera" + "value": "Billboard::Billboard::SetPropertyShouldRotateY" }, "parameters": [ "Object", "Behavior", - "" + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Value\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Billboard::Billboard::SetPropertyShouldRotateY" + }, + "parameters": [ + "Object", + "Behavior", + "yes" ] } ] @@ -22494,23 +24659,31 @@ "name": "Behavior", "supplementaryInformation": "Billboard::Billboard", "type": "behavior" + }, + { + "defaultValue": "no", + "description": "ShouldRotateY", + "name": "Value", + "optional": true, + "type": "yesorno" } ], "objectGroups": [] }, { - "description": "Rotate the object to the camera. This is also done automatically at the end of the scene events.", - "fullName": "Rotate to face the camera", - "functionType": "Action", - "name": "FaceCamera", - "sentence": "Rotate _PARAM0_ to the camera", + "description": "Check if the object should rotate on Z axis.", + "fullName": "Should rotate on Z axis", + "functionType": "Condition", + "group": "Billboard configuration", + "name": "ShouldRotateZ", + "sentence": "_PARAM0_ should rotate on Z axis", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "Billboard::Billboard::PropertyShouldRotateX" + "value": "Billboard::Billboard::PropertyShouldRotateZ" }, "parameters": [ "Object", @@ -22521,38 +24694,61 @@ "actions": [ { "type": { - "value": "Scene3D::Cube3DObject::SetRotationX" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "=", - "-Scene3D::CameraRotationX(Object.Layer())" + "True" ] } ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Scene3D::Cube3DObject", + "type": "object" }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Billboard::Billboard", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change if the object should rotate on Z axis.", + "fullName": "Should rotate on Z axis", + "functionType": "Action", + "group": "Billboard configuration", + "name": "SetShouldRotateZ", + "sentence": "_PARAM0_ should rotate on Z axis: _PARAM2_", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "Billboard::Billboard::PropertyShouldRotateY" + "inverted": true, + "value": "GetArgumentAsBoolean" }, "parameters": [ - "Object", - "Behavior" + "\"Value\"" ] } ], "actions": [ { "type": { - "value": "Scene3D::Cube3DObject::SetRotationY" + "value": "Billboard::Billboard::SetPropertyShouldRotateZ" }, "parameters": [ "Object", - "=", - "Scene3D::CameraRotationY(Object.Layer())" + "Behavior", + "no" ] } ] @@ -22562,23 +24758,22 @@ "conditions": [ { "type": { - "value": "Billboard::Billboard::PropertyShouldRotateZ" + "value": "GetArgumentAsBoolean" }, "parameters": [ - "Object", - "Behavior" + "\"Value\"" ] } ], "actions": [ { "type": { - "value": "SetAngle" + "value": "Billboard::Billboard::SetPropertyShouldRotateZ" }, "parameters": [ "Object", - "=", - "CameraAngle(Object.Layer())" + "Behavior", + "yes" ] } ] @@ -22588,178 +24783,649 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", + "supplementaryInformation": "Scene3D::Cube3DObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Billboard::Billboard", + "type": "behavior" + }, + { + "defaultValue": "no", + "description": "ShouldRotateZ", + "name": "Value", + "optional": true, + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Enable texture transparency of the front face.", + "fullName": "Enable texture transparency", + "functionType": "Action", + "name": "EnableTransparency", + "private": true, + "sentence": "Enable texture transparency of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {gdjs.Cube3DRuntimeObject} */", + "const object = objects[0];", + "object._shouldUseTransparentTexture = true;", + "/** @type {gdjs.Cube3DRuntimeObjectRenderer} */", + "const renderer = object.getRenderer();", + "renderer.updateFace(0);", + "" + ], + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Scene3D::Cube3DObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Billboard::Billboard", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "true", + "type": "Boolean", + "label": "Should rotate on X axis", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ShouldRotateX" + }, + { + "value": "true", + "type": "Boolean", + "label": "Should rotate on Y axis", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ShouldRotateY" + }, + { + "value": "true", + "type": "Boolean", + "label": "Should rotate on Z axis", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ShouldRotateZ" + }, + { + "value": "No change", + "type": "Choice", + "label": "Offset position", + "description": "", + "group": "", + "extraInformation": [ + "No change", + "Standing on Z axis" + ], + "hidden": false, + "name": "OffsetPositionMode" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "", + "category": "", + "extensionNamespace": "", + "fullName": "", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWNhci1zcG9ydHMiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIsOC41SDdMNCwxMUgzQzEuODksMTEgMSwxMS44OSAxLDEzVjE2SDMuMTdDMy42LDE3LjIgNC43MywxOCA2LDE4QzcuMjcsMTggOC40LDE3LjIgOC44MiwxNkgxNS4xN0MxNS42LDE3LjIgMTYuNzMsMTggMTgsMThDMTkuMjcsMTggMjAuNCwxNy4yIDIwLjgyLDE2SDIzVjE1QzIzLDEzLjg5IDIxLjk3LDEzLjUzIDIxLDEzTDEyLDguNU01LjI1LDEyTDcuNSwxMEgxMS41TDE1LjUsMTJINS4yNU02LDEzLjVBMS41LDEuNSAwIDAsMSA3LjUsMTVBMS41LDEuNSAwIDAsMSA2LDE2LjVBMS41LDEuNSAwIDAsMSA0LjUsMTVBMS41LDEuNSAwIDAsMSA2LDEzLjVNMTgsMTMuNUExLjUsMS41IDAgMCwxIDE5LjUsMTVBMS41LDEuNSAwIDAsMSAxOCwxNi41QTEuNSwxLjUgMCAwLDEgMTYuNSwxNUExLjUsMS41IDAgMCwxIDE4LDEzLjVaIiAvPjwvc3ZnPg==", + "name": "Car", + "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/3bb1dece59358fca111b5ab26414ee0111426306f2c19c607eb155f7404377bd_car-sports.svg", + "shortDescription": "", + "version": "", + "description": "", + "tags": [], + "authorIds": [], + "dependencies": [], + "eventsFunctions": [], + "eventsBasedBehaviors": [ + { + "description": "Move on a road.", + "fullName": "Car movement", + "name": "Car", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [], + "parameters": [ + { + "description": "Object", + "name": "Object", "type": "object" }, { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Billboard::Billboard", + "supplementaryInformation": "Car::Car", "type": "behavior" } ], "objectGroups": [] }, { - "description": "Check if the object should rotate on X axis.", - "fullName": "Should rotate on X axis", - "functionType": "Condition", - "group": "Billboard configuration", - "name": "ShouldRotateX", - "sentence": "_PARAM0_ should rotate on X axis", + "fullName": "Move on the road", + "functionType": "Action", + "name": "Move", + "sentence": "Move _PARAM0_ on the road", "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "doStepPreEvents is not used because these events must be executed after the \"Curved Movement\" extension to fix the position not being at the center of the object." + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Movement", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "Billboard::Billboard::PropertyShouldRotateX" - }, - "parameters": [ - "Object", - "Behavior" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Car::Car::SetPropertyRoadCenterDelta" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.Behavior::PropertyTurnSpeed() * TimeDelta()" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Road collision", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Car::Car::SetIsOnRoad" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Car::Car::PropertyRoadCenterDelta" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "-22" + ] + }, + { + "type": { + "value": "Car::Car::PropertyRoadCenterDelta" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "22" + ] + } + ], + "actions": [ + { + "type": { + "value": "Car::Car::SetPropertyRoadCenterDelta" + }, + "parameters": [ + "Object", + "Behavior", + "-", + "Object.Behavior::PropertyCentrifugalShift() * AngleDifference(Object.Angle(), Object.Behavior::PropertyPreviousAngle())" + ] + }, + { + "type": { + "value": "Car::Car::SetIsOnRoad" + }, + "parameters": [ + "Object", + "Behavior", + "", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Car::Car::IsAccelerating" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Car::Car::IsOnRoad" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::AccelarateAt" + }, + "parameters": [ + "Object", + "SpeedPathMovement", + "Object.Behavior::PropertyMaxSpeed()", + "Object.Behavior::PropertyAcceleration()", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::Speed" + }, + "parameters": [ + "Object", + "SpeedPathMovement", + ">", + "Object.Behavior::PropertyMaxSpeed()", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::AccelarateAt" + }, + "parameters": [ + "Object", + "SpeedPathMovement", + "Object.Behavior::PropertyMaxSpeed()", + "-50", + "" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Car::Car::IsOnRoad" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::Speed" + }, + "parameters": [ + "Object", + "SpeedPathMovement", + "<", + "50", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::AccelarateAt" + }, + "parameters": [ + "Object", + "SpeedPathMovement", + "Object.Behavior::PropertyMaxSpeed() / 50", + "50", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::Speed" + }, + "parameters": [ + "Object", + "SpeedPathMovement", + ">=", + "50", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::AccelarateAt" + }, + "parameters": [ + "Object", + "SpeedPathMovement", + "Object.Behavior::PropertyMaxSpeed() / 5", + "-200", + "" + ] + } + ] + } + ] + } ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Billboard::Billboard", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change if the object should rotate on X axis.", - "fullName": "Should rotate on X axis", - "functionType": "Action", - "group": "Billboard configuration", - "name": "SetShouldRotateX", - "sentence": "_PARAM0_ should rotate on X axis: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Value\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Car::Car::IsAccelerating" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Car::Car::IsOnRoad" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::AccelarateAt" + }, + "parameters": [ + "Object", + "SpeedPathMovement", + "0", + "-50", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Car::Car::IsOnRoad" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "CurvedMovement::SpeedPathMovement::AccelarateAt" + }, + "parameters": [ + "Object", + "SpeedPathMovement", + "0", + "-200", + "" + ] + } + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "Billboard::Billboard::SetPropertyShouldRotateX" - }, - "parameters": [ - "Object", - "Behavior", - "no" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Car::Car::SetPropertyPreviousAngle" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Angle()" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Value\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Car::Car::SetPropertyRoadCenterDelta" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "clamp(Object.Behavior::PropertyRoadCenterDelta(), -24, 24)" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "Billboard::Billboard::SetPropertyShouldRotateX" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "Object", - "Behavior", - "yes" + "comment": "Lateral positionning on the road" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetCenter" + }, + "parameters": [ + "Object", + "=", + "Object.X()", + "=", + "Object.Y()" + ] + }, + { + "type": { + "value": "MettreAutour" + }, + "parameters": [ + "Object", + "Object", + "Object.Behavior::PropertyRoadCenterDelta()", + "Object.Angle() + 90" + ] + } ] } - ] + ], + "parameters": [] } ], "parameters": [ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Billboard::Billboard", + "supplementaryInformation": "Car::Car", "type": "behavior" - }, - { - "defaultValue": "no", - "description": "ShouldRotateX", - "name": "Value", - "optional": true, - "type": "yesorno" } ], "objectGroups": [] }, { - "description": "Check if the object should rotate on Y axis.", - "fullName": "Should rotate on Y axis", - "functionType": "Condition", - "group": "Billboard configuration", - "name": "ShouldRotateY", - "sentence": "_PARAM0_ should rotate on Y axis", + "fullName": "Road", + "functionType": "Action", + "name": "SetRoad", + "sentence": "_PARAM0_ follow the road _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "Billboard::Billboard::PropertyShouldRotateY" + "value": "CurvedMovement::SpeedPathMovement::SetPath" }, "parameters": [ "Object", - "Behavior" + "SpeedPathMovement", + "GetArgumentAsString(\"RoadName\")", + "1", + "yes", + "" ] - } - ], - "actions": [ + }, { "type": { - "value": "SetReturnBoolean" + "value": "Car::Car::SetPropertyPreviousAngle" }, "parameters": [ - "True" + "Object", + "Behavior", + "=", + "Object.Angle()" ] } ] @@ -22769,73 +25435,65 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Billboard::Billboard", + "supplementaryInformation": "Car::Car", "type": "behavior" + }, + { + "description": "Road name", + "name": "RoadName", + "supplementaryInformation": "sceneBezierCurve", + "type": "identifier" } ], "objectGroups": [] }, { - "description": "Change if the object should rotate on Y axis.", - "fullName": "Should rotate on Y axis", + "fullName": "Position on road", "functionType": "Action", - "group": "Billboard configuration", - "name": "SetShouldRotateY", - "sentence": "_PARAM0_ should rotate on Y axis: _PARAM2_", + "name": "SetPosition", + "sentence": "Put _PARAM0_ on the road at _PARAM2_ from the start and _PARAM3_ from the center", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Value\"" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "Billboard::Billboard::SetPropertyShouldRotateY" + "value": "CurvedMovement::SpeedPathMovement::SetPositionOnPath" }, "parameters": [ "Object", - "Behavior", - "no" + "SpeedPathMovement", + "=", + "GetArgumentAsNumber(\"RoadPosition\")", + "" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { "type": { - "value": "GetArgumentAsBoolean" + "value": "Car::Car::SetPropertyRoadCenterDelta" }, "parameters": [ - "\"Value\"" + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"RoadCenterDelta\")" ] - } - ], - "actions": [ + }, { "type": { - "value": "Billboard::Billboard::SetPropertyShouldRotateY" + "value": "Car::Car::SetPropertyPreviousAngle" }, "parameters": [ "Object", "Behavior", - "yes" + "=", + "Object.Angle()" ] } ] @@ -22845,39 +25503,41 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Billboard::Billboard", + "supplementaryInformation": "Car::Car", "type": "behavior" }, { - "defaultValue": "no", - "description": "ShouldRotateY", - "name": "Value", - "optional": true, - "type": "yesorno" + "description": "Road position from the start", + "name": "RoadPosition", + "type": "expression" + }, + { + "description": "Road center displacement", + "name": "RoadCenterDelta", + "type": "expression" } ], "objectGroups": [] }, { - "description": "Check if the object should rotate on Z axis.", - "fullName": "Should rotate on Z axis", + "description": "Check if is accelerating.", + "fullName": "Is accelerating", "functionType": "Condition", - "group": "Billboard configuration", - "name": "ShouldRotateZ", - "sentence": "_PARAM0_ should rotate on Z axis", + "group": "Car configuration", + "name": "IsAccelerating", + "sentence": "_PARAM0_ is accelerating", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "Billboard::Billboard::PropertyShouldRotateZ" + "value": "Car::Car::PropertyIsAccelerating" }, "parameters": [ "Object", @@ -22901,25 +25561,24 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Billboard::Billboard", + "supplementaryInformation": "Car::Car", "type": "behavior" } ], "objectGroups": [] }, { - "description": "Change if the object should rotate on Z axis.", - "fullName": "Should rotate on Z axis", + "description": "Change if is accelerating.", + "fullName": "Is accelerating", "functionType": "Action", - "group": "Billboard configuration", - "name": "SetShouldRotateZ", - "sentence": "_PARAM0_ should rotate on Z axis: _PARAM2_", + "group": "Car configuration", + "name": "SetIsAccelerating", + "sentence": "_PARAM0_ is accelerating: _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -22937,7 +25596,7 @@ "actions": [ { "type": { - "value": "Billboard::Billboard::SetPropertyShouldRotateZ" + "value": "Car::Car::SetPropertyIsAccelerating" }, "parameters": [ "Object", @@ -22961,161 +25620,73 @@ ], "actions": [ { - "type": { - "value": "Billboard::Billboard::SetPropertyShouldRotateZ" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Billboard::Billboard", - "type": "behavior" - }, - { - "defaultValue": "no", - "description": "ShouldRotateZ", - "name": "Value", - "optional": true, - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "Enable texture transparency of the front face.", - "fullName": "Enable texture transparency", - "functionType": "Action", - "name": "EnableTransparency", - "private": true, - "sentence": "Enable texture transparency of _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::JsCode", - "inlineCode": [ - "/** @type {gdjs.Cube3DRuntimeObject} */", - "const object = objects[0];", - "object._shouldUseTransparentTexture = true;", - "/** @type {gdjs.Cube3DRuntimeObjectRenderer} */", - "const renderer = object.getRenderer();", - "renderer.updateFace(0);", - "" - ], - "parameterObjects": "Object", - "useStrict": true, - "eventsSheetExpanded": true + "type": { + "value": "Car::Car::SetPropertyIsAccelerating" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] } ], "parameters": [ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Billboard::Billboard", + "supplementaryInformation": "Car::Car", "type": "behavior" + }, + { + "defaultValue": "yes", + "description": "IsAccelerating", + "name": "Value", + "optional": true, + "type": "yesorno" } ], "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "true", - "type": "Boolean", - "label": "Should rotate on X axis", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "ShouldRotateX" }, { - "value": "true", - "type": "Boolean", - "label": "Should rotate on Y axis", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "ShouldRotateY" - }, - { - "value": "true", - "type": "Boolean", - "label": "Should rotate on Z axis", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "ShouldRotateZ" - }, - { - "value": "No change", - "type": "Choice", - "label": "Offset position", - "description": "", - "group": "", - "extraInformation": [ - "No change", - "Standing on Z axis" + "description": "Check if is on the road.", + "fullName": "Is on the road", + "functionType": "Condition", + "group": "Car configuration", + "name": "IsOnRoad", + "sentence": "_PARAM0_ is on the road", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Car::Car::PropertyIsOnRoad" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } ], - "hidden": false, - "name": "OffsetPositionMode" - } - ], - "sharedPropertyDescriptors": [] - } - ], - "eventsBasedObjects": [] - }, - { - "author": "", - "category": "", - "extensionNamespace": "", - "fullName": "", - "helpPath": "", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWNhci1zcG9ydHMiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIsOC41SDdMNCwxMUgzQzEuODksMTEgMSwxMS44OSAxLDEzVjE2SDMuMTdDMy42LDE3LjIgNC43MywxOCA2LDE4QzcuMjcsMTggOC40LDE3LjIgOC44MiwxNkgxNS4xN0MxNS42LDE3LjIgMTYuNzMsMTggMTgsMThDMTkuMjcsMTggMjAuNCwxNy4yIDIwLjgyLDE2SDIzVjE1QzIzLDEzLjg5IDIxLjk3LDEzLjUzIDIxLDEzTDEyLDguNU01LjI1LDEyTDcuNSwxMEgxMS41TDE1LjUsMTJINS4yNU02LDEzLjVBMS41LDEuNSAwIDAsMSA3LjUsMTVBMS41LDEuNSAwIDAsMSA2LDE2LjVBMS41LDEuNSAwIDAsMSA0LjUsMTVBMS41LDEuNSAwIDAsMSA2LDEzLjVNMTgsMTMuNUExLjUsMS41IDAgMCwxIDE5LjUsMTVBMS41LDEuNSAwIDAsMSAxOCwxNi41QTEuNSwxLjUgMCAwLDEgMTYuNSwxNUExLjUsMS41IDAgMCwxIDE4LDEzLjVaIiAvPjwvc3ZnPg==", - "name": "Car", - "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/3bb1dece59358fca111b5ab26414ee0111426306f2c19c607eb155f7404377bd_car-sports.svg", - "shortDescription": "", - "version": "", - "description": "", - "tags": [], - "authorIds": [], - "dependencies": [], - "eventsFunctions": [], - "eventsBasedBehaviors": [ - { - "description": "Move on a road.", - "fullName": "Car movement", - "name": "Car", - "objectType": "", - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "doStepPreEvents", - "sentence": "", - "events": [], "parameters": [ { "description": "Object", @@ -23132,527 +25703,696 @@ "objectGroups": [] }, { - "fullName": "Move on the road", + "description": "Change if is on the road.", + "fullName": "Is on the road", "functionType": "Action", - "name": "Move", - "sentence": "Move _PARAM0_ on the road", + "group": "Car configuration", + "name": "SetIsOnRoad", + "sentence": "_PARAM0_ is on the road: _PARAM2_", "events": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "doStepPreEvents is not used because these events must be executed after the \"Curved Movement\" extension to fix the position not being at the center of the object.", - "comment2": "" - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Movement", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Car::Car::SetPropertyRoadCenterDelta" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "Object.Behavior::PropertyTurnSpeed() * TimeDelta()" - ] - } - ] - }, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Road collision", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Car::Car::SetIsOnRoad" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "0" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Car::Car::PropertyRoadCenterDelta" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "-22" - ] - }, - { - "type": { - "value": "Car::Car::PropertyRoadCenterDelta" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "22" - ] - } - ], - "actions": [ - { - "type": { - "value": "Car::Car::SetPropertyRoadCenterDelta" - }, - "parameters": [ - "Object", - "Behavior", - "-", - "Object.Behavior::PropertyCentrifugalShift() * AngleDifference(Object.Angle(), Object.Behavior::PropertyPreviousAngle())" - ] - }, - { - "type": { - "value": "Car::Car::SetIsOnRoad" - }, - "parameters": [ - "Object", - "Behavior", - "", - "" - ] - } - ] - } - ], - "parameters": [] - }, + "type": { + "inverted": true, + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Value\"" + ] + } + ], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Car::Car::IsAccelerating" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Car::Car::IsOnRoad" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::AccelarateAt" - }, - "parameters": [ - "Object", - "SpeedPathMovement", - "Object.Behavior::PropertyMaxSpeed()", - "Object.Behavior::PropertyAcceleration()", - "" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::Speed" - }, - "parameters": [ - "Object", - "SpeedPathMovement", - ">", - "Object.Behavior::PropertyMaxSpeed()", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::AccelarateAt" - }, - "parameters": [ - "Object", - "SpeedPathMovement", - "Object.Behavior::PropertyMaxSpeed()", - "-50", - "" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "Car::Car::IsOnRoad" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::Speed" - }, - "parameters": [ - "Object", - "SpeedPathMovement", - "<", - "50", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::AccelarateAt" - }, - "parameters": [ - "Object", - "SpeedPathMovement", - "Object.Behavior::PropertyMaxSpeed() / 50", - "50", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::Speed" - }, - "parameters": [ - "Object", - "SpeedPathMovement", - ">=", - "50", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::AccelarateAt" - }, - "parameters": [ - "Object", - "SpeedPathMovement", - "Object.Behavior::PropertyMaxSpeed() / 5", - "-200", - "" - ] - } - ] - } - ] - } + "type": { + "value": "Car::Car::SetPropertyIsOnRoad" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Value\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Car::Car::SetPropertyIsOnRoad" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Car::Car", + "type": "behavior" + }, + { + "defaultValue": "yes", + "description": "IsOnRoad", + "name": "Value", + "optional": true, + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "fullName": "Turn left", + "functionType": "Action", + "name": "TurnLeft", + "sentence": "_PARAM0_ turn left", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Car::Car::SetPropertyTurnSpeed" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "-Object.Behavior::PropertyMaxTurnSpeed()" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Car::Car", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "Turn right", + "functionType": "Action", + "name": "TurnRight", + "sentence": "_PARAM0_ turn right", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Car::Car::SetPropertyTurnSpeed" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyMaxTurnSpeed()" ] - }, + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Car::Car", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "Go straight", + "functionType": "Action", + "name": "GoStraight", + "sentence": "_PARAM0_ go straight", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "Car::Car::IsAccelerating" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Car::Car::IsOnRoad" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::AccelarateAt" - }, - "parameters": [ - "Object", - "SpeedPathMovement", - "0", - "-50", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "Car::Car::IsOnRoad" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "CurvedMovement::SpeedPathMovement::AccelarateAt" - }, - "parameters": [ - "Object", - "SpeedPathMovement", - "0", - "-200", - "" - ] - } - ] - } + "type": { + "value": "Car::Car::SetPropertyTurnSpeed" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" ] - }, + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Car::Car", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the displacement of the object from the road center.", + "fullName": "Road center displacement", + "functionType": "ExpressionAndCondition", + "group": "Car configuration", + "name": "RoadCenterDelta", + "sentence": "the road center displacement", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Car::Car::SetPropertyPreviousAngle" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Angle()" - ] - } + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyRoadCenterDelta()" ] - }, + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Car::Car", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the turn speed of the object.", + "fullName": "Turn speed", + "functionType": "ExpressionAndCondition", + "group": "Car configuration", + "name": "TurnSpeed", + "sentence": "the turn speed", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTurnSpeed()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Car::Car", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the max speed of the object.", + "fullName": "Max speed", + "functionType": "ExpressionAndCondition", + "group": "Car configuration", + "name": "MaxSpeed", + "sentence": "the max speed", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Car::Car::SetPropertyRoadCenterDelta" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "clamp(Object.Behavior::PropertyRoadCenterDelta(), -24, 24)" - ] - } + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyMaxSpeed()" ] - }, + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Car::Car", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "MaxSpeed", + "name": "SetMaxSpeed", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "Car::Car::SetPropertyMaxSpeed" }, - "comment": "Lateral positionning on the road", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetCenter" - }, - "parameters": [ - "Object", - "=", - "Object.X()", - "=", - "Object.Y()" - ] - }, - { - "type": { - "value": "MettreAutour" - }, - "parameters": [ - "Object", - "Object", - "Object.Behavior::PropertyRoadCenterDelta()", - "Object.Angle() + 90" - ] - } + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" ] } - ], - "parameters": [] + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Car::Car", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Movement on a curve (speed-based)", + "description": "", + "group": "", + "extraInformation": [ + "CurvedMovement::SpeedPathMovement" + ], + "hidden": false, + "name": "SpeedPathMovement" + }, + { + "value": "", + "type": "Boolean", + "label": "Is accelerating", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "IsAccelerating" + }, + { + "value": "", + "type": "Boolean", + "label": "Is on the road", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "IsOnRoad" + }, + { + "value": "100", + "type": "Number", + "unit": "PixelAcceleration", + "label": "Acceleration", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Acceleration" + }, + { + "value": "250", + "type": "Number", + "unit": "PixelSpeed", + "label": "Max speed", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "MaxSpeed" + }, + { + "value": "64", + "type": "Number", + "unit": "PixelSpeed", + "label": "Max turn speed", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "MaxTurnSpeed" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "PreviousAngle" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "RoadCenterDelta" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "TurnSpeed" + }, + { + "value": "0.5", + "type": "Number", + "label": "Centrifugal shift (in pixels per degree)", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "CentrifugalShift" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "", + "category": "", + "extensionNamespace": "", + "fullName": "", + "helpPath": "", + "iconUrl": "", + "name": "LeftOrRightTouch", + "previewIconUrl": "", + "shortDescription": "", + "version": "", + "description": "", + "tags": [], + "authorIds": [], + "dependencies": [], + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "onScenePreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Left" + ] } ], - "parameters": [ + "actions": [] + } + ], + "parameters": [], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [], + "eventsBasedObjects": [] + }, + { + "author": "", + "category": "", + "extensionNamespace": "", + "fullName": "", + "helpPath": "", + "iconUrl": "", + "name": "Level", + "previewIconUrl": "", + "shortDescription": "", + "version": "", + "description": "", + "tags": [], + "authorIds": [], + "dependencies": [], + "eventsFunctions": [ + { + "fullName": "Build track", + "functionType": "Action", + "name": "BuildTrack", + "sentence": "Build _PARAM1_ path from _PARAM2_ starting at _PARAM4_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "description": "Object", - "name": "Object", - "type": "object" + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "StartIndicator", + "RoadTile", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "StartX", + "=", + "RoadTile.RoadTileBehavior::StartX()" + ] }, { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Car::Car", - "type": "behavior" + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "StartY", + "=", + "RoadTile.RoadTileBehavior::StartY()" + ] + }, + { + "type": { + "value": "CurvedMovement::DuplicatedPath" + }, + "parameters": [ + "", + "GetArgumentAsString(\"PathName\")", + "RoadTile.RoadTileBehavior::PathName()", + "" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "RoadTile", + "covered", + "True" + ] + }, + { + "type": { + "value": "Delete" + }, + "parameters": [ + "StartIndicator", + "" + ] } ], - "objectGroups": [] - }, - { - "fullName": "Road", - "functionType": "Action", - "name": "SetRoad", - "sentence": "_PARAM0_ follow the road _PARAM2_", "events": [ { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPath" + "value": "DebuggerTools::ConsoleLog" }, "parameters": [ - "Object", - "SpeedPathMovement", - "GetArgumentAsString(\"RoadName\")", - "1", - "yes", + "VariableString(StartX) + \" \" + VariableString(StartY)", + "", "" ] }, { "type": { - "value": "Car::Car::SetPropertyPreviousAngle" + "value": "DebuggerTools::ConsoleLog" }, "parameters": [ - "Object", - "Behavior", - "=", - "Object.Angle()" + "RoadTile.RoadTileBehavior::PathName()", + "", + "" ] } ] } - ], - "parameters": [ + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "description": "Object", - "name": "Object", - "type": "object" - }, + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "hasNoMoreTile", + "False" + ] + } + ] + }, + { + "infiniteLoopWarning": true, + "type": "BuiltinCommonInstructions::While", + "whileConditions": [ { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Car::Car", - "type": "behavior" + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "RoadTile", + "covered", + "" + ] }, { - "description": "Road name", - "name": "RoadName", - "supplementaryInformation": "sceneBezierCurve", - "type": "identifier" + "type": { + "value": "SceneVariableAsBoolean" + }, + "parameters": [ + "hasNoMoreTile", + "shouldBreakTheLoop" + ] + } + ], + "conditions": [], + "actions": [ + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "hasNoMoreTile", + "True" + ] } ], - "objectGroups": [] - }, - { - "fullName": "Position on road", - "functionType": "Action", - "name": "SetPosition", - "sentence": "Put _PARAM0_ on the road at _PARAM2_ from the start and _PARAM3_ from the center", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -23660,169 +26400,412 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPositionOnPath" + "value": "ModVarScene" }, "parameters": [ - "Object", - "SpeedPathMovement", + "x", "=", - "GetArgumentAsNumber(\"RoadPosition\")", - "" + "Variable(StartX) + CurvedMovement::PathEndX(GetArgumentAsString(\"PathName\"))" ] }, { "type": { - "value": "Car::Car::SetPropertyRoadCenterDelta" + "value": "ModVarScene" }, "parameters": [ - "Object", - "Behavior", + "y", "=", - "GetArgumentAsNumber(\"RoadCenterDelta\")" + "Variable(StartY) + CurvedMovement::PathEndY(GetArgumentAsString(\"PathName\"))" + ] + } + ], + "events": [ + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "VariableString(x) + \" \" + VariableString(y)", + "", + "" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Level::RoadTileBehavior::IsStartPosition" + }, + "parameters": [ + "RoadTile", + "RoadTileBehavior", + "Variable(x)", + "Variable(y)", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "CurvedMovement::AppendPath" + }, + "parameters": [ + "", + "GetArgumentAsString(\"PathName\")", + "RoadTile.RoadTileBehavior::PathName()", + "" ] }, { "type": { - "value": "Car::Car::SetPropertyPreviousAngle" + "value": "SetObjectVariableAsBoolean" }, "parameters": [ - "Object", - "Behavior", - "=", - "Object.Angle()" + "RoadTile", + "covered", + "True" + ] + }, + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "hasNoMoreTile", + "False" ] } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Car::Car", - "type": "behavior" - }, - { - "description": "Road position from the start", - "name": "RoadPosition", - "type": "expression" + ], + "events": [ + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "RoadTile.RoadTileBehavior::PathName()", + "", + "" + ] + } + ] + } + ] }, - { - "description": "Road center displacement", - "name": "RoadCenterDelta", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Check if is accelerating.", - "fullName": "Is accelerating", - "functionType": "Condition", - "group": "Car configuration", - "name": "IsAccelerating", - "sentence": "_PARAM0_ is accelerating", - "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "Car::Car::PropertyIsAccelerating" + "value": "Level::RoadTileBehavior::IsEndPosition" }, "parameters": [ - "Object", - "Behavior" + "RoadTile", + "RoadTileBehavior", + "Variable(x)", + "Variable(y)", + "" + ] + }, + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "RoadTile", + "covered", + "" ] } ], "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "CurvedMovement::AppendPath" + }, + "parameters": [ + "", + "GetArgumentAsString(\"PathName\")", + "RoadTile.RoadTileBehavior::InvertedPathName()", + "" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" }, "parameters": [ + "RoadTile", + "covered", "True" ] + }, + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "hasNoMoreTile", + "False" + ] + } + ], + "events": [ + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "RoadTile.RoadTileBehavior::InvertedPathName()", + "", + "" + ] + } + ] } ] } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Car::Car", - "type": "behavior" - } - ], - "objectGroups": [] + ] + } + ], + "parameters": [ + { + "description": "Path name", + "name": "PathName", + "supplementaryInformation": "scenePathIdentifier", + "type": "identifier" }, { - "description": "Change if is accelerating.", - "fullName": "Is accelerating", + "description": "Road tile", + "name": "RoadTile", + "type": "objectList" + }, + { + "description": "Road tile behavior", + "name": "RoadTileBehavior", + "supplementaryInformation": "Level::RoadTileBehavior", + "type": "behavior" + }, + { + "description": "Start indicator", + "name": "StartIndicator", + "type": "objectList" + } + ], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [ + { + "description": "", + "fullName": "", + "name": "RoadTileBehavior", + "objectType": "", + "eventsFunctions": [ + { + "description": "Create pathes if needed. It need to be check every time because the object angle is not known in onCreate.", + "fullName": "Initialize pathes", "functionType": "Action", - "group": "Car configuration", - "name": "SetIsAccelerating", - "sentence": "_PARAM0_ is accelerating: _PARAM2_", + "name": "InitializePathes", + "private": true, + "sentence": "Initialize pathes of _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "Level::RoadTileBehavior::PropertyRotatedStartX" }, "parameters": [ - "\"Value\"" + "Object", + "Behavior", + "=", + "0" ] - } - ], - "actions": [ + }, { "type": { - "value": "Car::Car::SetPropertyIsAccelerating" + "value": "Level::RoadTileBehavior::PropertyRotatedStartY" }, "parameters": [ "Object", "Behavior", - "no" + "=", + "0" ] } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + ], + "actions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "Level::RoadTileBehavior::SetPropertyRotatedStartX" }, "parameters": [ - "\"Value\"" + "Object", + "Behavior", + "=", + "round(cos(ToRad(Object.Angle())) * Object.Behavior::PropertyStartX() - sin(ToRad(Object.Angle())) * Object.Behavior::PropertyStartY())" ] - } - ], - "actions": [ + }, { "type": { - "value": "Car::Car::SetPropertyIsAccelerating" + "value": "Level::RoadTileBehavior::SetPropertyRotatedStartY" }, "parameters": [ "Object", "Behavior", - "yes" + "=", + "round(sin(ToRad(Object.Angle())) * Object.Behavior::PropertyStartX() + cos(ToRad(Object.Angle())) * Object.Behavior::PropertyStartY())" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "CurvedMovement::PathExists" + }, + "parameters": [ + "", + "Object.Behavior::PathName()", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "CurvedMovement::CreatePathFromSvg" + }, + "parameters": [ + "", + "Object.Behavior::PathName()", + "Object.Behavior::PropertyPath()", + "" + ] + }, + { + "type": { + "value": "CurvedMovement::RotatePath" + }, + "parameters": [ + "", + "Object.Behavior::PathName()", + "Object.Angle()", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "CurvedMovement::PathExists" + }, + "parameters": [ + "", + "Object.Behavior::InvertedPathName()", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "CurvedMovement::CreatePathFromSvg" + }, + "parameters": [ + "", + "Object.Behavior::InvertedPathName()", + "Object.Behavior::PropertyPath()", + "" + ] + }, + { + "type": { + "value": "CurvedMovement::RotatePath" + }, + "parameters": [ + "", + "Object.Behavior::InvertedPathName()", + "Object.Angle()", + "" + ] + }, + { + "type": { + "value": "CurvedMovement::InvertPath" + }, + "parameters": [ + "", + "Object.Behavior::InvertedPathName()", + "" + ] + } + ] + }, + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "Object.Behavior::PathName()", + "", + "" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Start: \" + ToString(Object.Behavior::StartX()) + \" \" + ToString(Object.Behavior::StartY())", + "", + "" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"End: \" + ToString(Object.Behavior::EndX()) + \" \" + ToString(Object.Behavior::EndY())", + "", + "" + ] + } ] } ] @@ -23837,52 +26820,37 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Car::Car", + "supplementaryInformation": "Level::RoadTileBehavior", "type": "behavior" - }, - { - "defaultValue": "yes", - "description": "IsAccelerating", - "name": "Value", - "optional": true, - "type": "yesorno" } ], "objectGroups": [] }, { - "description": "Check if is on the road.", - "fullName": "Is on the road", - "functionType": "Condition", - "group": "Car configuration", - "name": "IsOnRoad", - "sentence": "_PARAM0_ is on the road", + "description": "the path name of the road tile.", + "fullName": "Path name", + "functionType": "ExpressionAndCondition", + "name": "PathName", + "sentence": "the path", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Car::Car::PropertyIsOnRoad" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "SetReturnString" }, "parameters": [ - "True" + "Object.ObjectName() + \" \" + ToString(Object.Angle())" ] } ] } ], + "expressionType": { + "type": "string" + }, "parameters": [ { "description": "Object", @@ -23892,72 +26860,37 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Car::Car", + "supplementaryInformation": "Level::RoadTileBehavior", "type": "behavior" } ], "objectGroups": [] }, { - "description": "Change if is on the road.", - "fullName": "Is on the road", - "functionType": "Action", - "group": "Car configuration", - "name": "SetIsOnRoad", - "sentence": "_PARAM0_ is on the road: _PARAM2_", + "description": "the inverted path name of the road tile.", + "fullName": "Inverted path name", + "functionType": "ExpressionAndCondition", + "name": "InvertedPathName", + "sentence": "the inverted path", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Value\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "Car::Car::SetPropertyIsOnRoad" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Value\"" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "Car::Car::SetPropertyIsOnRoad" + "value": "SetReturnString" }, "parameters": [ - "Object", - "Behavior", - "yes" + "Object. Behavior::PathName() + \" i\"" ] } ] } ], + "expressionType": { + "type": "string" + }, "parameters": [ { "description": "Object", @@ -23967,24 +26900,18 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Car::Car", + "supplementaryInformation": "Level::RoadTileBehavior", "type": "behavior" - }, - { - "defaultValue": "yes", - "description": "IsOnRoad", - "name": "Value", - "optional": true, - "type": "yesorno" } ], "objectGroups": [] }, { - "fullName": "Turn left", - "functionType": "Action", - "name": "TurnLeft", - "sentence": "_PARAM0_ turn left", + "description": "the start X of the road tile.", + "fullName": "Start X", + "functionType": "ExpressionAndCondition", + "name": "StartX", + "sentence": "the start X", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -23992,18 +26919,28 @@ "actions": [ { "type": { - "value": "Car::Car::SetPropertyTurnSpeed" + "value": "Level::RoadTileBehavior::InitializePathes" }, "parameters": [ "Object", "Behavior", - "=", - "-Object.Behavior::PropertyMaxTurnSpeed()" + "" + ] + }, + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.CenterX() + Object.Behavior::PropertyRotatedStartX()" ] } ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { "description": "Object", @@ -24013,17 +26950,18 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Car::Car", + "supplementaryInformation": "Level::RoadTileBehavior", "type": "behavior" } ], "objectGroups": [] }, { - "fullName": "Turn right", - "functionType": "Action", - "name": "TurnRight", - "sentence": "_PARAM0_ turn right", + "description": "the start Y of the road tile.", + "fullName": "Start Y", + "functionType": "ExpressionAndCondition", + "name": "StartY", + "sentence": "the start Y", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -24031,18 +26969,28 @@ "actions": [ { "type": { - "value": "Car::Car::SetPropertyTurnSpeed" + "value": "Level::RoadTileBehavior::InitializePathes" }, "parameters": [ "Object", "Behavior", - "=", - "Object.Behavior::PropertyMaxTurnSpeed()" + "" + ] + }, + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.CenterY() + Object.Behavior::PropertyRotatedStartY()" ] } ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { "description": "Object", @@ -24052,17 +27000,18 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Car::Car", + "supplementaryInformation": "Level::RoadTileBehavior", "type": "behavior" } ], "objectGroups": [] }, { - "fullName": "Go straight", - "functionType": "Action", - "name": "GoStraight", - "sentence": "_PARAM0_ go straight", + "description": "the end X of the road tile.", + "fullName": "End X", + "functionType": "ExpressionAndCondition", + "name": "EndX", + "sentence": "the end X", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -24070,51 +27019,20 @@ "actions": [ { "type": { - "value": "Car::Car::SetPropertyTurnSpeed" + "value": "Level::RoadTileBehavior::InitializePathes" }, "parameters": [ "Object", "Behavior", - "=", - "0" + "" ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "Car::Car", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "the displacement of the object from the road center.", - "fullName": "Road center displacement", - "functionType": "ExpressionAndCondition", - "group": "Car configuration", - "name": "RoadCenterDelta", - "sentence": "the road center displacement", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + }, { "type": { "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyRoadCenterDelta()" + "Object.Behavior::StartX() + CurvedMovement::PathEndX(Object.Behavior::PathName())" ] } ] @@ -24132,30 +27050,39 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Car::Car", + "supplementaryInformation": "Level::RoadTileBehavior", "type": "behavior" } ], "objectGroups": [] }, { - "description": "the turn speed of the object.", - "fullName": "Turn speed", + "description": "the end Y of the road tile.", + "fullName": "End Y", "functionType": "ExpressionAndCondition", - "group": "Car configuration", - "name": "TurnSpeed", - "sentence": "the turn speed", + "name": "EndY", + "sentence": "the end Y", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ + { + "type": { + "value": "Level::RoadTileBehavior::InitializePathes" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, { "type": { "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyTurnSpeed()" + "Object.Behavior::StartY() + CurvedMovement::PathEndY(Object.Behavior::PathName())" ] } ] @@ -24173,38 +27100,58 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Car::Car", + "supplementaryInformation": "Level::RoadTileBehavior", "type": "behavior" } ], "objectGroups": [] }, { - "description": "the max speed of the object.", - "fullName": "Max speed", - "functionType": "ExpressionAndCondition", - "group": "Car configuration", - "name": "MaxSpeed", - "sentence": "the max speed", + "fullName": "Start position", + "functionType": "Condition", + "name": "IsStartPosition", + "sentence": "_PARAM0_ start position is at _PARAM2_ ; _PARAM3_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "Level::RoadTileBehavior::StartX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"X\")", + "" + ] + }, + { + "type": { + "value": "Level::RoadTileBehavior::StartY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Y\")", + "" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "Object.Behavior::PropertyMaxSpeed()" + "True" ] } ] } ], - "expressionType": { - "type": "expression" - }, "parameters": [ { "description": "Object", @@ -24214,32 +27161,63 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Car::Car", + "supplementaryInformation": "Level::RoadTileBehavior", "type": "behavior" + }, + { + "description": "Sart X", + "name": "X", + "type": "expression" + }, + { + "description": "Start Y", + "name": "Y", + "type": "expression" } ], "objectGroups": [] }, { - "fullName": "", - "functionType": "ActionWithOperator", - "getterName": "MaxSpeed", - "name": "SetMaxSpeed", - "sentence": "", + "fullName": "End position", + "functionType": "Condition", + "name": "IsEndPosition", + "sentence": "_PARAM0_ end position is at _PARAM2_ ; _PARAM3_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ + { + "type": { + "value": "Level::RoadTileBehavior::EndX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"X\")", + "" + ] + }, { "type": { - "value": "Car::Car::SetPropertyMaxSpeed" + "value": "Level::RoadTileBehavior::EndY" }, "parameters": [ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")" + "GetArgumentAsNumber(\"Y\")", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" ] } ] @@ -24254,8 +27232,18 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Car::Car", + "supplementaryInformation": "Level::RoadTileBehavior", "type": "behavior" + }, + { + "description": "Sart X", + "name": "X", + "type": "expression" + }, + { + "description": "Start Y", + "name": "Y", + "type": "expression" } ], "objectGroups": [] @@ -24264,161 +27252,9714 @@ "propertyDescriptors": [ { "value": "", - "type": "Behavior", - "label": "Movement on a curve (speed-based)", - "description": "", - "group": "", - "extraInformation": [ - "CurvedMovement::SpeedPathMovement" - ], - "hidden": false, - "name": "SpeedPathMovement" - }, - { - "value": "", - "type": "Boolean", - "label": "Is accelerating", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "IsAccelerating" - }, - { - "value": "", - "type": "Boolean", - "label": "Is on the road", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "IsOnRoad" - }, - { - "value": "100", - "type": "Number", - "unit": "PixelAcceleration", - "label": "Acceleration", + "type": "String", + "label": "Path", "description": "", "group": "", "extraInformation": [], "hidden": false, - "name": "Acceleration" + "name": "Path" }, { - "value": "250", + "value": "0", "type": "Number", - "unit": "PixelSpeed", - "label": "Max speed", + "unit": "Pixel", + "label": "Path start X position from object center", "description": "", "group": "", "extraInformation": [], "hidden": false, - "name": "MaxSpeed" + "name": "StartX" }, { - "value": "64", + "value": "0", "type": "Number", - "unit": "PixelSpeed", - "label": "Max turn speed", + "unit": "Pixel", + "label": "Path start Y position from object center", "description": "", "group": "", "extraInformation": [], "hidden": false, - "name": "MaxTurnSpeed" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "PreviousAngle" + "name": "StartY" }, { "value": "", "type": "Number", + "unit": "Pixel", "label": "", "description": "", "group": "", "extraInformation": [], "hidden": true, - "name": "RoadCenterDelta" + "name": "RotatedStartX" }, { "value": "", "type": "Number", + "unit": "Pixel", "label": "", "description": "", "group": "", "extraInformation": [], "hidden": true, - "name": "TurnSpeed" - }, - { - "value": "0.5", - "type": "Number", - "label": "Centrifugal shift (in pixels per degree)", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "CentrifugalShift" + "name": "RotatedStartY" } ], "sharedPropertyDescriptors": [] } ], - "eventsBasedObjects": [] + "eventsBasedObjects": [] + } + ], + "externalLayouts": [ + { + "associatedLayout": "Game", + "name": "Level1", + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "658b8db5-1399-4477-a5eb-7d457171cb75", + "width": 64, + "x": 81, + "y": -144, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "800a0265-c502-4d28-a6a4-beea6b34d8ad", + "width": 64, + "x": -326, + "y": -20, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "d17af143-370d-40a9-a224-c686af0749ba", + "width": 64, + "x": -616, + "y": -196, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "130654d8-14fa-4990-8cfd-03c85358c1d7", + "width": 64, + "x": -606, + "y": 181, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "dfc4be74-2c2b-4a72-9454-b599986785b2", + "width": 64, + "x": -683, + "y": -64, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6385ab0a-e2d1-4f60-a1b8-47221256f662", + "width": 64, + "x": -351, + "y": -118, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "50aa39fd-4726-4d95-a588-255e21722dcf", + "width": 64, + "x": -119, + "y": 65, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e9fcf8e0-0dcf-4bf7-8c12-59a70359b999", + "width": 64, + "x": -181, + "y": 246, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "1a943b4c-93c8-4b83-9aeb-471577565a1d", + "width": 64, + "x": 111, + "y": 125, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "fbb30f38-f9c6-49dd-b310-d8ee9710bf33", + "width": 64, + "x": -225, + "y": -310, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b7044c60-1f2f-43ba-9f08-794512ce74e8", + "width": 64, + "x": -804, + "y": -278, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "d02071ac-fb16-4dc8-873d-474c73a7f3f6", + "width": 64, + "x": -755, + "y": 277, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "d90f6171-e38b-4c80-9ace-699859c2bcf6", + "width": 64, + "x": -412, + "y": 274, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 3040, + "layer": "Ground", + "name": "NewObject", + "persistentUuid": "1fc53b65-5038-4454-bec5-cac29e386210", + "width": 4480, + "x": -1760, + "y": -1280, + "z": -1, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "4aab87be-2081-42a0-b69d-432bb8c0f38f", + "width": 64, + "x": -752, + "y": 96, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b28c7f85-21aa-498d-924b-8713e1af58b3", + "width": 64, + "x": -144, + "y": -189, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "4184693f-cfcc-4ca3-afed-b287e9832cad", + "width": 64, + "x": 304, + "y": -96, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "771e37db-de65-434f-9baa-784db8b6159f", + "width": 64, + "x": 336, + "y": 256, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "72bc5e47-7ad9-44fa-ada2-847c9b0ba57b", + "width": 64, + "x": 436, + "y": 16, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "bd77480e-071b-4a73-bd39-508bb64bedc6", + "width": 64, + "x": 500, + "y": -352, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "0b826ab1-3d73-4ca9-94e7-054e3137a875", + "width": 64, + "x": 272, + "y": -544, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "5c6da16a-3c2a-476c-9e90-629a1a159803", + "width": 64, + "x": 20, + "y": -544, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a433c10c-c4e8-437d-80fd-3edd9b3f7497", + "width": 64, + "x": 144, + "y": -672, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e294f1c4-f40a-4a38-be46-524ba60ffa93", + "width": 64, + "x": -204, + "y": -544, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e2003239-fe48-4d8a-83e5-90160f56f5cb", + "width": 64, + "x": -368, + "y": -640, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6ceae07a-1e39-4526-afb3-4a92f713f69e", + "width": 64, + "x": -556, + "y": -576, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "69a7d1eb-3170-43ab-8402-232b64362ee1", + "width": 64, + "x": -784, + "y": -480, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e528fa04-2b45-451e-80e9-e5dc30bf1a3f", + "width": 64, + "x": -400, + "y": -480, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "06e84414-8ce9-4377-abdd-638b0e28026b", + "width": 64, + "x": -976, + "y": -192, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e7ac7a7a-8f4e-4ecd-8c18-2223030d86af", + "width": 64, + "x": -944, + "y": 32, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "ce35f618-9ab7-4277-91c5-409832a3e5b4", + "width": 64, + "x": -1168, + "y": -64, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a4505b3a-b652-494d-bb12-736db0410dd8", + "width": 64, + "x": -1104, + "y": -416, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "f2346ccd-67d2-46f0-bcc7-1012ef65dc15", + "width": 64, + "x": -880, + "y": -640, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e4c74e71-543c-4b73-b15c-51fb714b2894", + "width": 64, + "x": -1072, + "y": 288, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "145335e6-a76b-4d24-b392-3cbdd6722618", + "width": 64, + "x": -848, + "y": 480, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "50b29bfe-2844-4b1c-b7c0-60b7e0810a15", + "width": 64, + "x": -592, + "y": 416, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b7a60abb-551e-4ebf-993f-41106c81b520", + "width": 64, + "x": -240, + "y": 448, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "42904daf-74ac-4a8a-8b40-0ba48f4ef8fa", + "width": 64, + "x": -496, + "y": 608, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a2720829-a570-44cc-8215-8b9161b047a8", + "width": 64, + "x": 80, + "y": 576, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "f5c6e674-4a77-45b3-9424-4abeb68cc336", + "width": 64, + "x": 112, + "y": 352, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "72d20cbe-18ed-456e-9769-21369d52b40f", + "width": 64, + "x": 220, + "y": 512, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "ff03058b-5af5-4643-8294-3797026bb013", + "width": 64, + "x": 591, + "y": 233, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "300b2b24-1cb8-4fe7-ac88-98273b5d5f66", + "width": 64, + "x": 592, + "y": -160, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e2117f12-18a7-4e3f-b30d-cb374fb2101a", + "width": 64, + "x": 506, + "y": -576, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "36525e25-67e9-46b8-bf04-6315d3656888", + "width": 0, + "x": 16, + "y": 128, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "97659789-3684-473f-a9b2-cfe433d7ec87", + "width": 0, + "x": -336, + "y": 192, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "24284c69-2fe0-49f1-9b8e-b7cc69737d3f", + "width": 0, + "x": -240, + "y": -64, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "af8fe4e0-ffdd-4bc5-8546-0cc1180e3578", + "width": 0, + "x": 80, + "y": -256, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "7cc4bab9-51c9-4044-8e5a-b795a2d6fc27", + "width": 0, + "x": 304, + "y": 64, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "dc7a02ed-3d73-4ea1-a55c-b033280d51fc", + "width": 0, + "x": -624, + "y": 32, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8fadb10d-9c9e-4017-b8b6-e402a42f4544", + "width": 0, + "x": -688, + "y": -224, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "ca1ce616-675d-4be3-ac1b-57e54810fbbf", + "width": 0, + "x": -336, + "y": -256, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "408fe2a4-4375-45ba-a7a1-d53cd0e89dd3", + "width": 0, + "x": -592, + "y": 288, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "2e1cdcc4-894d-4eac-881e-c0e6592485a5", + "width": 0, + "x": -796, + "y": 235, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "202781d0-21e9-4e3f-9ed3-4ab4850fb3b8", + "width": 0, + "x": 80, + "y": 224, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "1184a7e1-4483-48bc-b581-ada280d2465a", + "width": 0, + "x": -79, + "y": -223, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "7b742e1d-b1f9-40b0-b902-244133490486", + "width": 0, + "x": 208, + "y": -224, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "81a26ae5-4469-4154-86ba-b43dd976dade", + "width": 0, + "x": 336, + "y": -192, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "82cae5dc-0255-4bdb-98c8-1eaec15c2500", + "width": 0, + "x": -528, + "y": -320, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "482e5b5e-ad89-4684-a4ae-50292a91fb5b", + "width": 64, + "x": 902, + "y": -395, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "610aae8d-3d1a-4c6e-908f-844d8855574b", + "width": 64, + "x": 639, + "y": -195, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "ff67ec13-741a-4db4-9814-99cb9621717c", + "width": 64, + "x": 1156, + "y": 174, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "78adcab0-0b5c-4221-bee5-21dfac9f19a4", + "width": 64, + "x": 716, + "y": 566, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "db9b1723-aaf3-45e8-b9b5-4850b5d31e24", + "width": 64, + "x": 369, + "y": 425, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "28ade7ff-853e-4da0-9378-0414559c213c", + "width": 64, + "x": -39, + "y": 810, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "ff21a146-04a5-4722-aba2-6ec700540c0a", + "width": 64, + "x": 28, + "y": 1000, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "c299a1d6-3c9c-4254-8d43-5eb464eeba43", + "width": 64, + "x": 417, + "y": 904, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "2f7061bd-550b-4aab-862c-14c5d6085d10", + "width": 64, + "x": 575, + "y": 668, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6f5ea165-541f-4600-bb1a-a41cef47ab30", + "width": 64, + "x": 1008, + "y": 782, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "db38f925-9dc0-4c76-b097-583254ecbbf8", + "width": 64, + "x": 424, + "y": 621, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "3f2298df-05c8-4d3e-b17b-d81f6d89265c", + "width": 64, + "x": 1224, + "y": 463, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "46b67c4e-f139-450e-b8ce-a63f206dfabe", + "width": 64, + "x": 1545, + "y": 701, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "00a893b8-3116-4d70-934c-491b2f669025", + "width": 64, + "x": 922, + "y": 344, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "0811c566-f99e-4734-bf28-66a63c23176d", + "width": 64, + "x": 1141, + "y": -57, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "3065840c-83b5-4241-9e7c-d91536fe9eaa", + "width": 64, + "x": 1391, + "y": -319, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "4c54744e-3fdb-4b50-a995-24860531b645", + "width": 64, + "x": 1680, + "y": -35, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "37d188f1-1447-4775-b721-8750b5fdcfdb", + "width": 64, + "x": 1569, + "y": -623, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "0db55011-7c5f-429f-85a6-2a5de74c095c", + "width": 64, + "x": 1135, + "y": -659, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6753dbd4-95a7-4415-9a02-2fd6e2bd8337", + "width": 64, + "x": 816, + "y": -542, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "f5e93584-ecc5-4889-9030-880ade987bfd", + "width": 64, + "x": 1717, + "y": -379, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "908edb61-0f56-4434-80c0-ee60854a5047", + "width": 64, + "x": 1703, + "y": 389, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "89f9f0b0-9dd8-46e6-83a3-04723e2a6765", + "width": 64, + "x": 1406, + "y": 187, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a79a28bf-3838-40f9-86af-d1a41740df8b", + "width": 64, + "x": 1365, + "y": 849, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "929efd19-0aa0-4779-9714-e8e39c32de14", + "width": 64, + "x": 671, + "y": 1048, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "40a767ea-3941-462f-a1e4-30635124aa68", + "width": 64, + "x": 1089, + "y": 1106, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "7aa834ee-b512-47b0-a2f4-320eecf574f6", + "width": 64, + "x": 1712, + "y": 958, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "cbbf8c59-ef3c-49fe-b670-9a73bcbcaca2", + "width": 64, + "x": 1760, + "y": 618, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "daa85d1d-8edd-4f91-840c-99ab8cc9618d", + "width": 64, + "x": 1854, + "y": 139, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "af6cd0d1-8810-4ad7-934f-587143ca9497", + "width": 64, + "x": 1831, + "y": -237, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6daa9573-4d71-4402-af55-21c514b32e3c", + "width": 64, + "x": -248, + "y": 753, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "3444541a-cdb1-498c-b666-6de0acdff036", + "width": 0, + "x": 613, + "y": 757, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "1a5949e6-e7c1-4fba-b7ef-c6824b3c9dba", + "width": 0, + "x": 915, + "y": 629, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "a86adb95-d20b-422e-b484-dae04ad164ed", + "width": 0, + "x": 1130, + "y": 529, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "53931cea-ceb4-46a4-bb43-6c6908ccec2d", + "width": 0, + "x": 1371, + "y": 680, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "ec078a53-d284-45e5-a587-6cfb1d4b52b0", + "width": 0, + "x": 1117, + "y": 937, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "6806c58f-e8cb-4560-a57c-683b050b5e19", + "width": 0, + "x": 857, + "y": 1005, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "17da959d-a5d6-49e4-bb3c-fcd5827f7af6", + "width": 0, + "x": 860, + "y": 532, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "c473b459-c008-4362-8567-86236270de76", + "width": 0, + "x": 1297, + "y": 388, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "97de7a86-80a9-4e3d-9086-b1d3aa288895", + "width": 0, + "x": 1307, + "y": 143, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "53e7b84c-ad91-465e-8cf3-97a3ebce7c13", + "width": 0, + "x": 1705, + "y": 105, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "1ed1c544-13a0-4939-98ac-25c6029526dd", + "width": 0, + "x": 1805, + "y": -69, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "0847f413-24c4-4122-b5c8-d03460dc5a34", + "width": 0, + "x": 1680, + "y": -178, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "45e976fc-7afe-4024-a9a2-b1ff9aae88ad", + "width": 0, + "x": 1439, + "y": -409, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "7f207f6e-c74e-4b16-bec1-efae2431a60f", + "width": 0, + "x": 1161, + "y": -214, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8e6a6aeb-cce6-4f4e-b34d-ebe2c383879a", + "width": 0, + "x": 966, + "y": -81, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "75ebaa50-f4e5-4aec-9a45-3a13c0f3412f", + "width": 0, + "x": 757, + "y": 206, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "bc1248bf-f6af-4e81-8a59-884806dd78ce", + "width": 0, + "x": 616, + "y": -62, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "e75af5ed-23d6-45fb-908d-3d5ddf986e78", + "width": 0, + "x": 767, + "y": -223, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "3e41e961-3b73-4f28-8a1d-09026d83a19e", + "width": 0, + "x": 664, + "y": -396, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "dfb33a69-8ea8-4073-935c-7782ad123d83", + "width": 0, + "x": 802, + "y": -335, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "c3e03338-eb4a-499e-bbde-692c7727cfe7", + "width": 0, + "x": 738, + "y": 384, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "bc9896e0-b407-4bd3-b887-5af40595d2dd", + "width": 0, + "x": 545, + "y": 552, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8feb4794-432f-4563-ab82-e9c2c9fe22ca", + "width": 0, + "x": 210, + "y": 745, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "2e838f66-437c-4537-b8d4-a555831b48cb", + "width": 0, + "x": 275, + "y": 542, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "4bc1ed0c-020d-4148-98d6-1933d02f494b", + "width": 0, + "x": 25, + "y": 439, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "66ec4625-bbf2-4f10-835f-fd66ac9e251b", + "width": 0, + "x": 243, + "y": 262, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "f7fc7d3e-bac6-4991-9013-253026d2fc32", + "width": 0, + "x": 301, + "y": 985, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8d3a3e2a-1434-4afe-966f-483591eec3b6", + "width": 0, + "x": 1172, + "y": 773, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "1a8d7770-02ea-4ef9-ab13-b7994ca46620", + "width": 0, + "x": 790, + "y": 760, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "fae9a9d4-2ec5-49b1-a17c-004739bcb913", + "width": 0, + "x": 1416, + "y": 452, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8ea1609c-19a6-4fd2-ac35-dccc2d5ec294", + "width": 0, + "x": 1085, + "y": 401, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "02ab7a7a-6d19-4b1e-b147-0a7bf286a791", + "width": 0, + "x": 1108, + "y": 41, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "e2a54e6d-a13e-4865-95fb-db8b5cd674ee", + "width": 0, + "x": 1786, + "y": 304, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "caeb77fb-3375-49bc-8db1-af7536082513", + "width": 0, + "x": 1548, + "y": -69, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "640225c3-4c98-492e-a439-c08344e7ffb5", + "width": 0, + "x": 1263, + "y": -304, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "3ebebee7-9c21-4fa4-ac78-7fd0b41c2c8f", + "width": 0, + "x": 892, + "y": -265, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "5406ec66-2183-4df1-9cea-eb52ded1d924", + "width": 0, + "x": 147, + "y": -486, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "f24c0dcc-a5c8-4fe5-9c23-66290bd0d569", + "width": 0, + "x": -123, + "y": -416, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "791730ce-ef79-4a07-88f1-3a7ca17df82b", + "width": 0, + "x": -464, + "y": -101, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "408cda88-3ad6-4bd1-ab3c-24830206fd82", + "width": 0, + "x": -62, + "y": 616, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "5541c4e3-ff65-4a6d-9c50-89e6ffa4ba8a", + "width": 64, + "x": 1445, + "y": 1059, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a40f7f26-f805-468e-a68e-6415c895a975", + "width": 64, + "x": 1920, + "y": 800, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "49a46495-6a91-41be-8e1f-f2a6cd0e8bc8", + "width": 64, + "x": 2025, + "y": 400, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a6fa50af-ca24-4ed1-93b1-ac25e8ffdea4", + "width": 64, + "x": 2104, + "y": -16, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "2ea9e115-c780-4d7e-aa81-a65704d39dfc", + "width": 64, + "x": 2021, + "y": -467, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "2d52194e-7ed6-48ba-a2f8-3e5c0c2f6d5a", + "width": 64, + "x": 1778, + "y": -714, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "dff9d469-cc9f-4175-a6c8-932e3cf1e301", + "width": 64, + "x": 1402, + "y": -702, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "df83c1ad-1579-449b-9fd3-7691ed693f1c", + "width": 64, + "x": 982, + "y": -808, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "1274bc9e-29b2-44fe-94eb-7fca77de831c", + "width": 64, + "x": 677, + "y": -737, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "805eb33f-a7c9-46ed-b164-5544919070e8", + "width": 64, + "x": 339, + "y": -819, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "90274807-f66e-4bcf-895e-6c17861e788f", + "width": 64, + "x": -72, + "y": -831, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b708d28c-ab2d-415b-8f65-7fb59948173b", + "width": 64, + "x": -755, + "y": 686, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "4d229bd2-5edf-491f-bccd-b0c3f0b306f1", + "width": 64, + "x": -1162, + "y": 541, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "84edbcb6-0aac-45f8-ac5a-e96a6166eb81", + "width": 64, + "x": 869, + "y": 1274, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "dd73c4e1-af3d-48bf-896a-c767074774ea", + "width": 64, + "x": 1296, + "y": 1298, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "fd3a6378-0225-4b97-b04d-09da1697bde2", + "width": 64, + "x": 1700, + "y": 1188, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "5a621ee7-2426-477d-b830-8b492f14d9bc", + "width": 64, + "x": 1970, + "y": 1008, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "c95c48f3-4eb4-4ff0-bbd9-4f2ef221d907", + "width": 64, + "x": 2112, + "y": 623, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "3ecd527e-3447-4f3d-b026-215836d83da3", + "width": 64, + "x": 2163, + "y": 188, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b77de35a-30d5-4914-92cb-cd078eec0ff6", + "width": 64, + "x": 2014, + "y": -290, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b3665b55-dcb0-47c4-a170-eb9a68785ec9", + "width": 64, + "x": 1241, + "y": -816, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "685df9a1-dc92-4ab2-a142-b28774b36335", + "width": 64, + "x": 1633, + "y": -788, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "518bdbb7-bb9e-4ad5-9811-e967d99676b1", + "width": 64, + "x": 1226, + "y": -490, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "21d6d4cb-1c70-4ed6-8522-551817835a45", + "width": 64, + "x": 253, + "y": 1047, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 180, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bend44", + "persistentUuid": "f7213817-b49a-42cc-ae40-d801889180d2", + "width": 0, + "x": 1280, + "y": 160, + "zOrder": 34, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Start", + "persistentUuid": "16e97afb-fb28-40eb-8316-1c227f79857a", + "width": 0, + "x": 354, + "y": 264, + "zOrder": 49, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftBend34", + "persistentUuid": "671a8588-f0d8-4405-a8c8-4bc65277ee31", + "width": 0, + "x": 1360, + "y": -160, + "zOrder": 50, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftZigZag44", + "persistentUuid": "e9c834eb-81ec-48ad-a16c-14e15cff4da5", + "width": 0, + "x": 1040, + "y": -160, + "zOrder": 51, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightZigZag44", + "persistentUuid": "907918fd-50a9-41dd-bb8d-f1ef964acc65", + "width": 0, + "x": -240, + "y": -160, + "zOrder": 52, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bend44", + "persistentUuid": "5c21298e-9b99-4db7-896c-4443dbfaff2c", + "width": 0, + "x": -560, + "y": -160, + "zOrder": 54, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightZigZag34", + "persistentUuid": "63c6e8ab-9e0d-4f82-b694-3a84d00f0609", + "width": 0, + "x": 1000, + "y": 200, + "zOrder": 55, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftZigZag35", + "persistentUuid": "b9e2abb8-759b-466b-b1be-28951c287d54", + "width": 0, + "x": -280, + "y": 200, + "zOrder": 56, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftZigZag24", + "persistentUuid": "48d8fa35-5521-4c3e-a9e2-1958861e5bd6", + "width": 0, + "x": 160, + "y": -80, + "zOrder": 57, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightZigZag24", + "persistentUuid": "e77dc1a6-cbbc-4d8c-bbd9-74e20d2501c5", + "width": 0, + "x": 800, + "y": -80, + "zOrder": 58, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 180, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftBend34", + "persistentUuid": "5d4cbaf9-87e7-4301-adf6-fc357da8f47d", + "width": 0, + "x": -560, + "y": 160, + "zOrder": 50, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightZigZag24", + "persistentUuid": "c24f9a2f-ee86-4211-bcd3-f49a87d6b9e5", + "width": 0, + "x": 80, + "y": 160, + "zOrder": 58, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftZigZag24", + "persistentUuid": "7d04aa0f-094e-41d9-b6ac-fc49860762c5", + "width": 0, + "x": 720, + "y": 160, + "zOrder": 57, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": false, + "height": 0, + "layer": "", + "name": "Line2", + "persistentUuid": "bcf4c0fe-7c9f-43e8-a3f0-6aec15785f7e", + "width": 0, + "x": 360, + "y": 280, + "zOrder": 59, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": false, + "height": 0, + "layer": "", + "name": "Line2", + "persistentUuid": "d772fe6e-fc0a-415b-b4b5-27c5ae419540", + "width": 0, + "x": 440, + "y": -40, + "zOrder": 59, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": false, + "height": 0, + "layer": "", + "name": "Line2", + "persistentUuid": "45a58565-1aa0-492f-bf94-8206fad97111", + "width": 0, + "x": 520, + "y": 280, + "zOrder": 59, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": false, + "height": 0, + "layer": "", + "name": "Line2", + "persistentUuid": "014463e9-9ef7-49c1-bd7e-b28f2ff26b72", + "width": 0, + "x": 600, + "y": -40, + "zOrder": 59, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "741de386-a4ee-452b-9eac-acfc8077add5", + "width": 0, + "x": 773, + "y": -894, + "zOrder": 60, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "dbe48d4a-9ae3-45fd-a1ca-54413a677579", + "width": 0, + "x": 454, + "y": -735, + "zOrder": 61, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "5142de80-5883-43c8-93db-d84afc88da7e", + "width": 0, + "x": 705, + "y": 868, + "zOrder": 62, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "2f86a9da-4998-444e-81c1-52a30ca1afd2", + "width": 0, + "x": -299, + "y": 574, + "zOrder": 63, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "2a2d171c-0b10-48bc-8fbe-bc30b8ec2516", + "width": 0, + "x": -276, + "y": 100, + "zOrder": 64, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "55175a8e-92ec-4ccb-9d10-c46f2a838a94", + "width": 0, + "x": -844, + "y": -85, + "zOrder": 65, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "a93f7b75-8ddd-46ee-9616-274f4cdd8aad", + "width": 0, + "x": 1089, + "y": -343, + "zOrder": 66, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "9f63e92e-5ffd-47fc-8e1a-fedc4a49a4a4", + "width": 0, + "x": 983, + "y": -626, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "3d22e37b-151c-4613-a122-3fe7d39f9bfe", + "width": 0, + "x": 1940, + "y": 566, + "zOrder": 68, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "c027222a-05ca-41fa-8678-ccba53f4c3ed", + "width": 0, + "x": 1536, + "y": 884, + "zOrder": 69, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "b7394263-25d3-4d37-881d-a10a3f5a711b", + "width": 0, + "x": 454, + "y": 1084, + "zOrder": 70, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "2bbd7cb0-98f0-4abd-9f0d-3d6a5f33b43a", + "width": 0, + "x": -323, + "y": 982, + "zOrder": 71, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "60c34455-1a03-4bf4-af1d-174cb8cbbbb8", + "width": 0, + "x": 748, + "y": 64, + "zOrder": 72, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "c0747358-3772-40d4-957c-1d7ce814e9dc", + "width": 0, + "x": 1516, + "y": 472, + "zOrder": 73, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "1a8914fd-9d63-4e89-a205-7ef458fb8f43", + "width": 0, + "x": 1304, + "y": 1131, + "zOrder": 74, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "ea94e063-bdf4-47e6-bb74-8a708526aee8", + "width": 0, + "x": 2159, + "y": 402, + "zOrder": 75, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "ca96bff0-96c6-43a0-a29e-86a6ea33dae3", + "width": 0, + "x": 1759, + "y": -536, + "zOrder": 76, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "6706c898-87d7-455b-bed4-109ad1865dac", + "width": 0, + "x": 2175, + "y": -155, + "zOrder": 77, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "ae895c1f-97bd-499f-8d9f-08377cfa415a", + "width": 0, + "x": 1904, + "y": -555, + "zOrder": 78, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "3d82f5a7-f4b1-4ba8-b495-788d15ee4074", + "width": 0, + "x": 1363, + "y": -877, + "zOrder": 79, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "11a2768c-6191-481b-a56a-a7ef889370d8", + "width": 0, + "x": 1540, + "y": -375, + "zOrder": 80, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "f5dd5929-35bd-4565-9fc9-fb58689afa55", + "width": 0, + "x": 1406, + "y": -539, + "zOrder": 81, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "da92be9c-9622-4de0-b476-425e0467475f", + "width": 0, + "x": 191, + "y": -387, + "zOrder": 82, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "f336f7d3-3144-47f7-952b-40e69d160c9b", + "width": 0, + "x": -456, + "y": -743, + "zOrder": 83, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "de332c34-9cb6-4149-bbbe-d5d3950a6f14", + "width": 0, + "x": -268, + "y": -841, + "zOrder": 84, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "ece22fc8-29f4-49ce-99d5-30c80192d6d2", + "width": 0, + "x": -750, + "y": -735, + "zOrder": 85, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "9052a88b-1542-4122-a250-de8cb609d710", + "width": 0, + "x": -1017, + "y": 652, + "zOrder": 86, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "918609de-7d49-431a-9fd2-378dc7c0d523", + "width": 0, + "x": -527, + "y": 813, + "zOrder": 87, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "151bd8e1-f2d3-4a9d-915c-c64a33bf2714", + "width": 0, + "x": -150, + "y": 919, + "zOrder": 88, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "f4dec222-2539-44b4-a5bb-42fccca84789", + "width": 0, + "x": 148, + "y": 849, + "zOrder": 89, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "d64b7c24-e3ea-4d9b-b7bf-ccd9d43a27ba", + "width": 0, + "x": 297, + "y": 762, + "zOrder": 90, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "f8b8fe51-d8f0-4e86-a907-9d07b5be4210", + "width": 0, + "x": 642, + "y": 460, + "zOrder": 91, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "bd49b65c-4d90-420d-9951-35d9cfcd8eab", + "width": 0, + "x": 1872, + "y": -164, + "zOrder": 92, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "82ae9de2-2c8e-4d4b-87d2-1d2a2620dfd5", + "width": 0, + "x": 1910, + "y": 190, + "zOrder": 93, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "d4f9bca8-e9f1-4e21-8e60-4715a5f5a191", + "width": 0, + "x": 866, + "y": -514, + "zOrder": 94, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "75097b53-4991-4950-a2b9-adbaed6f7897", + "width": 0, + "x": -474, + "y": -472, + "zOrder": 95, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "3a8a307d-f1c5-4769-a369-5870e2307442", + "width": 0, + "x": -352, + "y": 684, + "zOrder": 96, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "738262c4-955e-40e1-9344-ea01f0de0f76", + "width": 0, + "x": -828, + "y": 241, + "zOrder": 97, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "9617a049-1262-4a39-8355-5b9a16c3f536", + "width": 0, + "x": 1072, + "y": 746, + "zOrder": 98, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "c0a86fb7-10da-4715-bd3e-6223c59c8b55", + "width": 0, + "x": 1451, + "y": -511, + "zOrder": 99, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "356e1e3c-cfe1-4cbc-8c95-c3868c733fbd", + "width": 0, + "x": 1721, + "y": 794, + "zOrder": 100, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "87a4e676-d933-430a-a6d6-2708523390bc", + "width": 0, + "x": 1888, + "y": 424, + "zOrder": 101, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "d360c576-dc59-4e33-b1d8-3f5cf1001a63", + "width": 0, + "x": 352, + "y": -421, + "zOrder": 102, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "d0a5d737-ff0d-492e-882e-8762bee37bac", + "width": 0, + "x": -680, + "y": 543, + "zOrder": 103, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "17ed53db-a659-4689-9b82-26fa3afc9971", + "width": 0, + "x": -1062, + "y": 93, + "zOrder": 104, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "455d8797-ee22-4742-8c39-9f3d94cf9736", + "width": 0, + "x": -1020, + "y": 434, + "zOrder": 105, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "77f92212-50e8-4a43-96df-1911c47b80f3", + "width": 0, + "x": -1113, + "y": -238, + "zOrder": 106, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "29deea76-acd2-4824-9cac-58545028eb05", + "width": 0, + "x": 1229, + "y": 967, + "zOrder": 107, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "f19bfd77-e64c-4a8a-ad1c-f0da63bfc1b7", + "width": 0, + "x": -683, + "y": 845, + "zOrder": 108, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "1f70c7b3-4bb3-4a8e-9996-e294a1adfd53", + "width": 0, + "x": 840, + "y": -109, + "zOrder": 109, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "de95a42c-3c2f-42b4-b7fd-afedd4bb62a2", + "width": 0, + "x": 1007, + "y": -196, + "zOrder": 110, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "f671a7da-941f-4d9a-821c-c062b30254a7", + "width": 0, + "x": 1550, + "y": -199, + "zOrder": 111, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "137cfbab-3b16-4e46-af8a-5ea642dd37c0", + "width": 0, + "x": 1390, + "y": -3, + "zOrder": 112, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "2956dfa5-986a-42a5-a6ec-3d0855960b57", + "width": 0, + "x": 1261, + "y": 251, + "zOrder": 113, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "6200f896-2a75-4287-815c-bf990e5d3ef7", + "width": 0, + "x": 493, + "y": 132, + "zOrder": 114, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "7af038db-969d-458f-8c7d-156c4e769c6f", + "width": 0, + "x": -439, + "y": 77, + "zOrder": 115, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "16191c2e-80ac-4746-8b1d-3421529960f8", + "width": 0, + "x": 1191, + "y": 331, + "zOrder": 116, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "03715bff-4e34-47da-b201-ddcde5146950", + "width": 0, + "x": 1367, + "y": 312, + "zOrder": 117, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "0598226e-d255-44ab-9eb7-49ca4d7b07c1", + "width": 0, + "x": 1464, + "y": 122, + "zOrder": 118, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "eac1d5b8-2cce-41ed-9496-b9007b033982", + "width": 0, + "x": 1293, + "y": -42, + "zOrder": 119, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "4fd7f604-2843-4005-b375-707209c80c75", + "width": 0, + "x": 574, + "y": 119, + "zOrder": 120, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "841287fd-a258-4aa4-8be8-7a3d873cc52f", + "width": 0, + "x": 333, + "y": 116, + "zOrder": 121, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "f65ab336-33c7-469b-8d93-33e0f1cb759c", + "width": 0, + "x": -201, + "y": 45, + "zOrder": 122, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "ce8a21bd-8f6b-4f3e-9718-fbfdf061860f", + "width": 0, + "x": 50, + "y": 10, + "zOrder": 123, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "8cb22db8-c0ea-4c8d-83ec-990cef776bf9", + "width": 0, + "x": 169, + "y": -19, + "zOrder": 124, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "8ad21625-2489-435b-90a6-9515e82c58c6", + "width": 0, + "x": 403, + "y": -215, + "zOrder": 125, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "09a46a1f-4b7f-4805-9c8b-e16461f36412", + "width": 0, + "x": 853, + "y": 392, + "zOrder": 126, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8c14994b-6c28-412c-9f05-ead37ca40231", + "width": 0, + "x": 982, + "y": 357, + "zOrder": 127, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "cff3ea54-a4a4-4337-9698-94ae51221ad9", + "width": 0, + "x": 1602, + "y": 328, + "zOrder": 128, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "787eefea-0c37-48fe-a683-5c36f6e3ef86", + "width": 0, + "x": 1425, + "y": 588, + "zOrder": 129, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "90b26309-066a-4563-a660-c07d61be328f", + "width": 0, + "x": -79, + "y": 402, + "zOrder": 130, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "4d6c0349-583f-4bb5-b957-ed9e198e8700", + "width": 0, + "x": -104, + "y": 508, + "zOrder": 131, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "6cea961f-ea58-4b32-a2f4-7866855f6e28", + "width": 0, + "x": 18, + "y": 370, + "zOrder": 132, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "91949ea7-71ff-451e-8540-4b1e6e50c0d3", + "width": 0, + "x": -410, + "y": 527, + "zOrder": 133, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "14b20fb5-37b1-4067-bd77-e9d57c27e41f", + "width": 0, + "x": -525, + "y": 453, + "zOrder": 134, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "3f0b55ac-77b6-4c3b-8e1d-28e713ba2944", + "width": 0, + "x": -577, + "y": 562, + "zOrder": 135, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "17dd5950-910e-48a0-add7-663b50b19fb6", + "width": 0, + "x": -734, + "y": 411, + "zOrder": 136, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8444df1d-d53c-4e0a-a68a-707084f66836", + "width": 0, + "x": -744, + "y": 19, + "zOrder": 137, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "a49ee3e3-31a0-4da2-a9bd-dcfb3394bb85", + "width": 0, + "x": -461, + "y": -241, + "zOrder": 138, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "b30eea0a-a4d6-4435-917f-a612f8e49a0f", + "width": 0, + "x": -2, + "y": -103, + "zOrder": 139, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "e65148d0-0d65-4ee0-828b-ec63a002b39a", + "width": 0, + "x": 1056, + "y": 495, + "zOrder": 140, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "2b374f80-4b8d-49a5-8387-3e5e65c2d31d", + "width": 0, + "x": 1602, + "y": 434, + "zOrder": 141, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "cbd86886-8c81-4023-b469-f075c15082e8", + "width": 0, + "x": 1319, + "y": -209, + "zOrder": 142, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 80, + "gridHeight": 80, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridColor": 0, + "gridAlpha": 0.25, + "snap": true, + "zoomFactor": 0.22336005893811542, + "windowMask": false + } + }, + { + "associatedLayout": "Game", + "name": "Level2", + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "658b8db5-1399-4477-a5eb-7d457171cb75", + "width": 64, + "x": 81, + "y": -144, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "800a0265-c502-4d28-a6a4-beea6b34d8ad", + "width": 64, + "x": -326, + "y": -20, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "d17af143-370d-40a9-a224-c686af0749ba", + "width": 64, + "x": -616, + "y": -196, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "130654d8-14fa-4990-8cfd-03c85358c1d7", + "width": 64, + "x": -606, + "y": 181, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "dfc4be74-2c2b-4a72-9454-b599986785b2", + "width": 64, + "x": -683, + "y": -64, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6385ab0a-e2d1-4f60-a1b8-47221256f662", + "width": 64, + "x": -351, + "y": -153, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "50aa39fd-4726-4d95-a588-255e21722dcf", + "width": 64, + "x": -119, + "y": 65, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e9fcf8e0-0dcf-4bf7-8c12-59a70359b999", + "width": 64, + "x": -181, + "y": 256, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "1a943b4c-93c8-4b83-9aeb-471577565a1d", + "width": 64, + "x": 111, + "y": 125, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "fbb30f38-f9c6-49dd-b310-d8ee9710bf33", + "width": 64, + "x": -225, + "y": -296, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b7044c60-1f2f-43ba-9f08-794512ce74e8", + "width": 64, + "x": -804, + "y": -278, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "d02071ac-fb16-4dc8-873d-474c73a7f3f6", + "width": 64, + "x": -755, + "y": 277, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "d90f6171-e38b-4c80-9ace-699859c2bcf6", + "width": 64, + "x": -412, + "y": 274, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 3040, + "layer": "Ground", + "name": "NewObject", + "persistentUuid": "1fc53b65-5038-4454-bec5-cac29e386210", + "width": 4480, + "x": -1760, + "y": -1280, + "z": -1, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "4aab87be-2081-42a0-b69d-432bb8c0f38f", + "width": 64, + "x": -752, + "y": 96, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b28c7f85-21aa-498d-924b-8713e1af58b3", + "width": 64, + "x": -144, + "y": -128, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "4184693f-cfcc-4ca3-afed-b287e9832cad", + "width": 64, + "x": 304, + "y": -96, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "771e37db-de65-434f-9baa-784db8b6159f", + "width": 64, + "x": 336, + "y": 256, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "72bc5e47-7ad9-44fa-ada2-847c9b0ba57b", + "width": 64, + "x": 436, + "y": 0, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "bd77480e-071b-4a73-bd39-508bb64bedc6", + "width": 64, + "x": 500, + "y": -352, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "0b826ab1-3d73-4ca9-94e7-054e3137a875", + "width": 64, + "x": 272, + "y": -544, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "5c6da16a-3c2a-476c-9e90-629a1a159803", + "width": 64, + "x": 20, + "y": -544, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a433c10c-c4e8-437d-80fd-3edd9b3f7497", + "width": 64, + "x": 144, + "y": -672, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e294f1c4-f40a-4a38-be46-524ba60ffa93", + "width": 64, + "x": -204, + "y": -544, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e2003239-fe48-4d8a-83e5-90160f56f5cb", + "width": 64, + "x": -368, + "y": -640, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6ceae07a-1e39-4526-afb3-4a92f713f69e", + "width": 64, + "x": -556, + "y": -576, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "69a7d1eb-3170-43ab-8402-232b64362ee1", + "width": 64, + "x": -784, + "y": -480, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e528fa04-2b45-451e-80e9-e5dc30bf1a3f", + "width": 64, + "x": -400, + "y": -480, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "06e84414-8ce9-4377-abdd-638b0e28026b", + "width": 64, + "x": -976, + "y": -192, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e7ac7a7a-8f4e-4ecd-8c18-2223030d86af", + "width": 64, + "x": -944, + "y": 32, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "ce35f618-9ab7-4277-91c5-409832a3e5b4", + "width": 64, + "x": -1168, + "y": -64, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a4505b3a-b652-494d-bb12-736db0410dd8", + "width": 64, + "x": -1104, + "y": -416, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "f2346ccd-67d2-46f0-bcc7-1012ef65dc15", + "width": 64, + "x": -880, + "y": -640, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e4c74e71-543c-4b73-b15c-51fb714b2894", + "width": 64, + "x": -1072, + "y": 288, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "145335e6-a76b-4d24-b392-3cbdd6722618", + "width": 64, + "x": -848, + "y": 480, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "50b29bfe-2844-4b1c-b7c0-60b7e0810a15", + "width": 64, + "x": -592, + "y": 416, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b7a60abb-551e-4ebf-993f-41106c81b520", + "width": 64, + "x": -240, + "y": 448, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "42904daf-74ac-4a8a-8b40-0ba48f4ef8fa", + "width": 64, + "x": -496, + "y": 608, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a2720829-a570-44cc-8215-8b9161b047a8", + "width": 64, + "x": 80, + "y": 576, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "f5c6e674-4a77-45b3-9424-4abeb68cc336", + "width": 64, + "x": 112, + "y": 352, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "72d20cbe-18ed-456e-9769-21369d52b40f", + "width": 64, + "x": 368, + "y": 512, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "ff03058b-5af5-4643-8294-3797026bb013", + "width": 64, + "x": 560, + "y": 288, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "300b2b24-1cb8-4fe7-ac88-98273b5d5f66", + "width": 64, + "x": 592, + "y": -160, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e2117f12-18a7-4e3f-b30d-cb374fb2101a", + "width": 64, + "x": 506, + "y": -576, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "36525e25-67e9-46b8-bf04-6315d3656888", + "width": 0, + "x": 16, + "y": 128, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "97659789-3684-473f-a9b2-cfe433d7ec87", + "width": 0, + "x": -335, + "y": 166, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "24284c69-2fe0-49f1-9b8e-b7cc69737d3f", + "width": 0, + "x": -240, + "y": -64, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "af8fe4e0-ffdd-4bc5-8546-0cc1180e3578", + "width": 0, + "x": 80, + "y": -256, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "7cc4bab9-51c9-4044-8e5a-b795a2d6fc27", + "width": 0, + "x": 304, + "y": 64, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "dc7a02ed-3d73-4ea1-a55c-b033280d51fc", + "width": 0, + "x": -624, + "y": 32, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8fadb10d-9c9e-4017-b8b6-e402a42f4544", + "width": 0, + "x": -688, + "y": -224, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "ca1ce616-675d-4be3-ac1b-57e54810fbbf", + "width": 0, + "x": -328, + "y": -216, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "408fe2a4-4375-45ba-a7a1-d53cd0e89dd3", + "width": 0, + "x": -592, + "y": 288, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "2e1cdcc4-894d-4eac-881e-c0e6592485a5", + "width": 0, + "x": -796, + "y": 235, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "202781d0-21e9-4e3f-9ed3-4ab4850fb3b8", + "width": 0, + "x": 80, + "y": 224, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "1184a7e1-4483-48bc-b581-ada280d2465a", + "width": 0, + "x": -110, + "y": -213, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "7b742e1d-b1f9-40b0-b902-244133490486", + "width": 0, + "x": 208, + "y": -224, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "81a26ae5-4469-4154-86ba-b43dd976dade", + "width": 0, + "x": 336, + "y": -192, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "82cae5dc-0255-4bdb-98c8-1eaec15c2500", + "width": 0, + "x": -528, + "y": -320, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "482e5b5e-ad89-4684-a4ae-50292a91fb5b", + "width": 64, + "x": 902, + "y": -395, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "610aae8d-3d1a-4c6e-908f-844d8855574b", + "width": 64, + "x": 639, + "y": -195, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "ff67ec13-741a-4db4-9814-99cb9621717c", + "width": 64, + "x": 1156, + "y": 174, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "78adcab0-0b5c-4221-bee5-21dfac9f19a4", + "width": 64, + "x": 716, + "y": 566, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "db9b1723-aaf3-45e8-b9b5-4850b5d31e24", + "width": 64, + "x": 369, + "y": 425, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "28ade7ff-853e-4da0-9378-0414559c213c", + "width": 64, + "x": -39, + "y": 810, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "ff21a146-04a5-4722-aba2-6ec700540c0a", + "width": 64, + "x": 28, + "y": 1000, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "c299a1d6-3c9c-4254-8d43-5eb464eeba43", + "width": 64, + "x": 417, + "y": 904, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "2f7061bd-550b-4aab-862c-14c5d6085d10", + "width": 64, + "x": 575, + "y": 668, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6f5ea165-541f-4600-bb1a-a41cef47ab30", + "width": 64, + "x": 1008, + "y": 782, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "db38f925-9dc0-4c76-b097-583254ecbbf8", + "width": 64, + "x": 424, + "y": 621, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "3f2298df-05c8-4d3e-b17b-d81f6d89265c", + "width": 64, + "x": 1224, + "y": 463, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "46b67c4e-f139-450e-b8ce-a63f206dfabe", + "width": 64, + "x": 1545, + "y": 701, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "00a893b8-3116-4d70-934c-491b2f669025", + "width": 64, + "x": 922, + "y": 344, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "0811c566-f99e-4734-bf28-66a63c23176d", + "width": 64, + "x": 1163, + "y": -57, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "3065840c-83b5-4241-9e7c-d91536fe9eaa", + "width": 64, + "x": 1391, + "y": -319, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "4c54744e-3fdb-4b50-a995-24860531b645", + "width": 64, + "x": 1680, + "y": -35, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "37d188f1-1447-4775-b721-8750b5fdcfdb", + "width": 64, + "x": 1487, + "y": -549, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "0db55011-7c5f-429f-85a6-2a5de74c095c", + "width": 64, + "x": 1147, + "y": -620, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6753dbd4-95a7-4415-9a02-2fd6e2bd8337", + "width": 64, + "x": 816, + "y": -542, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "f5e93584-ecc5-4889-9030-880ade987bfd", + "width": 64, + "x": 1725, + "y": -469, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "908edb61-0f56-4434-80c0-ee60854a5047", + "width": 64, + "x": 1703, + "y": 389, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "89f9f0b0-9dd8-46e6-83a3-04723e2a6765", + "width": 64, + "x": 1406, + "y": 187, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a79a28bf-3838-40f9-86af-d1a41740df8b", + "width": 64, + "x": 1365, + "y": 849, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "929efd19-0aa0-4779-9714-e8e39c32de14", + "width": 64, + "x": 671, + "y": 1048, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "40a767ea-3941-462f-a1e4-30635124aa68", + "width": 64, + "x": 1089, + "y": 1106, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "7aa834ee-b512-47b0-a2f4-320eecf574f6", + "width": 64, + "x": 1712, + "y": 958, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "cbbf8c59-ef3c-49fe-b670-9a73bcbcaca2", + "width": 64, + "x": 1760, + "y": 618, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "daa85d1d-8edd-4f91-840c-99ab8cc9618d", + "width": 64, + "x": 1854, + "y": 139, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "af6cd0d1-8810-4ad7-934f-587143ca9497", + "width": 64, + "x": 1831, + "y": -237, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6daa9573-4d71-4402-af55-21c514b32e3c", + "width": 64, + "x": -248, + "y": 753, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "3444541a-cdb1-498c-b666-6de0acdff036", + "width": 0, + "x": 613, + "y": 757, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "1a5949e6-e7c1-4fba-b7ef-c6824b3c9dba", + "width": 0, + "x": 915, + "y": 629, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "a86adb95-d20b-422e-b484-dae04ad164ed", + "width": 0, + "x": 1130, + "y": 529, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "53931cea-ceb4-46a4-bb43-6c6908ccec2d", + "width": 0, + "x": 1371, + "y": 680, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "ec078a53-d284-45e5-a587-6cfb1d4b52b0", + "width": 0, + "x": 1117, + "y": 937, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "6806c58f-e8cb-4560-a57c-683b050b5e19", + "width": 0, + "x": 857, + "y": 1005, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "17da959d-a5d6-49e4-bb3c-fcd5827f7af6", + "width": 0, + "x": 860, + "y": 541, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "c473b459-c008-4362-8567-86236270de76", + "width": 0, + "x": 1297, + "y": 388, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "97de7a86-80a9-4e3d-9086-b1d3aa288895", + "width": 0, + "x": 1307, + "y": 143, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "53e7b84c-ad91-465e-8cf3-97a3ebce7c13", + "width": 0, + "x": 1705, + "y": 105, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "1ed1c544-13a0-4939-98ac-25c6029526dd", + "width": 0, + "x": 1805, + "y": -69, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "0847f413-24c4-4122-b5c8-d03460dc5a34", + "width": 0, + "x": 1680, + "y": -178, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "45e976fc-7afe-4024-a9a2-b1ff9aae88ad", + "width": 0, + "x": 1439, + "y": -409, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "7f207f6e-c74e-4b16-bec1-efae2431a60f", + "width": 0, + "x": 1183, + "y": -214, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8e6a6aeb-cce6-4f4e-b34d-ebe2c383879a", + "width": 0, + "x": 966, + "y": -81, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "75ebaa50-f4e5-4aec-9a45-3a13c0f3412f", + "width": 0, + "x": 757, + "y": 206, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "bc1248bf-f6af-4e81-8a59-884806dd78ce", + "width": 0, + "x": 616, + "y": -62, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "e75af5ed-23d6-45fb-908d-3d5ddf986e78", + "width": 0, + "x": 767, + "y": -223, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "3e41e961-3b73-4f28-8a1d-09026d83a19e", + "width": 0, + "x": 664, + "y": -396, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "dfb33a69-8ea8-4073-935c-7782ad123d83", + "width": 0, + "x": 802, + "y": -335, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "c3e03338-eb4a-499e-bbde-692c7727cfe7", + "width": 0, + "x": 738, + "y": 384, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "bc9896e0-b407-4bd3-b887-5af40595d2dd", + "width": 0, + "x": 545, + "y": 552, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8feb4794-432f-4563-ab82-e9c2c9fe22ca", + "width": 0, + "x": 210, + "y": 745, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "2e838f66-437c-4537-b8d4-a555831b48cb", + "width": 0, + "x": 275, + "y": 542, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "4bc1ed0c-020d-4148-98d6-1933d02f494b", + "width": 0, + "x": 25, + "y": 439, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "66ec4625-bbf2-4f10-835f-fd66ac9e251b", + "width": 0, + "x": 243, + "y": 262, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "f7fc7d3e-bac6-4991-9013-253026d2fc32", + "width": 0, + "x": 301, + "y": 985, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8d3a3e2a-1434-4afe-966f-483591eec3b6", + "width": 0, + "x": 1172, + "y": 773, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "1a8d7770-02ea-4ef9-ab13-b7994ca46620", + "width": 0, + "x": 790, + "y": 771, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "fae9a9d4-2ec5-49b1-a17c-004739bcb913", + "width": 0, + "x": 1416, + "y": 394, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8ea1609c-19a6-4fd2-ac35-dccc2d5ec294", + "width": 0, + "x": 1085, + "y": 401, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "02ab7a7a-6d19-4b1e-b147-0a7bf286a791", + "width": 0, + "x": 1108, + "y": 41, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "e2a54e6d-a13e-4865-95fb-db8b5cd674ee", + "width": 0, + "x": 1786, + "y": 304, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "caeb77fb-3375-49bc-8db1-af7536082513", + "width": 0, + "x": 1548, + "y": -69, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "640225c3-4c98-492e-a439-c08344e7ffb5", + "width": 0, + "x": 1263, + "y": -304, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "3ebebee7-9c21-4fa4-ac78-7fd0b41c2c8f", + "width": 0, + "x": 892, + "y": -265, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "5406ec66-2183-4df1-9cea-eb52ded1d924", + "width": 0, + "x": 147, + "y": -486, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "f24c0dcc-a5c8-4fe5-9c23-66290bd0d569", + "width": 0, + "x": -123, + "y": -416, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "791730ce-ef79-4a07-88f1-3a7ca17df82b", + "width": 0, + "x": -464, + "y": -101, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "408cda88-3ad6-4bd1-ab3c-24830206fd82", + "width": 0, + "x": -62, + "y": 616, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "5541c4e3-ff65-4a6d-9c50-89e6ffa4ba8a", + "width": 64, + "x": 1445, + "y": 1059, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a40f7f26-f805-468e-a68e-6415c895a975", + "width": 64, + "x": 1920, + "y": 800, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "49a46495-6a91-41be-8e1f-f2a6cd0e8bc8", + "width": 64, + "x": 2025, + "y": 400, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a6fa50af-ca24-4ed1-93b1-ac25e8ffdea4", + "width": 64, + "x": 2104, + "y": -16, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "2ea9e115-c780-4d7e-aa81-a65704d39dfc", + "width": 64, + "x": 2021, + "y": -467, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "2d52194e-7ed6-48ba-a2f8-3e5c0c2f6d5a", + "width": 64, + "x": 1778, + "y": -714, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "dff9d469-cc9f-4175-a6c8-932e3cf1e301", + "width": 64, + "x": 1402, + "y": -702, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "df83c1ad-1579-449b-9fd3-7691ed693f1c", + "width": 64, + "x": 982, + "y": -808, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "1274bc9e-29b2-44fe-94eb-7fca77de831c", + "width": 64, + "x": 677, + "y": -737, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "805eb33f-a7c9-46ed-b164-5544919070e8", + "width": 64, + "x": 339, + "y": -819, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "90274807-f66e-4bcf-895e-6c17861e788f", + "width": 64, + "x": -72, + "y": -831, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b708d28c-ab2d-415b-8f65-7fb59948173b", + "width": 64, + "x": -755, + "y": 686, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "4d229bd2-5edf-491f-bccd-b0c3f0b306f1", + "width": 64, + "x": -1162, + "y": 541, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "84edbcb6-0aac-45f8-ac5a-e96a6166eb81", + "width": 64, + "x": 869, + "y": 1274, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "dd73c4e1-af3d-48bf-896a-c767074774ea", + "width": 64, + "x": 1296, + "y": 1298, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "fd3a6378-0225-4b97-b04d-09da1697bde2", + "width": 64, + "x": 1700, + "y": 1188, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "5a621ee7-2426-477d-b830-8b492f14d9bc", + "width": 64, + "x": 1970, + "y": 1008, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "c95c48f3-4eb4-4ff0-bbd9-4f2ef221d907", + "width": 64, + "x": 2112, + "y": 623, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "3ecd527e-3447-4f3d-b026-215836d83da3", + "width": 64, + "x": 2163, + "y": 188, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b77de35a-30d5-4914-92cb-cd078eec0ff6", + "width": 64, + "x": 2108, + "y": -274, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b3665b55-dcb0-47c4-a170-eb9a68785ec9", + "width": 64, + "x": 1241, + "y": -816, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "685df9a1-dc92-4ab2-a142-b28774b36335", + "width": 64, + "x": 1633, + "y": -788, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "518bdbb7-bb9e-4ad5-9811-e967d99676b1", + "width": 64, + "x": 1226, + "y": -490, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "21d6d4cb-1c70-4ed6-8522-551817835a45", + "width": 64, + "x": 253, + "y": 1047, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Start", + "persistentUuid": "16e97afb-fb28-40eb-8316-1c227f79857a", + "width": 0, + "x": 834, + "y": -136, + "zOrder": 49, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": false, + "height": 0, + "layer": "", + "name": "Line2", + "persistentUuid": "bcf4c0fe-7c9f-43e8-a3f0-6aec15785f7e", + "width": 0, + "x": 840, + "y": -120, + "zOrder": 59, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bend44", + "persistentUuid": "d116d083-1e45-4a0b-8386-c07b09bbad79", + "width": 0, + "x": 960, + "y": -80, + "zOrder": 60, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightZigZag34", + "persistentUuid": "9908110f-de20-49f9-8ba8-63054e62718e", + "width": 0, + "x": 1040, + "y": 240, + "zOrder": 61, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 180, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bend33", + "persistentUuid": "4e4ab100-866a-4a11-9a66-734c7a3fb8f6", + "width": 0, + "x": 880, + "y": 560, + "zOrder": 62, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightBend23", + "persistentUuid": "1873dd4f-945d-4c4e-bd99-236a43ce515c", + "width": 0, + "x": 680, + "y": 600, + "zOrder": 63, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bend22", + "persistentUuid": "3f80fa19-f0ef-4778-9d8d-14be9121a91b", + "width": 0, + "x": 640, + "y": 480, + "zOrder": 64, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightBend23", + "persistentUuid": "34e922fd-ac8b-4392-a92d-c3835cdf8138", + "width": 0, + "x": 840, + "y": 200, + "zOrder": 65, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftBend23", + "persistentUuid": "27540349-bf63-4218-a31e-9f3080cc1fbf", + "width": 0, + "x": 840, + "y": 360, + "zOrder": 66, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftZigZag35", + "persistentUuid": "8d4b9299-1447-4059-add9-dc53fff476bb", + "width": 0, + "x": 520, + "y": 200, + "zOrder": 68, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightZigZag24", + "persistentUuid": "47c1aa0b-5511-4560-8c1c-caf4835f5b62", + "width": 0, + "x": 240, + "y": 240, + "zOrder": 69, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightZigZag24", + "persistentUuid": "87eac554-43c0-4000-b00b-0c3d99fe44be", + "width": 0, + "x": -80, + "y": 160, + "zOrder": 69, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bend44", + "persistentUuid": "53e23965-e826-477e-bc9d-7366472b3cc8", + "width": 0, + "x": -480, + "y": 0, + "zOrder": 70, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightBend34", + "persistentUuid": "c0695664-3ec3-4f06-a721-ecb7803372a3", + "width": 0, + "x": -480, + "y": -320, + "zOrder": 71, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightBend23", + "persistentUuid": "2d7f0b14-8d64-444a-8839-facfa5cec343", + "width": 0, + "x": -200, + "y": -360, + "zOrder": 72, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftZigZag43", + "persistentUuid": "b0154ab7-7647-4806-a5e9-663c739a8ff1", + "width": 0, + "x": -80, + "y": -160, + "zOrder": 73, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bend22", + "persistentUuid": "7aa933e2-b878-435a-b173-8e5e55cbf67e", + "width": 0, + "x": 160, + "y": 80, + "zOrder": 75, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftZigZag44", + "persistentUuid": "33481f8f-6ecd-4c66-8e59-4bde9628fd74", + "width": 0, + "x": 480, + "y": -80, + "zOrder": 76, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": false, + "height": 0, + "layer": "", + "name": "Line2", + "persistentUuid": "c3de2250-5948-45ee-b5e9-dad302ddb9ee", + "width": 0, + "x": 360, + "y": 120, + "zOrder": 59, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "9a0d16c3-b465-4abb-84ce-8306567d89f0", + "width": 0, + "x": 865, + "y": 82, + "zOrder": 77, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "fabc2bea-caba-4400-b35e-33999a34f845", + "width": 0, + "x": 1022, + "y": 103, + "zOrder": 78, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "1bfc8691-064a-42ff-bba2-9681e9e10ffb", + "width": 0, + "x": 205, + "y": 873, + "zOrder": 79, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "4f8c4691-ffbc-4028-96d2-03fd39067a18", + "width": 0, + "x": 692, + "y": 889, + "zOrder": 80, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "3c057728-6290-4521-b334-ddc8281ace8b", + "width": 0, + "x": 837, + "y": 615, + "zOrder": 81, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "1333555c-94ea-4187-8fa1-e19ab42c0e00", + "width": 0, + "x": 775, + "y": 393, + "zOrder": 82, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "c76989b5-1d8f-4eb4-b08f-37ea1cf09499", + "width": 0, + "x": -371, + "y": 555, + "zOrder": 83, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "60dfdc07-916f-4e6c-9053-268648a8a444", + "width": 0, + "x": 187, + "y": -412, + "zOrder": 84, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "be027f96-3a8f-45c7-b82d-53adaa3fc0a5", + "width": 0, + "x": -457, + "y": 979, + "zOrder": 85, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "59a3e1dd-2cea-4360-b928-6aec1ddbf5ac", + "width": 0, + "x": 228, + "y": 1321, + "zOrder": 86, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "cdc851e3-e0ab-4734-9722-93d16e49e106", + "width": 0, + "x": -198, + "y": 1090, + "zOrder": 87, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "edd5d6a3-23f1-4676-a4f2-e7db8eba9a1c", + "width": 0, + "x": -564, + "y": 794, + "zOrder": 88, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "a80edfd8-606e-49fd-93c8-244558266494", + "width": 0, + "x": 556, + "y": 1229, + "zOrder": 89, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 80, + "gridHeight": 80, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridColor": 0, + "gridAlpha": 0.25, + "snap": true, + "zoomFactor": 0.3010461197182489, + "windowMask": false + } }, { - "author": "", - "category": "", - "extensionNamespace": "", - "fullName": "", - "helpPath": "", - "iconUrl": "", - "name": "LeftOrRightTouch", - "previewIconUrl": "", - "shortDescription": "", - "version": "", - "description": "", - "tags": [], - "authorIds": [], - "dependencies": [], - "eventsFunctions": [ + "associatedLayout": "Game", + "name": "Level3", + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "658b8db5-1399-4477-a5eb-7d457171cb75", + "width": 64, + "x": 81, + "y": -144, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "800a0265-c502-4d28-a6a4-beea6b34d8ad", + "width": 64, + "x": -326, + "y": -20, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "d17af143-370d-40a9-a224-c686af0749ba", + "width": 64, + "x": -616, + "y": -196, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "130654d8-14fa-4990-8cfd-03c85358c1d7", + "width": 64, + "x": -606, + "y": 181, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "dfc4be74-2c2b-4a72-9454-b599986785b2", + "width": 64, + "x": -683, + "y": -64, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6385ab0a-e2d1-4f60-a1b8-47221256f662", + "width": 64, + "x": -351, + "y": -153, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "50aa39fd-4726-4d95-a588-255e21722dcf", + "width": 64, + "x": -119, + "y": 65, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e9fcf8e0-0dcf-4bf7-8c12-59a70359b999", + "width": 64, + "x": -181, + "y": 246, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "1a943b4c-93c8-4b83-9aeb-471577565a1d", + "width": 64, + "x": 111, + "y": 125, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "fbb30f38-f9c6-49dd-b310-d8ee9710bf33", + "width": 64, + "x": -225, + "y": -310, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b7044c60-1f2f-43ba-9f08-794512ce74e8", + "width": 64, + "x": -804, + "y": -278, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "d02071ac-fb16-4dc8-873d-474c73a7f3f6", + "width": 64, + "x": -755, + "y": 277, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "d90f6171-e38b-4c80-9ace-699859c2bcf6", + "width": 64, + "x": -412, + "y": 274, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 3040, + "layer": "Ground", + "name": "NewObject", + "persistentUuid": "1fc53b65-5038-4454-bec5-cac29e386210", + "width": 4480, + "x": -1760, + "y": -1280, + "z": -1, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "4aab87be-2081-42a0-b69d-432bb8c0f38f", + "width": 64, + "x": -752, + "y": 96, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b28c7f85-21aa-498d-924b-8713e1af58b3", + "width": 64, + "x": -144, + "y": -128, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "4184693f-cfcc-4ca3-afed-b287e9832cad", + "width": 64, + "x": 304, + "y": -96, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "771e37db-de65-434f-9baa-784db8b6159f", + "width": 64, + "x": 336, + "y": 256, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "72bc5e47-7ad9-44fa-ada2-847c9b0ba57b", + "width": 64, + "x": 436, + "y": 0, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "bd77480e-071b-4a73-bd39-508bb64bedc6", + "width": 64, + "x": 500, + "y": -352, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "0b826ab1-3d73-4ca9-94e7-054e3137a875", + "width": 64, + "x": 272, + "y": -544, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "5c6da16a-3c2a-476c-9e90-629a1a159803", + "width": 64, + "x": 20, + "y": -544, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a433c10c-c4e8-437d-80fd-3edd9b3f7497", + "width": 64, + "x": 144, + "y": -672, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e294f1c4-f40a-4a38-be46-524ba60ffa93", + "width": 64, + "x": -204, + "y": -544, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e2003239-fe48-4d8a-83e5-90160f56f5cb", + "width": 64, + "x": -368, + "y": -640, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6ceae07a-1e39-4526-afb3-4a92f713f69e", + "width": 64, + "x": -556, + "y": -576, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "69a7d1eb-3170-43ab-8402-232b64362ee1", + "width": 64, + "x": 62, + "y": 1397, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e528fa04-2b45-451e-80e9-e5dc30bf1a3f", + "width": 64, + "x": -400, + "y": -480, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "06e84414-8ce9-4377-abdd-638b0e28026b", + "width": 64, + "x": 71, + "y": 1132, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e7ac7a7a-8f4e-4ecd-8c18-2223030d86af", + "width": 64, + "x": -383, + "y": 1172, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "ce35f618-9ab7-4277-91c5-409832a3e5b4", + "width": 64, + "x": 236, + "y": 1281, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a4505b3a-b652-494d-bb12-736db0410dd8", + "width": 64, + "x": 446, + "y": 1214, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "f2346ccd-67d2-46f0-bcc7-1012ef65dc15", + "width": 64, + "x": -109, + "y": 1187, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e4c74e71-543c-4b73-b15c-51fb714b2894", + "width": 64, + "x": -427, + "y": 875, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "145335e6-a76b-4d24-b392-3cbdd6722618", + "width": 64, + "x": -848, + "y": 480, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "50b29bfe-2844-4b1c-b7c0-60b7e0810a15", + "width": 64, + "x": -592, + "y": 416, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b7a60abb-551e-4ebf-993f-41106c81b520", + "width": 64, + "x": -240, + "y": 448, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "42904daf-74ac-4a8a-8b40-0ba48f4ef8fa", + "width": 64, + "x": -496, + "y": 608, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a2720829-a570-44cc-8215-8b9161b047a8", + "width": 64, + "x": 80, + "y": 576, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "f5c6e674-4a77-45b3-9424-4abeb68cc336", + "width": 64, + "x": 112, + "y": 352, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "72d20cbe-18ed-456e-9769-21369d52b40f", + "width": 64, + "x": 368, + "y": 512, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "ff03058b-5af5-4643-8294-3797026bb013", + "width": 64, + "x": 560, + "y": 288, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "300b2b24-1cb8-4fe7-ac88-98273b5d5f66", + "width": 64, + "x": 592, + "y": -116, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "e2117f12-18a7-4e3f-b30d-cb374fb2101a", + "width": 64, + "x": 506, + "y": -576, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "36525e25-67e9-46b8-bf04-6315d3656888", + "width": 0, + "x": 16, + "y": 128, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "97659789-3684-473f-a9b2-cfe433d7ec87", + "width": 0, + "x": -336, + "y": 192, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "24284c69-2fe0-49f1-9b8e-b7cc69737d3f", + "width": 0, + "x": -240, + "y": -64, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "af8fe4e0-ffdd-4bc5-8546-0cc1180e3578", + "width": 0, + "x": 80, + "y": -256, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "7cc4bab9-51c9-4044-8e5a-b795a2d6fc27", + "width": 0, + "x": 304, + "y": 64, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "dc7a02ed-3d73-4ea1-a55c-b033280d51fc", + "width": 0, + "x": -624, + "y": 32, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8fadb10d-9c9e-4017-b8b6-e402a42f4544", + "width": 0, + "x": -688, + "y": -224, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "ca1ce616-675d-4be3-ac1b-57e54810fbbf", + "width": 0, + "x": -336, + "y": -256, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "408fe2a4-4375-45ba-a7a1-d53cd0e89dd3", + "width": 0, + "x": -592, + "y": 288, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "2e1cdcc4-894d-4eac-881e-c0e6592485a5", + "width": 0, + "x": -796, + "y": 235, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "202781d0-21e9-4e3f-9ed3-4ab4850fb3b8", + "width": 0, + "x": 80, + "y": 224, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "1184a7e1-4483-48bc-b581-ada280d2465a", + "width": 0, + "x": -79, + "y": -223, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "7b742e1d-b1f9-40b0-b902-244133490486", + "width": 0, + "x": 228, + "y": -224, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "81a26ae5-4469-4154-86ba-b43dd976dade", + "width": 0, + "x": 336, + "y": -192, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "82cae5dc-0255-4bdb-98c8-1eaec15c2500", + "width": 0, + "x": -528, + "y": -320, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "482e5b5e-ad89-4684-a4ae-50292a91fb5b", + "width": 64, + "x": 902, + "y": -369, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "610aae8d-3d1a-4c6e-908f-844d8855574b", + "width": 64, + "x": 639, + "y": -151, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "ff67ec13-741a-4db4-9814-99cb9621717c", + "width": 64, + "x": 1156, + "y": 174, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "78adcab0-0b5c-4221-bee5-21dfac9f19a4", + "width": 64, + "x": 716, + "y": 566, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "db9b1723-aaf3-45e8-b9b5-4850b5d31e24", + "width": 64, + "x": 369, + "y": 425, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "28ade7ff-853e-4da0-9378-0414559c213c", + "width": 64, + "x": -39, + "y": 810, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "ff21a146-04a5-4722-aba2-6ec700540c0a", + "width": 64, + "x": 28, + "y": 1000, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "c299a1d6-3c9c-4254-8d43-5eb464eeba43", + "width": 64, + "x": 417, + "y": 904, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "2f7061bd-550b-4aab-862c-14c5d6085d10", + "width": 64, + "x": 575, + "y": 685, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6f5ea165-541f-4600-bb1a-a41cef47ab30", + "width": 64, + "x": 1008, + "y": 782, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "db38f925-9dc0-4c76-b097-583254ecbbf8", + "width": 64, + "x": 424, + "y": 686, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "3f2298df-05c8-4d3e-b17b-d81f6d89265c", + "width": 64, + "x": 1224, + "y": 463, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "46b67c4e-f139-450e-b8ce-a63f206dfabe", + "width": 64, + "x": 1545, + "y": 701, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "00a893b8-3116-4d70-934c-491b2f669025", + "width": 64, + "x": 922, + "y": 304, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "0811c566-f99e-4734-bf28-66a63c23176d", + "width": 64, + "x": 1163, + "y": -57, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "3065840c-83b5-4241-9e7c-d91536fe9eaa", + "width": 64, + "x": 1391, + "y": -319, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "4c54744e-3fdb-4b50-a995-24860531b645", + "width": 64, + "x": 1680, + "y": -35, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "37d188f1-1447-4775-b721-8750b5fdcfdb", + "width": 64, + "x": 1487, + "y": -549, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "0db55011-7c5f-429f-85a6-2a5de74c095c", + "width": 64, + "x": 1147, + "y": -620, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6753dbd4-95a7-4415-9a02-2fd6e2bd8337", + "width": 64, + "x": 816, + "y": -542, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "f5e93584-ecc5-4889-9030-880ade987bfd", + "width": 64, + "x": 1725, + "y": -469, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "908edb61-0f56-4434-80c0-ee60854a5047", + "width": 64, + "x": 1703, + "y": 389, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "89f9f0b0-9dd8-46e6-83a3-04723e2a6765", + "width": 64, + "x": 1406, + "y": 187, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a79a28bf-3838-40f9-86af-d1a41740df8b", + "width": 64, + "x": 1365, + "y": 849, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "929efd19-0aa0-4779-9714-e8e39c32de14", + "width": 64, + "x": 671, + "y": 1048, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "40a767ea-3941-462f-a1e4-30635124aa68", + "width": 64, + "x": 1089, + "y": 1106, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "7aa834ee-b512-47b0-a2f4-320eecf574f6", + "width": 64, + "x": 1712, + "y": 958, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "cbbf8c59-ef3c-49fe-b670-9a73bcbcaca2", + "width": 64, + "x": 1760, + "y": 618, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "daa85d1d-8edd-4f91-840c-99ab8cc9618d", + "width": 64, + "x": 1854, + "y": 139, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "af6cd0d1-8810-4ad7-934f-587143ca9497", + "width": 64, + "x": 1831, + "y": -237, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "6daa9573-4d71-4402-af55-21c514b32e3c", + "width": 64, + "x": -248, + "y": 753, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "3444541a-cdb1-498c-b666-6de0acdff036", + "width": 0, + "x": 613, + "y": 774, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "1a5949e6-e7c1-4fba-b7ef-c6824b3c9dba", + "width": 0, + "x": 915, + "y": 629, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "a86adb95-d20b-422e-b484-dae04ad164ed", + "width": 0, + "x": 1130, + "y": 529, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "53931cea-ceb4-46a4-bb43-6c6908ccec2d", + "width": 0, + "x": 1371, + "y": 680, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "ec078a53-d284-45e5-a587-6cfb1d4b52b0", + "width": 0, + "x": 1117, + "y": 937, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "6806c58f-e8cb-4560-a57c-683b050b5e19", + "width": 0, + "x": 857, + "y": 1005, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "17da959d-a5d6-49e4-bb3c-fcd5827f7af6", + "width": 0, + "x": 860, + "y": 532, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "c473b459-c008-4362-8567-86236270de76", + "width": 0, + "x": 1297, + "y": 388, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "97de7a86-80a9-4e3d-9086-b1d3aa288895", + "width": 0, + "x": 1307, + "y": 143, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "53e7b84c-ad91-465e-8cf3-97a3ebce7c13", + "width": 0, + "x": 1705, + "y": 105, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "1ed1c544-13a0-4939-98ac-25c6029526dd", + "width": 0, + "x": 1805, + "y": -69, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "0847f413-24c4-4122-b5c8-d03460dc5a34", + "width": 0, + "x": 1680, + "y": -178, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "45e976fc-7afe-4024-a9a2-b1ff9aae88ad", + "width": 0, + "x": 1439, + "y": -409, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "7f207f6e-c74e-4b16-bec1-efae2431a60f", + "width": 0, + "x": 1183, + "y": -214, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8e6a6aeb-cce6-4f4e-b34d-ebe2c383879a", + "width": 0, + "x": 966, + "y": -81, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "75ebaa50-f4e5-4aec-9a45-3a13c0f3412f", + "width": 0, + "x": 757, + "y": 206, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "bc1248bf-f6af-4e81-8a59-884806dd78ce", + "width": 0, + "x": 616, + "y": -18, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "e75af5ed-23d6-45fb-908d-3d5ddf986e78", + "width": 0, + "x": 767, + "y": -223, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "3e41e961-3b73-4f28-8a1d-09026d83a19e", + "width": 0, + "x": 664, + "y": -352, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "dfb33a69-8ea8-4073-935c-7782ad123d83", + "width": 0, + "x": 802, + "y": -319, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "c3e03338-eb4a-499e-bbde-692c7727cfe7", + "width": 0, + "x": 738, + "y": 384, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "bc9896e0-b407-4bd3-b887-5af40595d2dd", + "width": 0, + "x": 545, + "y": 552, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8feb4794-432f-4563-ab82-e9c2c9fe22ca", + "width": 0, + "x": 210, + "y": 745, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "2e838f66-437c-4537-b8d4-a555831b48cb", + "width": 0, + "x": 275, + "y": 542, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "4bc1ed0c-020d-4148-98d6-1933d02f494b", + "width": 0, + "x": 25, + "y": 439, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "66ec4625-bbf2-4f10-835f-fd66ac9e251b", + "width": 0, + "x": 243, + "y": 262, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "f7fc7d3e-bac6-4991-9013-253026d2fc32", + "width": 0, + "x": 301, + "y": 985, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8d3a3e2a-1434-4afe-966f-483591eec3b6", + "width": 0, + "x": 1172, + "y": 773, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "1a8d7770-02ea-4ef9-ab13-b7994ca46620", + "width": 0, + "x": 790, + "y": 792, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "fae9a9d4-2ec5-49b1-a17c-004739bcb913", + "width": 0, + "x": 1416, + "y": 394, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "8ea1609c-19a6-4fd2-ac35-dccc2d5ec294", + "width": 0, + "x": 1085, + "y": 401, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "02ab7a7a-6d19-4b1e-b147-0a7bf286a791", + "width": 0, + "x": 1108, + "y": 41, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "e2a54e6d-a13e-4865-95fb-db8b5cd674ee", + "width": 0, + "x": 1786, + "y": 304, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "caeb77fb-3375-49bc-8db1-af7536082513", + "width": 0, + "x": 1548, + "y": -69, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "640225c3-4c98-492e-a439-c08344e7ffb5", + "width": 0, + "x": 1263, + "y": -304, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "3ebebee7-9c21-4fa4-ac78-7fd0b41c2c8f", + "width": 0, + "x": 892, + "y": -265, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "5406ec66-2183-4df1-9cea-eb52ded1d924", + "width": 0, + "x": 147, + "y": -486, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "f24c0dcc-a5c8-4fe5-9c23-66290bd0d569", + "width": 0, + "x": -123, + "y": -416, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "791730ce-ef79-4a07-88f1-3a7ca17df82b", + "width": 0, + "x": -464, + "y": -101, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "408cda88-3ad6-4bd1-ab3c-24830206fd82", + "width": 0, + "x": -62, + "y": 616, + "zOrder": 17, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "5541c4e3-ff65-4a6d-9c50-89e6ffa4ba8a", + "width": 64, + "x": 1445, + "y": 1059, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a40f7f26-f805-468e-a68e-6415c895a975", + "width": 64, + "x": 1920, + "y": 800, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "49a46495-6a91-41be-8e1f-f2a6cd0e8bc8", + "width": 64, + "x": 2025, + "y": 400, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "a6fa50af-ca24-4ed1-93b1-ac25e8ffdea4", + "width": 64, + "x": 2104, + "y": -16, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "2ea9e115-c780-4d7e-aa81-a65704d39dfc", + "width": 64, + "x": 2021, + "y": -467, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "2d52194e-7ed6-48ba-a2f8-3e5c0c2f6d5a", + "width": 64, + "x": 1778, + "y": -714, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "dff9d469-cc9f-4175-a6c8-932e3cf1e301", + "width": 64, + "x": 1402, + "y": -702, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "df83c1ad-1579-449b-9fd3-7691ed693f1c", + "width": 64, + "x": 982, + "y": -808, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "1274bc9e-29b2-44fe-94eb-7fca77de831c", + "width": 64, + "x": 677, + "y": -737, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "805eb33f-a7c9-46ed-b164-5544919070e8", + "width": 64, + "x": 339, + "y": -819, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "90274807-f66e-4bcf-895e-6c17861e788f", + "width": 64, + "x": -72, + "y": -831, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b708d28c-ab2d-415b-8f65-7fb59948173b", + "width": 64, + "x": -755, + "y": 686, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "4d229bd2-5edf-491f-bccd-b0c3f0b306f1", + "width": 64, + "x": -228, + "y": 968, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "84edbcb6-0aac-45f8-ac5a-e96a6166eb81", + "width": 64, + "x": 869, + "y": 1274, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "dd73c4e1-af3d-48bf-896a-c767074774ea", + "width": 64, + "x": 1296, + "y": 1298, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "fd3a6378-0225-4b97-b04d-09da1697bde2", + "width": 64, + "x": 1700, + "y": 1188, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "5a621ee7-2426-477d-b830-8b492f14d9bc", + "width": 64, + "x": 1970, + "y": 1008, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "c95c48f3-4eb4-4ff0-bbd9-4f2ef221d907", + "width": 64, + "x": 2112, + "y": 623, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "3ecd527e-3447-4f3d-b026-215836d83da3", + "width": 64, + "x": 2163, + "y": 188, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b77de35a-30d5-4914-92cb-cd078eec0ff6", + "width": 64, + "x": 2108, + "y": -274, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "b3665b55-dcb0-47c4-a170-eb9a68785ec9", + "width": 64, + "x": 1241, + "y": -816, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "685df9a1-dc92-4ab2-a142-b28774b36335", + "width": 64, + "x": 1633, + "y": -788, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "518bdbb7-bb9e-4ad5-9811-e967d99676b1", + "width": 64, + "x": 1226, + "y": -490, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Tree", + "persistentUuid": "21d6d4cb-1c70-4ed6-8522-551817835a45", + "width": 64, + "x": 253, + "y": 1047, + "zOrder": 8, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "Line2", + "persistentUuid": "4324841c-cf37-4afc-a1e7-5fe7df1bc22d", + "width": 0, + "x": 680, + "y": 120, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 180, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bend44", + "persistentUuid": "f7213817-b49a-42cc-ae40-d801889180d2", + "width": 0, + "x": 800, + "y": -80, + "zOrder": 34, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftBend34", + "persistentUuid": "6e8f22c2-fa67-4429-a3ec-176f3a72acc9", + "width": 0, + "x": 880, + "y": -400, + "zOrder": 51, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightZigZag43", + "persistentUuid": "bebf231a-3c0b-4a52-81d4-f65ec3e609b3", + "width": 0, + "x": 280, + "y": -360, + "zOrder": 53, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bend22", + "persistentUuid": "b948e462-5618-4f02-9cd2-d6d88b07fa1b", + "width": 0, + "x": 160, + "y": -400, + "zOrder": 54, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightZigZag43", + "persistentUuid": "27d1603a-52e9-44ab-b338-cdfe54b14e75", + "width": 0, + "x": -80, + "y": -80, + "zOrder": 55, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftZigZag44", + "persistentUuid": "c8f76913-e921-461b-a77c-8fa7f085eb20", + "width": 0, + "x": -80, + "y": 160, + "zOrder": 56, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightBend34", + "persistentUuid": "129b25ae-f4cd-46ae-af58-d23812fc4f8c", + "width": 0, + "x": -40, + "y": 680, + "zOrder": 57, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightBend23", + "persistentUuid": "c585e647-31e3-483a-b433-226f0f9bc4dd", + "width": 0, + "x": 280, + "y": 280, + "zOrder": 61, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 270, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftBend23", + "persistentUuid": "db39dae6-3099-45c0-99ec-2534326d40af", + "width": 0, + "x": 280, + "y": 120, + "zOrder": 62, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftZigZag24", + "persistentUuid": "32aaf114-aa28-4661-a530-9e80c3ed41c1", + "width": 0, + "x": 560, + "y": 240, + "zOrder": 63, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightZigZag24", + "persistentUuid": "fef09dd4-e956-4494-814a-384606061d17", + "width": 0, + "x": 560, + "y": 560, + "zOrder": 64, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "Line2", + "persistentUuid": "d74745fd-2506-4af3-8859-d1511182a693", + "width": 0, + "x": 520, + "y": 120, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bend33", + "persistentUuid": "ba000d41-02ec-49c2-aba9-85ec292180b3", + "width": 0, + "x": 800, + "y": 320, + "zOrder": 65, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 180, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bend33", + "persistentUuid": "4f2d58bb-f061-4130-ae11-455eec2dbb09", + "width": 0, + "x": 800, + "y": 560, + "zOrder": 65, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftZigZag44", + "persistentUuid": "868a610e-da85-4531-aded-d4e888ef4859", + "width": 0, + "x": 560, + "y": -400, + "zOrder": 66, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Line2", + "persistentUuid": "c3d1d6e8-14b6-40ec-b379-63373fb2d6c1", + "width": 0, + "x": 160, + "y": -240, + "zOrder": 35, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "RightZigZag43", + "persistentUuid": "eef9d095-01ba-4e97-b70b-cbc7c1ed4378", + "width": 0, + "x": -80, + "y": 480, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 90, + "customSize": false, + "height": 0, + "layer": "", + "name": "LeftZigZag43", + "persistentUuid": "cfd4a891-4ee2-4aef-85a4-9dfaaf6a4bf2", + "width": 0, + "x": 200, + "y": 680, + "zOrder": 68, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Start", + "persistentUuid": "23004272-75d3-4915-a48a-3c7f50448b5e", + "width": 0, + "x": 682, + "y": 113, + "zOrder": 69, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "1cf4c68a-e8fc-481e-b036-dc1418fdb6a2", + "width": 0, + "x": 812, + "y": 20, + "zOrder": 70, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "3bdee483-8756-420a-8331-75a98f420ef4", + "width": 0, + "x": 872, + "y": -170, + "zOrder": 71, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "26bcb3de-1cf2-4824-98b4-b3d0a19035d1", + "width": 0, + "x": 767, + "y": 446, + "zOrder": 72, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "fdb7f538-f771-4cc1-b62a-cee8a890f16c", + "width": 0, + "x": 150, + "y": 705, + "zOrder": 73, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "941c1466-4054-426f-bbb2-ac188595b00a", + "width": 0, + "x": 247, + "y": 93, + "zOrder": 74, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, { - "fullName": "", - "functionType": "Action", - "name": "onScenePreEvents", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonPressed" - }, - "parameters": [ - "", - "Left" - ] - } - ], - "actions": [] - } - ], - "parameters": [], - "objectGroups": [] + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "21c2d124-69c7-4739-8b1c-fd19f484e2b9", + "width": 0, + "x": 297, + "y": -294, + "zOrder": 75, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "2759166c-33e7-48a9-9757-82ef31dfae88", + "width": 0, + "x": 588, + "y": 95, + "zOrder": 76, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "b77d458e-e09a-4584-b570-ad5d3e23c486", + "width": 0, + "x": 536, + "y": -220, + "zOrder": 77, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "dd972522-55e6-4d85-8dd6-25fb7dd529de", + "width": 0, + "x": 665, + "y": -484, + "zOrder": 78, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "a3c368ab-cab0-4181-aaae-15172c875d23", + "width": 0, + "x": 617, + "y": 894, + "zOrder": 79, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "NewObject", + "persistentUuid": "7513bc69-55d0-49a6-8196-7f9e91722c87", + "width": 0, + "x": -170, + "y": 684, + "zOrder": 80, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "82a93c97-00cd-470b-94a0-766f8f394b51", + "width": 0, + "x": -331, + "y": 657, + "zOrder": 81, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "865a6b29-0b6a-41bb-89f2-4aca0e2735f6", + "width": 0, + "x": -119, + "y": 1056, + "zOrder": 82, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Bush", + "persistentUuid": "768067a4-5316-4671-8677-6927723a7d5b", + "width": 0, + "x": 456, + "y": 1107, + "zOrder": 83, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "6d7223a5-5ade-42b2-a925-355b693997a6", + "width": 0, + "x": 1009, + "y": -480, + "zOrder": 84, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "e7abbfac-409c-4af5-873c-c2d69e6ee4ed", + "width": 0, + "x": 800, + "y": 898, + "zOrder": 85, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "b2ebc7d7-e49b-4b32-b497-a6e140f916b3", + "width": 0, + "x": 887, + "y": 1120, + "zOrder": 86, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "a737aef4-f222-40d6-b068-c2e5f43a00e6", + "width": 0, + "x": 1395, + "y": -111, + "zOrder": 87, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "a5be39f2-3fc6-4d73-8677-c4750cb351b5", + "width": 0, + "x": -530, + "y": 1119, + "zOrder": 88, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "2da92e64-d1f4-4445-9fd3-10e2f37d903c", + "width": 0, + "x": -76, + "y": 1247, + "zOrder": 89, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "ddcd4788-a8d9-4a5e-a62f-de59984bb3cf", + "width": 0, + "x": -309, + "y": 418, + "zOrder": 90, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "c6f875f7-b359-4923-88b5-3e1bd62b8942", + "width": 0, + "x": -27, + "y": -452, + "zOrder": 91, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "6c44ca3f-b51e-4571-88a8-0e082c396885", + "width": 0, + "x": 1606, + "y": 726, + "zOrder": 92, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "adca145a-729d-4e4a-8a58-9dfe9c37cd82", + "width": 0, + "x": 1473, + "y": 248, + "zOrder": 93, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Tree", + "persistentUuid": "8c7f1f4e-6bff-4bc5-b119-8feb8c5b3863", + "width": 0, + "x": 1666, + "y": -413, + "zOrder": 94, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], - "eventsBasedBehaviors": [], - "eventsBasedObjects": [] + "editionSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 80, + "gridHeight": 80, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridColor": 0, + "gridAlpha": 0.25, + "snap": true, + "zoomFactor": 0.3797121001947961, + "windowMask": false + } } ], - "externalLayouts": [], "externalSourceFiles": [] } \ No newline at end of file diff --git a/examples/3d-racing-game/Road-0-0.png b/examples/3d-racing-game/Road-0-0.png deleted file mode 100644 index 638269b2a..000000000 Binary files a/examples/3d-racing-game/Road-0-0.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-0-1.png b/examples/3d-racing-game/Road-0-1.png deleted file mode 100644 index 70bbd9b60..000000000 Binary files a/examples/3d-racing-game/Road-0-1.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-0-2.png b/examples/3d-racing-game/Road-0-2.png deleted file mode 100644 index f2c0c1b0b..000000000 Binary files a/examples/3d-racing-game/Road-0-2.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-0-3.png b/examples/3d-racing-game/Road-0-3.png deleted file mode 100644 index 1335d57a0..000000000 Binary files a/examples/3d-racing-game/Road-0-3.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-0-4.png b/examples/3d-racing-game/Road-0-4.png deleted file mode 100644 index c4346a923..000000000 Binary files a/examples/3d-racing-game/Road-0-4.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-0-5.png b/examples/3d-racing-game/Road-0-5.png deleted file mode 100644 index 9204438aa..000000000 Binary files a/examples/3d-racing-game/Road-0-5.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-0-6.png b/examples/3d-racing-game/Road-0-6.png deleted file mode 100644 index 6fc4a93fc..000000000 Binary files a/examples/3d-racing-game/Road-0-6.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-0-7.png b/examples/3d-racing-game/Road-0-7.png deleted file mode 100644 index 69541701f..000000000 Binary files a/examples/3d-racing-game/Road-0-7.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-1-0.png b/examples/3d-racing-game/Road-1-0.png deleted file mode 100644 index 11ff59fe2..000000000 Binary files a/examples/3d-racing-game/Road-1-0.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-1-1.png b/examples/3d-racing-game/Road-1-1.png deleted file mode 100644 index 282ce85b0..000000000 Binary files a/examples/3d-racing-game/Road-1-1.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-1-2.png b/examples/3d-racing-game/Road-1-2.png deleted file mode 100644 index 5bc783a09..000000000 Binary files a/examples/3d-racing-game/Road-1-2.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-1-3.png b/examples/3d-racing-game/Road-1-3.png deleted file mode 100644 index 01357defd..000000000 Binary files a/examples/3d-racing-game/Road-1-3.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-1-4.png b/examples/3d-racing-game/Road-1-4.png deleted file mode 100644 index 4921ed875..000000000 Binary files a/examples/3d-racing-game/Road-1-4.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-1-5.png b/examples/3d-racing-game/Road-1-5.png deleted file mode 100644 index 7f6386b01..000000000 Binary files a/examples/3d-racing-game/Road-1-5.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-1-7.png b/examples/3d-racing-game/Road-1-7.png deleted file mode 100644 index da60aef7a..000000000 Binary files a/examples/3d-racing-game/Road-1-7.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-2-3.png b/examples/3d-racing-game/Road-2-3.png deleted file mode 100644 index 3d0d69e5d..000000000 Binary files a/examples/3d-racing-game/Road-2-3.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-2-7.png b/examples/3d-racing-game/Road-2-7.png deleted file mode 100644 index 81c669810..000000000 Binary files a/examples/3d-racing-game/Road-2-7.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-3-3.png b/examples/3d-racing-game/Road-3-3.png deleted file mode 100644 index d1fcd6a6c..000000000 Binary files a/examples/3d-racing-game/Road-3-3.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-3-4.png b/examples/3d-racing-game/Road-3-4.png deleted file mode 100644 index 853863644..000000000 Binary files a/examples/3d-racing-game/Road-3-4.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-3-5.png b/examples/3d-racing-game/Road-3-5.png deleted file mode 100644 index 2a23a83b5..000000000 Binary files a/examples/3d-racing-game/Road-3-5.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-3-6.png b/examples/3d-racing-game/Road-3-6.png deleted file mode 100644 index ef54d7a4d..000000000 Binary files a/examples/3d-racing-game/Road-3-6.png and /dev/null differ diff --git a/examples/3d-racing-game/Road-3-7.png b/examples/3d-racing-game/Road-3-7.png deleted file mode 100644 index f9cebc62c..000000000 Binary files a/examples/3d-racing-game/Road-3-7.png and /dev/null differ diff --git a/examples/3d-racing-game/assets/Bend22.png b/examples/3d-racing-game/assets/Bend22.png new file mode 100644 index 000000000..e7cd48abe Binary files /dev/null and b/examples/3d-racing-game/assets/Bend22.png differ diff --git a/examples/3d-racing-game/assets/Bend23L.png b/examples/3d-racing-game/assets/Bend23L.png new file mode 100644 index 000000000..82521a117 Binary files /dev/null and b/examples/3d-racing-game/assets/Bend23L.png differ diff --git a/examples/3d-racing-game/assets/Bend23R.png b/examples/3d-racing-game/assets/Bend23R.png new file mode 100644 index 000000000..f910c7052 Binary files /dev/null and b/examples/3d-racing-game/assets/Bend23R.png differ diff --git a/examples/3d-racing-game/assets/Bend33.png b/examples/3d-racing-game/assets/Bend33.png new file mode 100644 index 000000000..759a54ad3 Binary files /dev/null and b/examples/3d-racing-game/assets/Bend33.png differ diff --git a/examples/3d-racing-game/assets/Bend34L.png b/examples/3d-racing-game/assets/Bend34L.png new file mode 100644 index 000000000..6f4c22cb1 Binary files /dev/null and b/examples/3d-racing-game/assets/Bend34L.png differ diff --git a/examples/3d-racing-game/assets/Bend34R.png b/examples/3d-racing-game/assets/Bend34R.png new file mode 100644 index 000000000..e1581891b Binary files /dev/null and b/examples/3d-racing-game/assets/Bend34R.png differ diff --git a/examples/3d-racing-game/assets/Bend44.png b/examples/3d-racing-game/assets/Bend44.png new file mode 100644 index 000000000..28d91d212 Binary files /dev/null and b/examples/3d-racing-game/assets/Bend44.png differ diff --git a/examples/3d-racing-game/assets/Grey Button_Hovered.png b/examples/3d-racing-game/assets/Grey Button_Hovered.png new file mode 100644 index 000000000..8065deaec Binary files /dev/null and b/examples/3d-racing-game/assets/Grey Button_Hovered.png differ diff --git a/examples/3d-racing-game/assets/Grey Button_Idle.png b/examples/3d-racing-game/assets/Grey Button_Idle.png new file mode 100644 index 000000000..efbb5d131 Binary files /dev/null and b/examples/3d-racing-game/assets/Grey Button_Idle.png differ diff --git a/examples/3d-racing-game/assets/Grey Button_Pressed.png b/examples/3d-racing-game/assets/Grey Button_Pressed.png new file mode 100644 index 000000000..6735c8e5e Binary files /dev/null and b/examples/3d-racing-game/assets/Grey Button_Pressed.png differ diff --git a/examples/3d-racing-game/assets/Line2.png b/examples/3d-racing-game/assets/Line2.png new file mode 100644 index 000000000..9e0e1e350 Binary files /dev/null and b/examples/3d-racing-game/assets/Line2.png differ diff --git a/examples/3d-racing-game/assets/NewSprite.png b/examples/3d-racing-game/assets/NewSprite.png new file mode 100644 index 000000000..7eea8566f Binary files /dev/null and b/examples/3d-racing-game/assets/NewSprite.png differ diff --git a/examples/3d-racing-game/assets/ZigZag24L.png b/examples/3d-racing-game/assets/ZigZag24L.png new file mode 100644 index 000000000..43a1436df Binary files /dev/null and b/examples/3d-racing-game/assets/ZigZag24L.png differ diff --git a/examples/3d-racing-game/assets/ZigZag24R.png b/examples/3d-racing-game/assets/ZigZag24R.png new file mode 100644 index 000000000..bc5236788 Binary files /dev/null and b/examples/3d-racing-game/assets/ZigZag24R.png differ diff --git a/examples/3d-racing-game/assets/ZigZag34L.png b/examples/3d-racing-game/assets/ZigZag34L.png new file mode 100644 index 000000000..1bf12fb99 Binary files /dev/null and b/examples/3d-racing-game/assets/ZigZag34L.png differ diff --git a/examples/3d-racing-game/assets/ZigZag34R.png b/examples/3d-racing-game/assets/ZigZag34R.png new file mode 100644 index 000000000..f84edf524 Binary files /dev/null and b/examples/3d-racing-game/assets/ZigZag34R.png differ diff --git a/examples/3d-racing-game/assets/ZigZag43L.png b/examples/3d-racing-game/assets/ZigZag43L.png new file mode 100644 index 000000000..57e4ec3b2 Binary files /dev/null and b/examples/3d-racing-game/assets/ZigZag43L.png differ diff --git a/examples/3d-racing-game/assets/ZigZag43R.png b/examples/3d-racing-game/assets/ZigZag43R.png new file mode 100644 index 000000000..60cb55986 Binary files /dev/null and b/examples/3d-racing-game/assets/ZigZag43R.png differ diff --git a/examples/3d-racing-game/assets/ZigZag44L.png b/examples/3d-racing-game/assets/ZigZag44L.png new file mode 100644 index 000000000..17df61129 Binary files /dev/null and b/examples/3d-racing-game/assets/ZigZag44L.png differ diff --git a/examples/3d-racing-game/assets/ZigZag44R.png b/examples/3d-racing-game/assets/ZigZag44R.png new file mode 100644 index 000000000..deb7f54f9 Binary files /dev/null and b/examples/3d-racing-game/assets/ZigZag44R.png differ