diff --git a/__tests__/post-build/__snapshots__/exampleShortHeaders.json.spec.js.snap b/__tests__/post-build/__snapshots__/exampleShortHeaders.json.spec.js.snap index 8b55cde9f..de9e65371 100644 --- a/__tests__/post-build/__snapshots__/exampleShortHeaders.json.spec.js.snap +++ b/__tests__/post-build/__snapshots__/exampleShortHeaders.json.spec.js.snap @@ -153,9 +153,7 @@ Object { "previewImageUrls": Array [ "https://resources.gdevelop-app.com/examples/starting-platformer/preview.png", ], - "shortDescription": "A 2D platformer game in which the player can jump on platforms and collect coins. -It has platforms, a player and coins to collect. -Support mobile controls and keyboard.", + "shortDescription": "A 2D side-view platformer game with a smooth camera that follows the player’s movement. The player uses the platformer behavior, and can move left or right, jump, and fall within the game scene. Platforms allow the player to navigate vertically, and coins can be collected throughout the level. The game supports both keyboard/mouse controls and mobile touch controls.", "slug": "starting-platformer", "tags": Array [ "starting-platformer", @@ -186,7 +184,7 @@ exports[`exampleShortHeaders.json post build checks defaultTags 4`] = ` Object { "authorIds": Array [], "codeSizeLevel": "tiny", - "description": "", + "description": "Assets and game are optimized for pixel art.", "gdevelopVersion": "", "id": "986ba30910cf3873205796d8331f76dee507673d89e55b04415759cd39b2ebca", "license": "MIT", @@ -200,10 +198,7 @@ Object { "previewImageUrls": Array [ "https://resources.gdevelop-app.com/examples/starting-platformer-pixel/preview.png", ], - "shortDescription": "A 2D platformer game in which the player can jump on platforms and collect coins. -It has platforms, a player and coins to collect like a basic 2D Mario-like game. -Support mobile controls and keyboard. -Assets and game are optimized for pixel art.", + "shortDescription": "A 2D side-view platformer game with a smooth camera that follows the player’s movement. The player uses the platformer behavior, and can move left or right, jump, and fall within the game scene. Platforms allow the player to navigate vertically, and coins can be collected throughout the level. The game supports both keyboard/mouse controls and mobile touch controls.", "slug": "starting-platformer-pixel", "tags": Array [ "starting-platformer-pixel", diff --git a/examples/starting-beatemup/README.md b/examples/starting-beatemup/README.md index 079685587..c9fdeb39e 100644 --- a/examples/starting-beatemup/README.md +++ b/examples/starting-beatemup/README.md @@ -1,4 +1,3 @@ # Beat'em up -A 2D, side-view, beat'em up style game where the player controls a character that can move in the level and attack other characters who are trying to hurt him. -Support for keyboard and mobile controls. \ No newline at end of file +A 2D side-scrolling beat’em up brawler where the player uses top-down style movement within a side-view camera angle. All movement, attacks, and hurt states use animations and animation timers. The player uses a separate attack collision object to detect hits on enemies, while enemies move toward the player and attack using their own collision mask objects to detect hits on the player. Boundaries keep the player within the play area of the screen. The game supports both keyboard and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-beatemup/starting-beatemup.json b/examples/starting-beatemup/starting-beatemup.json index 28518b764..a766dc984 100644 --- a/examples/starting-beatemup/starting-beatemup.json +++ b/examples/starting-beatemup/starting-beatemup.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 240, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-top-down", "version": "1.0.0", - "name": "starting_beatemup", + "name": "starting-beatemup", "description": "", "author": "", "windowWidth": 1280, @@ -202,14 +202,15 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.5290357402156872, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [ { - "name": "Fighter", + "name": "Fighters", "objects": [ { - "name": "TopDown_Character" + "name": "Player" }, { "name": "Enemy" @@ -225,7 +226,7 @@ "height": 189, "keepRatio": true, "layer": "", - "name": "TopDown_Character", + "name": "Player", "persistentUuid": "ebd4e918-fdc8-4c06-baef-2e0f46c2cfd5", "width": 189, "x": 377, @@ -258,8 +259,8 @@ "depth": 1, "height": 528, "keepRatio": true, - "layer": "Background", - "name": "Background", + "layer": "Ground layer", + "name": "Ground_Tilemap", "persistentUuid": "f454010e-3716-4d3a-9164-74c7e450b60f", "width": 1280, "x": 0, @@ -277,7 +278,7 @@ "keepRatio": true, "layer": "", "locked": true, - "name": "Obstacle", + "name": "Movement_Boundary", "persistentUuid": "2e6d3d52-b625-4baa-8bbc-f96bdc9cc03c", "width": 1280, "x": 0, @@ -293,7 +294,7 @@ "depth": 1, "height": 849, "layer": "", - "name": "Obstacle", + "name": "Movement_Boundary", "persistentUuid": "38d96175-c5b6-4982-9dc4-9dfea03e670b", "width": 64, "x": 1280, @@ -310,7 +311,7 @@ "height": 256, "keepRatio": true, "layer": "", - "name": "Obstacle", + "name": "Movement_Boundary", "persistentUuid": "58dda8ce-b808-4823-8297-b40e76b30228", "width": 1280, "x": 0, @@ -328,7 +329,7 @@ "keepRatio": true, "layer": "", "locked": true, - "name": "Obstacle", + "name": "Movement_Boundary", "persistentUuid": "862577b6-1a9c-4df8-aa0e-2b97e637e944", "width": 64, "x": -64, @@ -377,7 +378,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "TopDown_Character", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [ @@ -726,7 +727,7 @@ { "assetStoreId": "", "height": 352, - "name": "Background", + "name": "Ground_Tilemap", "texture": "assets\\StartingTiledGround.png", "type": "TiledSpriteObject::TiledSprite", "width": 640, @@ -976,7 +977,7 @@ { "assetStoreId": "", "height": 64, - "name": "Obstacle", + "name": "Movement_Boundary", "texture": "assets\\StartingObstacle.png", "type": "TiledSpriteObject::TiledSprite", "width": 64, @@ -987,7 +988,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "AttackCollision", + "name": "PlayerAttack_CollisionCheck", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -1028,7 +1029,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "EnemyAttackCollision", + "name": "EnemyAttack_CollisionCheck", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -1163,22 +1164,22 @@ "folderName": "__ROOT", "children": [ { - "objectName": "TopDown_Character" + "objectName": "Player" }, { - "objectName": "AttackCollision" + "objectName": "PlayerAttack_CollisionCheck" }, { "objectName": "Enemy" }, { - "objectName": "EnemyAttackCollision" + "objectName": "EnemyAttack_CollisionCheck" }, { - "objectName": "Background" + "objectName": "Ground_Tilemap" }, { - "objectName": "Obstacle" + "objectName": "Movement_Boundary" }, { "folderName": "Mobile Controls", @@ -1203,8 +1204,8 @@ "value": "SeparateFromObjects" }, "parameters": [ - "TopDown_Character", - "Obstacle", + "Player", + "Movement_Boundary", "" ] }, @@ -1213,13 +1214,25 @@ "value": "ChangePlan" }, "parameters": [ - "Fighter", + "Fighters", "=", - "Fighter.Y()" + "Fighters.Y()" ] } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Player and Enemy controls" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -1228,7 +1241,7 @@ "value": "AnimatableCapability::AnimatableBehavior::Name" }, "parameters": [ - "TopDown_Character", + "Player", "Animation", "=", "\"Idle\"" @@ -1241,7 +1254,7 @@ "value": "ActivateBehavior" }, "parameters": [ - "TopDown_Character", + "Player", "TopDownMovement", "yes" ] @@ -1256,7 +1269,7 @@ "value": "TopDownMovementBehavior::TopDownMovementBehavior::IsMovementAngleAround" }, "parameters": [ - "TopDown_Character", + "Player", "TopDownMovement", "180", "90" @@ -1269,7 +1282,7 @@ "value": "FlippableCapability::FlippableBehavior::FlipX" }, "parameters": [ - "TopDown_Character", + "Player", "Flippable", "yes" ] @@ -1284,7 +1297,7 @@ "value": "TopDownMovementBehavior::TopDownMovementBehavior::IsMovementAngleAround" }, "parameters": [ - "TopDown_Character", + "Player", "TopDownMovement", "0", "90" @@ -1297,7 +1310,7 @@ "value": "FlippableCapability::FlippableBehavior::FlipX" }, "parameters": [ - "TopDown_Character", + "Player", "Flippable", "" ] @@ -1341,7 +1354,7 @@ "value": "AnimatableCapability::AnimatableBehavior::SetName" }, "parameters": [ - "TopDown_Character", + "Player", "Animation", "=", "\"AttackBuildUp\"" @@ -1359,7 +1372,7 @@ "value": "AnimatableCapability::AnimatableBehavior::Name" }, "parameters": [ - "TopDown_Character", + "Player", "Animation", "!=", "\"Idle\"" @@ -1372,7 +1385,7 @@ "value": "ActivateBehavior" }, "parameters": [ - "TopDown_Character", + "Player", "TopDownMovement", "no" ] @@ -1401,7 +1414,7 @@ }, "parameters": [ "Enemy", - "TopDown_Character", + "Player", "100", "0" ] @@ -1418,7 +1431,7 @@ "parameters": [ "Enemy", "<", - "TopDown_Character.X()" + "Player.X()" ] } ], @@ -1445,7 +1458,7 @@ "parameters": [ "Enemy", ">=", - "TopDown_Character.X()" + "Player.X()" ] } ], @@ -1471,7 +1484,7 @@ }, "parameters": [ "Enemy", - "TopDown_Character", + "Player", "100", "" ] @@ -1493,6 +1506,18 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Attack logic" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -1501,7 +1526,7 @@ "value": "AnimatableCapability::AnimatableBehavior::HasAnimationEnded" }, "parameters": [ - "Fighter", + "Fighters", "Animation" ] } @@ -1516,7 +1541,7 @@ "value": "AnimatableCapability::AnimatableBehavior::Name" }, "parameters": [ - "Fighter", + "Fighters", "Animation", "=", "\"Hurt\"" @@ -1529,7 +1554,7 @@ "value": "AnimatableCapability::AnimatableBehavior::SetName" }, "parameters": [ - "Fighter", + "Fighters", "Animation", "=", "\"Idle\"" @@ -1545,7 +1570,7 @@ "value": "AnimatableCapability::AnimatableBehavior::Name" }, "parameters": [ - "Fighter", + "Fighters", "Animation", "=", "\"AttackStrike\"" @@ -1558,7 +1583,7 @@ "value": "AnimatableCapability::AnimatableBehavior::SetName" }, "parameters": [ - "Fighter", + "Fighters", "Animation", "=", "\"Idle\"" @@ -1600,7 +1625,7 @@ }, "parameters": [ "", - "EnemyAttackCollision", + "EnemyAttack_CollisionCheck", "Enemy.PointX(\"CollisionSpawn\")", "Enemy.PointY(\"CollisionSpawn\")", "" @@ -1616,7 +1641,7 @@ "value": "AnimatableCapability::AnimatableBehavior::Name" }, "parameters": [ - "TopDown_Character", + "Player", "Animation", "=", "\"AttackBuildUp\"" @@ -1629,7 +1654,7 @@ "value": "AnimatableCapability::AnimatableBehavior::SetName" }, "parameters": [ - "TopDown_Character", + "Player", "Animation", "=", "\"AttackStrike\"" @@ -1641,9 +1666,9 @@ }, "parameters": [ "", - "AttackCollision", - "TopDown_Character.PointX(\"CollisionSpawn\")", - "TopDown_Character.PointY(\"CollisionSpawn\")", + "PlayerAttack_CollisionCheck", + "Player.PointX(\"CollisionSpawn\")", + "Player.PointY(\"CollisionSpawn\")", "" ] } @@ -1651,6 +1676,18 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Damage and knockback" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -1659,8 +1696,8 @@ "value": "CollisionNP" }, "parameters": [ - "TopDown_Character", - "EnemyAttackCollision", + "Player", + "EnemyAttack_CollisionCheck", "", "", "" @@ -1671,7 +1708,7 @@ "value": "AnimatableCapability::AnimatableBehavior::Name" }, "parameters": [ - "TopDown_Character", + "Player", "Animation", "!=", "\"Hurt\"" @@ -1684,7 +1721,7 @@ "value": "SetNumberObjectVariable" }, "parameters": [ - "TopDown_Character", + "Player", "Health", "-", "1" @@ -1695,10 +1732,10 @@ "value": "SetNumberObjectVariable" }, "parameters": [ - "TopDown_Character", + "Player", "KnockbackAngle", "=", - "TopDown_Character.AngleToObject(EnemyAttackCollision)-180" + "Player.AngleToObject(EnemyAttack_CollisionCheck) - 180" ] }, { @@ -1706,7 +1743,7 @@ "value": "AnimatableCapability::AnimatableBehavior::SetName" }, "parameters": [ - "TopDown_Character", + "Player", "Animation", "=", "\"Hurt\"" @@ -1723,7 +1760,7 @@ }, "parameters": [ "Enemy", - "AttackCollision", + "PlayerAttack_CollisionCheck", "", "", "" @@ -1761,7 +1798,7 @@ "Enemy", "KnockbackAngle", "=", - "Enemy.AngleToObject(AttackCollision)-180" + "Enemy.AngleToObject(PlayerAttack_CollisionCheck) - 180" ] }, { @@ -1785,7 +1822,7 @@ "value": "AnimatableCapability::AnimatableBehavior::Name" }, "parameters": [ - "Fighter", + "Fighters", "Animation", "=", "\"Hurt\"" @@ -1798,8 +1835,8 @@ "value": "AddForceAL" }, "parameters": [ - "Fighter", - "Fighter.KnockbackAngle", + "Fighters", + "Fighters.KnockbackAngle", "25", "0" ] @@ -1814,7 +1851,7 @@ "value": "AnimatableCapability::AnimatableBehavior::HasAnimationEnded" }, "parameters": [ - "AttackCollision", + "PlayerAttack_CollisionCheck", "Animation" ] } @@ -1825,7 +1862,7 @@ "value": "Delete" }, "parameters": [ - "AttackCollision", + "PlayerAttack_CollisionCheck", "" ] } @@ -1839,7 +1876,7 @@ "value": "AnimatableCapability::AnimatableBehavior::HasAnimationEnded" }, "parameters": [ - "EnemyAttackCollision", + "EnemyAttack_CollisionCheck", "Animation" ] } @@ -1850,7 +1887,7 @@ "value": "Delete" }, "parameters": [ - "EnemyAttackCollision", + "EnemyAttack_CollisionCheck", "" ] } @@ -1864,7 +1901,7 @@ "value": "NumberObjectVariable" }, "parameters": [ - "Fighter", + "Fighters", "Health", "<=", "0" @@ -1877,7 +1914,7 @@ "value": "Delete" }, "parameters": [ - "Fighter", + "Fighters", "" ] } @@ -1892,7 +1929,7 @@ }, "parameters": [ "", - "TopDown_Character", + "Player", "<", "1" ] @@ -1924,7 +1961,7 @@ "followBaseLayerCamera": false, "isLightingLayer": false, "isLocked": false, - "name": "Background", + "name": "Ground layer", "renderingType": "", "visibility": true, "cameras": [], @@ -7987,6 +8024,7 @@ } ], "instances": [], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", diff --git a/examples/starting-card-game/README.md b/examples/starting-card-game/README.md index 1b70f18a9..45e9badcf 100644 --- a/examples/starting-card-game/README.md +++ b/examples/starting-card-game/README.md @@ -1,4 +1,3 @@ # Card Game -A simple card game where the player draws cards from a deck and can drag the revealed cards on the screen. The player can also return cards to the deck or choose to shuffle the deck. -Support for mouse and touch. \ No newline at end of file +A top-down 2D card game where cards and the deck are represented by sprite objects. Cards use the draggable behavior, allowing the player to move them around the table. The deck stores an array that tracks which cards remain in the deck, and cards can be drawn or placed back on top to update the deck’s internal list. The setup is suitable for games like blackjack, solitaire, and other common card-based mechanics. The game supports both mouse and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-card-game/starting-card-game.json b/examples/starting-card-game/starting-card-game.json index 29f68536b..b33fe0229 100644 --- a/examples/starting-card-game/starting-card-game.json +++ b/examples/starting-card-game/starting-card-game.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 240, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-platformer", "version": "1.0.0", - "name": "starting_cardgame", + "name": "starting-card-game", "description": "", "author": "", "windowWidth": 1280, @@ -578,8 +578,9 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.6040838749988929, - "windowMask": false + "zoomFactor": 0.5290357402156892, + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [], @@ -2663,6 +2664,18 @@ ] }, "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Draw card" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -2739,6 +2752,18 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Put in deck" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -2786,6 +2811,18 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Shuffle deck" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ diff --git a/examples/starting-clicker/README.md b/examples/starting-clicker/README.md index a00b262e9..6713221c9 100644 --- a/examples/starting-clicker/README.md +++ b/examples/starting-clicker/README.md @@ -1,4 +1,3 @@ # Clicker Game -A clicker game where the player clicks a button to earn money. Another button allows them to purchase a system that generate passive income every few seconds and upgrade it to be faster. A score counter displays the current amount of money. -Support for mouse and touch. \ No newline at end of file +A 2D clicker game where the main clickable object uses the button behavior and plays a tweening effect whenever it’s pressed. A money/score object tracks and displays the player’s earnings, which increase through clicking or by purchasing the passive upgrade. An upgrade button with a progress bar can be clicked on to buy the passive upgrade, which generates money over time and can be purchased repeatedly to increase its level, increasing both the amount earned passively and the cost of the next upgrade. The game supports both mouse and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-clicker/starting-clicker.json b/examples/starting-clicker/starting-clicker.json index f7f931848..804fd0663 100644 --- a/examples/starting-clicker/starting-clicker.json +++ b/examples/starting-clicker/starting-clicker.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 240, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-platformer", "version": "1.0.0", - "name": "starting_clicker", + "name": "starting-clicker", "description": "", "author": "", "windowWidth": 1280, @@ -209,7 +209,8 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.4950840073748959, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [], @@ -237,7 +238,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Clicker", + "name": "MainClicker", "persistentUuid": "fe58e2ea-6a73-45fb-8991-768b151dd9ea", "width": 0, "x": 640, @@ -254,7 +255,7 @@ "height": 15, "keepRatio": true, "layer": "", - "name": "PassiveButton1_Bar", + "name": "PurchasePassive_Button1_Bar", "persistentUuid": "2ca8b87d-77c2-4daa-a91f-568e325be5d7", "width": 224, "x": 64, @@ -270,7 +271,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "StarCounter", + "name": "MoneyCounter", "persistentUuid": "f2dadf98-63cb-4bd1-a8f2-8e8b9a807b7e", "width": 0, "x": 29, @@ -286,7 +287,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "PassiveButton1", + "name": "PurchasePassive_Button1", "persistentUuid": "31d0858d-83f8-4638-a5da-0978750ee9fc", "width": 0, "x": 32, @@ -312,7 +313,7 @@ { "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Clicker", + "name": "MainClicker", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -401,7 +402,7 @@ }, { "assetStoreId": "6a16d25e5a4b7e16b72187c4cab1164e2e8fba46d78b9af0132f10301b4224e9", - "name": "PassiveButton1_Bar", + "name": "PurchasePassive_Button1_Bar", "type": "PanelSpriteContinuousBar::PanelSpriteContinuousBar", "variant": "Progressbar", "variables": [], @@ -421,7 +422,7 @@ }, { "assetStoreId": "d071c8baaa781a445ba1c3742b300714155d61cfc7423a04ae29c282014dcee7", - "name": "StarCounter", + "name": "MoneyCounter", "type": "ScoreCounter::ScoreCounter", "variant": "StarCounter", "variables": [], @@ -433,7 +434,7 @@ }, { "assetStoreId": "d00645a899e762e085fa6fdf2625701baea9cc10ee903a64ca7d371e5bbb8dca", - "name": "PassiveButton1", + "name": "PurchasePassive_Button1", "type": "PanelSpriteButton::PanelSpriteButton", "variant": "PurchasePassive", "variables": [ @@ -453,7 +454,7 @@ "value": 0 }, { - "name": "Cost", + "name": "PurchaseCost", "type": "number", "value": 20 } @@ -478,16 +479,16 @@ "objectName": "Background" }, { - "objectName": "Clicker" + "objectName": "MainClicker" }, { - "objectName": "StarCounter" + "objectName": "MoneyCounter" }, { - "objectName": "PassiveButton1" + "objectName": "PurchasePassive_Button1" }, { - "objectName": "PassiveButton1_Bar" + "objectName": "PurchasePassive_Button1_Bar" } ] }, @@ -500,7 +501,7 @@ "value": "ButtonStates::ButtonFSM::IsClicked" }, "parameters": [ - "Clicker", + "MainClicker", "ButtonFSM", "" ] @@ -512,7 +513,7 @@ "value": "ScoreCounter::ScoreCounter::SetScore" }, "parameters": [ - "StarCounter", + "MoneyCounter", "+", "1", "" @@ -532,6 +533,18 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Purchase passive" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -540,7 +553,7 @@ "value": "PanelSpriteButton::PanelSpriteButton::IsClicked" }, "parameters": [ - "PassiveButton1", + "PurchasePassive_Button1", "" ] }, @@ -549,9 +562,9 @@ "value": "ScoreCounter::ScoreCounter::Score" }, "parameters": [ - "StarCounter", + "MoneyCounter", ">=", - "PassiveButton1.Cost", + "PurchasePassive_Button1.PurchaseCost", "" ] } @@ -562,9 +575,9 @@ "value": "ScoreCounter::ScoreCounter::SetScore" }, "parameters": [ - "StarCounter", + "MoneyCounter", "-", - "PassiveButton1.Cost", + "PurchasePassive_Button1.PurchaseCost", "" ] }, @@ -585,7 +598,7 @@ "value": "SetNumberObjectVariable" }, "parameters": [ - "PassiveButton1", + "PurchasePassive_Button1", "Level", "+", "1" @@ -596,10 +609,10 @@ "value": "SetNumberObjectVariable" }, "parameters": [ - "PassiveButton1", - "Cost", + "PurchasePassive_Button1", + "PurchaseCost", "=", - "(PassiveButton1.Cost*(1 + PassiveButton1.Level/10))" + "round((PurchasePassive_Button1.PurchaseCost * (1 + PurchasePassive_Button1.Level / 10)))" ] }, { @@ -607,14 +620,26 @@ "value": "PanelSpriteButton::PanelSpriteButton::SetLabelTextOp" }, "parameters": [ - "PassiveButton1", + "PurchasePassive_Button1", "=", - "\"Passive\nLvl:\" + PassiveButton1.Level + \" Cost:\" + ToString(roundTo(PassiveButton1.Cost, 2))", + "\"Passive\nLvl:\" + PurchasePassive_Button1.Level + \" Cost:\" + PurchasePassive_Button1.PurchaseCost", "" ] } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Passive earnings" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -624,10 +649,10 @@ "value": "SetNumberObjectVariable" }, "parameters": [ - "PassiveButton1", + "PurchasePassive_Button1", "Progress", "+", - "PassiveButton1.Level/4" + "PurchasePassive_Button1.Level / 4" ] }, { @@ -635,9 +660,9 @@ "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetValue" }, "parameters": [ - "PassiveButton1_Bar", + "PurchasePassive_Button1_Bar", "=", - "PassiveButton1.Progress", + "PurchasePassive_Button1.Progress", "" ] } @@ -651,7 +676,7 @@ "value": "NumberObjectVariable" }, "parameters": [ - "PassiveButton1", + "PurchasePassive_Button1", "Progress", ">=", "100" @@ -664,7 +689,7 @@ "value": "SetNumberObjectVariable" }, "parameters": [ - "PassiveButton1", + "PurchasePassive_Button1", "Progress", "-", "100" @@ -675,9 +700,9 @@ "value": "ScoreCounter::ScoreCounter::SetScore" }, "parameters": [ - "StarCounter", + "MoneyCounter", "+", - "PassiveButton1.Earning", + "PurchasePassive_Button1.Earning", "" ] } @@ -8322,6 +8347,7 @@ "initialVariables": [] } ], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -10111,7 +10137,8 @@ "stringProperties": [], "initialVariables": [] } - ] + ], + "editionSettings": {} } ] } @@ -13107,6 +13134,7 @@ "initialVariables": [] } ], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -13667,7 +13695,8 @@ "stringProperties": [], "initialVariables": [] } - ] + ], + "editionSettings": {} } ] } @@ -15212,6 +15241,7 @@ "initialVariables": [] } ], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -16694,7 +16724,21 @@ "stringProperties": [], "initialVariables": [] } - ] + ], + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 2.4305555555555554, + "windowMask": false, + "selectedLayer": "" + } }, { "areaMaxX": 192, @@ -17008,7 +17052,8 @@ "stringProperties": [], "initialVariables": [] } - ] + ], + "editionSettings": {} } ] } diff --git a/examples/starting-draggable-tiles/README.md b/examples/starting-draggable-tiles/README.md index f95ce4b79..2c009057c 100644 --- a/examples/starting-draggable-tiles/README.md +++ b/examples/starting-draggable-tiles/README.md @@ -1,4 +1,3 @@ # Board game with draggable tiles -A 2D board game where 3 different kind of tiles can be dragged on the grid of the board. A tile can't be dragged if another tile is already present on a cell of the board. -Support for both mouse and mobile controls. \ No newline at end of file +A 2D board game-style game with pieces represented as 2D sprites placed on a grid. Players can pick up and drag pieces to different tiles using a mouse or mobile touch controls. The system prevents multiple pieces from occupying the same grid space and supports multiple distinct game piece types that can be picked up and moved in the scene. \ No newline at end of file diff --git a/examples/starting-draggable-tiles/starting-draggable-tiles.json b/examples/starting-draggable-tiles/starting-draggable-tiles.json index 2efb41c9e..08d6b8b67 100644 --- a/examples/starting-draggable-tiles/starting-draggable-tiles.json +++ b/examples/starting-draggable-tiles/starting-draggable-tiles.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 239, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-platformer", "version": "1.0.0", - "name": "starting_draggabletiles", + "name": "starting-draggable-tiles", "description": "", "author": "", "windowWidth": 1280, @@ -154,11 +154,12 @@ "gridAlpha": 0.8, "snap": true, "zoomFactor": 0.6244537826600037, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [ { - "name": "Pieces", + "name": "DraggablePiece", "objects": [ { "name": "Unit" @@ -522,9 +523,9 @@ "effects": [], "behaviors": [ { - "checkCollisionMask": true, "name": "Draggable", - "type": "DraggableBehavior::Draggable" + "type": "DraggableBehavior::Draggable", + "checkCollisionMask": true } ], "animations": [ @@ -599,9 +600,9 @@ "effects": [], "behaviors": [ { - "checkCollisionMask": true, "name": "Draggable", - "type": "DraggableBehavior::Draggable" + "type": "DraggableBehavior::Draggable", + "checkCollisionMask": true } ], "animations": [ @@ -676,9 +677,9 @@ "effects": [], "behaviors": [ { - "checkCollisionMask": true, "name": "Draggable", - "type": "DraggableBehavior::Draggable" + "type": "DraggableBehavior::Draggable", + "checkCollisionMask": true } ], "animations": [ @@ -769,10 +770,10 @@ "value": "SetNumberObjectVariable" }, "parameters": [ - "Pieces", + "DraggablePiece", "LastXPosition", "=", - "Pieces.X()" + "DraggablePiece.X()" ] }, { @@ -780,10 +781,10 @@ "value": "SetNumberObjectVariable" }, "parameters": [ - "Pieces", + "DraggablePiece", "LastYPosition", "=", - "Pieces.Y()" + "DraggablePiece.Y()" ] } ] @@ -796,7 +797,7 @@ "value": "DraggableBehavior::Dropped" }, "parameters": [ - "Pieces", + "DraggablePiece", "Draggable" ] } @@ -808,7 +809,7 @@ }, "parameters": [ "", - "Pieces", + "DraggablePiece", "64", "64", "0", @@ -821,9 +822,9 @@ "value": "SetNumberVariable" }, "parameters": [ - "NewLocationX", + "NewXPosition", "=", - "Pieces.X()" + "DraggablePiece.X()" ] }, { @@ -831,9 +832,9 @@ "value": "SetNumberVariable" }, "parameters": [ - "NewLocationY", + "NewYPosition", "=", - "Pieces.Y()" + "DraggablePiece.Y()" ] } ], @@ -847,7 +848,7 @@ }, "parameters": [ "", - "Pieces" + "DraggablePiece" ] }, { @@ -855,10 +856,10 @@ "value": "NumberObjectVariable" }, "parameters": [ - "Pieces", + "DraggablePiece", "LastXPosition", "=", - "NewLocationX" + "NewXPosition" ] }, { @@ -866,10 +867,10 @@ "value": "NumberObjectVariable" }, "parameters": [ - "Pieces", + "DraggablePiece", "LastYPosition", "=", - "NewLocationY" + "NewYPosition" ] } ], @@ -906,11 +907,11 @@ "value": "MettreXY" }, "parameters": [ - "Pieces", + "DraggablePiece", "=", - "Pieces.LastXPosition", + "DraggablePiece.LastXPosition", "=", - "Pieces.LastYPosition" + "DraggablePiece.LastYPosition" ] } ] @@ -935,10 +936,10 @@ "value": "SetNumberObjectVariable" }, "parameters": [ - "Pieces", + "DraggablePiece", "LastXPosition", "=", - "Pieces.X()" + "DraggablePiece.X()" ] }, { @@ -946,10 +947,10 @@ "value": "SetNumberObjectVariable" }, "parameters": [ - "Pieces", + "DraggablePiece", "LastYPosition", "=", - "Pieces.Y()" + "DraggablePiece.Y()" ] } ] @@ -962,12 +963,12 @@ "value": false }, { - "name": "NewLocationX", + "name": "NewXPosition", "type": "number", "value": 0 }, { - "name": "NewLocationY", + "name": "NewYPosition", "type": "number", "value": 0 } diff --git a/examples/starting-endless-runner/README.md b/examples/starting-endless-runner/README.md index a8ebc5977..4c5282f66 100644 --- a/examples/starting-endless-runner/README.md +++ b/examples/starting-endless-runner/README.md @@ -1,4 +1,3 @@ # 2D Endless Runner -A 2d, side-view, endless runner - similar to games like Geometry Dash. It has a player object which can jump, some platforms, obstacles to avoid. The level is a repeating layout. It displays a score increasing as the player progresses. -Support for mobile and keyboard controls. \ No newline at end of file +A 2D side scrolling endless runner platformer where the player constantly moves to the right, and can jump or fall to navigate the level. The player dies if they collide with hazard objects. The scene continuously scrolls, moving objects that go off the left side of the screen to the right side of the screen to repopulate the path. The UI displays the distance traveled by the player. The game supports both keyboard and mobile touch screen controls for jumping. \ No newline at end of file diff --git a/examples/starting-endless-runner/starting-endless-runner.json b/examples/starting-endless-runner/starting-endless-runner.json index 58ffd7fb2..9dabdd7d5 100644 --- a/examples/starting-endless-runner/starting-endless-runner.json +++ b/examples/starting-endless-runner/starting-endless-runner.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 239, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-platformer", "version": "1.0.0", - "name": "starting_endlessrunner", + "name": "starting-endless-runner", "description": "", "author": "", "windowWidth": 1280, @@ -185,7 +185,8 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.5843784410741054, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [ { @@ -211,7 +212,7 @@ "height": 64, "keepRatio": true, "layer": "", - "name": "Platformer_Character", + "name": "Player", "persistentUuid": "4ded1d81-e820-41d3-868a-3f314e5850bd", "width": 128, "x": 128, @@ -245,7 +246,7 @@ "height": 96, "keepRatio": true, "layer": "MobileControls", - "name": "Distance", + "name": "Distance_UIText", "persistentUuid": "fb74c02c-1e3b-40d9-9002-7ac7f9de6d3a", "width": 1280, "x": 0, @@ -262,7 +263,7 @@ "height": 64, "keepRatio": true, "layer": "", - "name": "Point_Right", + "name": "Boundary_Right", "persistentUuid": "43d7ea15-3ff2-4a18-a3d7-00f1a8576afa", "width": 64, "x": 3648, @@ -358,7 +359,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Point_Left", + "name": "Boundary_Left", "persistentUuid": "25d15929-d5d9-4bdd-ac47-4785f11bcc38", "width": 0, "x": -1152, @@ -766,7 +767,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Platformer_Character", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -860,12 +861,12 @@ "image": "assets\\StartingPlayer.png", "points": [ { - "name": "Left", + "name": "Boundary_Left", "x": -1280, "y": 0 }, { - "name": "Right", + "name": "Boundary_Right", "x": 3520, "y": 0 } @@ -942,7 +943,7 @@ "assetStoreId": "", "bold": false, "italic": false, - "name": "Distance", + "name": "Distance_UIText", "smoothed": true, "type": "TextObject::Text", "underlined": false, @@ -984,7 +985,7 @@ { "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Point_Right", + "name": "Boundary_Right", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -1104,7 +1105,7 @@ { "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Point_Left", + "name": "Boundary_Left", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -1273,7 +1274,7 @@ "folderName": "__ROOT", "children": [ { - "objectName": "Platformer_Character" + "objectName": "Player" }, { "objectName": "Platform_Ground" @@ -1288,13 +1289,13 @@ "objectName": "Background" }, { - "objectName": "Distance" + "objectName": "Distance_UIText" }, { - "objectName": "Point_Right" + "objectName": "Boundary_Right" }, { - "objectName": "Point_Left" + "objectName": "Boundary_Left" }, { "folderName": "Mobile Controls", @@ -1316,7 +1317,7 @@ "value": "PlatformBehavior::SimulateRightKey" }, "parameters": [ - "Platformer_Character", + "Player", "PlatformerObject" ] } @@ -1359,7 +1360,7 @@ "value": "PlatformBehavior::SimulateJumpKey" }, "parameters": [ - "Platformer_Character", + "Player", "PlatformerObject" ] } @@ -1373,7 +1374,7 @@ "value": "CollisionNP" }, "parameters": [ - "Platformer_Character", + "Player", "Hazard", "", "", @@ -1403,7 +1404,7 @@ "value": "TextContainerCapability::TextContainerBehavior::SetValue" }, "parameters": [ - "Distance", + "Distance_UIText", "Text", "=", "ToString(floor(TimeFromStart()))" @@ -1416,7 +1417,7 @@ "parameters": [ "Background", "=", - "Platformer_Character.X()/2" + "Player.X() / 2" ] }, { @@ -1424,9 +1425,9 @@ "value": "MettreX" }, "parameters": [ - "Point_Left", + "Boundary_Left", "=", - "Platformer_Character.PointX(\"Left\")" + "Player.PointX(\"Boundary_Left\")" ] }, { @@ -1434,9 +1435,9 @@ "value": "MettreX" }, "parameters": [ - "Point_Right", + "Boundary_Right", "=", - "Platformer_Character.PointX(\"Right\")" + "Player.PointX(\"Boundary_Right\")" ] } ] @@ -1451,7 +1452,7 @@ "parameters": [ "RepeatingObjects", "<", - "Point_Left.X()" + "Boundary_Left.X()" ] } ], @@ -1475,8 +1476,8 @@ }, "parameters": [ "Platform_Ground", - "Point_Right.X()", - "Point_Right.Y()", + "Boundary_Right.X()", + "Boundary_Right.Y()", "" ] } @@ -1516,7 +1517,7 @@ "parameters": [ "RepeatingObjects", "=", - "Point_Right.X()" + "Boundary_Right.X()" ] } ] @@ -2807,12 +2808,27 @@ "value": "Idle", "type": "Choice", "label": "State", - "extraInformation": [ - "Idle", - "Hovered", - "PressedInside", - "PressedOutside", - "Validated" + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Hovered", + "value": "Hovered" + }, + { + "label": "PressedInside", + "value": "PressedInside" + }, + { + "label": "PressedOutside", + "value": "PressedOutside" + }, + { + "label": "Validated", + "value": "Validated" + } ], "hidden": true, "name": "State" @@ -3351,6 +3367,7 @@ "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { @@ -3360,6 +3377,7 @@ "extraInformation": [ "EffectCapability::EffectBehavior" ], + "choices": [], "name": "Effect" }, { @@ -3799,6 +3817,7 @@ "extraInformation": [ "AnimatableCapability::AnimatableBehavior" ], + "choices": [], "name": "Animation" }, { @@ -3808,6 +3827,7 @@ "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { @@ -5201,6 +5221,7 @@ "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { @@ -5210,6 +5231,7 @@ "extraInformation": [ "EffectCapability::EffectBehavior" ], + "choices": [], "name": "Effect" }, { @@ -5254,40 +5276,139 @@ "type": "Choice", "label": "Fade-in easing", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeInEasing" }, @@ -5296,40 +5417,139 @@ "type": "Choice", "label": "Fade-out easing", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeOutEasing" }, @@ -5353,10 +5573,19 @@ "value": "Idle", "type": "Choice", "label": "", - "extraInformation": [ - "Idle", - "Focused", - "Pressed" + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Focused", + "value": "Focused" + }, + { + "label": "Pressed", + "value": "Pressed" + } ], "hidden": true, "name": "PreviousState" @@ -5386,10 +5615,19 @@ "value": "NoTween", "type": "Choice", "label": "", - "extraInformation": [ - "NoTween", - "FadeIn", - "FadeOut" + "choices": [ + { + "label": "NoTween", + "value": "NoTween" + }, + { + "label": "FadeIn", + "value": "FadeIn" + }, + { + "label": "FadeOut", + "value": "FadeOut" + } ], "hidden": true, "name": "TweenState" @@ -6344,6 +6582,7 @@ "extraInformation": [ "ScalableCapability::ScalableBehavior" ], + "choices": [], "name": "Scale" }, { @@ -6353,6 +6592,7 @@ "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { @@ -6362,6 +6602,7 @@ "extraInformation": [ "Tween::TweenBehavior" ], + "choices": [], "name": "Tween" }, { @@ -6410,40 +6651,139 @@ "type": "Choice", "label": "Fade-in easing", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeInEasing" }, @@ -6452,40 +6792,139 @@ "type": "Choice", "label": "Fade-out easing", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeOutEasing" }, @@ -6493,10 +6932,19 @@ "value": "Idle", "type": "Choice", "label": "", - "extraInformation": [ - "Idle", - "Focused", - "Pressed" + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Focused", + "value": "Focused" + }, + { + "label": "Pressed", + "value": "Pressed" + } ], "hidden": true, "name": "PreviousState" @@ -7458,6 +7906,7 @@ "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { @@ -7467,6 +7916,7 @@ "extraInformation": [ "Tween::TweenBehavior" ], + "choices": [], "name": "Tween" }, { @@ -7512,40 +7962,139 @@ "type": "Choice", "label": "Fade-in easing", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeInEasing" }, @@ -7554,40 +8103,139 @@ "type": "Choice", "label": "Fade-out easing", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeOutEasing" }, @@ -7595,10 +8243,19 @@ "value": "Idle", "type": "Choice", "label": "", - "extraInformation": [ - "Idle", - "Focused", - "Pressed" + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Focused", + "value": "Focused" + }, + { + "label": "Pressed", + "value": "Pressed" + } ], "hidden": true, "name": "PreviousState" @@ -12647,6 +13304,7 @@ "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], + "choices": [], "name": "PlatformerCharacter" }, { @@ -12656,6 +13314,7 @@ "extraInformation": [ "SmoothCamera::SmoothCamera" ], + "choices": [], "name": "SmoothCamera" }, { diff --git a/examples/starting-first-person-farming/README.md b/examples/starting-first-person-farming/README.md index 0028e5850..2abfa7f68 100644 --- a/examples/starting-first-person-farming/README.md +++ b/examples/starting-first-person-farming/README.md @@ -1,4 +1,3 @@ # 3D First Person Farming -A 3D, first-person farming game where the player can move around, plant crops, harvest resources, and interact with objects in the environment. -Supports both mobile and keyboard/mouse controls. \ No newline at end of file +A 3D physics-based first-person farming game where the player can look around and turn using the camera, as well as jump and fall within the environment. The scene includes a ground surface, solid seed bags that the player can't pass through, dirt plots for planting vegetables/crops, and seed bags used to obtain seeds. The player can pick up objects and store them in an inventory, then place objects back onto the ground using raycasting to determine the placement location. Harvestable seed bag objects can be clicked to add seeds to the inventory, and seeds can be placed on unoccupied dirt plots to start growing crops. Fully grown crops can be picked up and added to the inventory. The inventory uses UI icons to display the contents of the inventory, as well as allow the player to select which item to use and choose which slot a picked-up object will occupy. The game supports both keyboard/mouse controls and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-first-person-farming/starting-first-person-farming.json b/examples/starting-first-person-farming/starting-first-person-farming.json index 023f1f6a6..3bae0459d 100644 --- a/examples/starting-first-person-farming/starting-first-person-farming.json +++ b/examples/starting-first-person-farming/starting-first-person-farming.json @@ -334,7 +334,7 @@ }, "objectsGroups": [ { - "name": "Surface", + "name": "RaycastSurface", "objects": [ { "name": "Ground" @@ -439,7 +439,7 @@ "keepRatio": true, "layer": "MobileControls", "locked": true, - "name": "Joystick_Movement", + "name": "MovementJoystick", "persistentUuid": "757f9f40-246a-49c8-a4d3-fe0022b826a7", "width": 0, "x": 170, @@ -1663,7 +1663,7 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick_Movement", + "name": "MovementJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", "variant": "", "variables": [], @@ -3412,7 +3412,7 @@ "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick_Movement" + "objectName": "MovementJoystick" }, { "objectName": "JumpButton" @@ -3450,6 +3450,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -3458,7 +3459,7 @@ "value": "Cache" }, "parameters": [ - "Joystick_Movement" + "MovementJoystick" ] }, { @@ -3482,7 +3483,7 @@ "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::ActivateControl" }, "parameters": [ - "Joystick_Movement", + "MovementJoystick", "", "" ] @@ -3492,6 +3493,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -3531,6 +3533,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3546,6 +3549,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -3558,6 +3562,7 @@ "comment": "Set to Touch" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3612,6 +3617,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -3624,6 +3630,7 @@ "comment": "Set to Keyboard" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3692,6 +3699,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3739,6 +3747,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3747,7 +3756,7 @@ }, "parameters": [ "", - "Joystick_Movement", + "MovementJoystick", "\"Left\"", "" ] @@ -3759,7 +3768,7 @@ "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::TeleportAndPress" }, "parameters": [ - "Joystick_Movement", + "MovementJoystick", "CursorX(\"UI\")", "CursorY(\"UI\")", "" @@ -3768,6 +3777,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3789,6 +3799,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3798,7 +3809,7 @@ }, "parameters": [ "", - "Joystick_Movement", + "MovementJoystick", "\"Left\"", "" ] @@ -3856,6 +3867,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3945,6 +3957,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3959,6 +3972,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::ForEach", "object": "InventorySlot", "conditions": [], @@ -4001,6 +4015,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4030,6 +4045,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4070,6 +4086,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4112,6 +4129,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4149,6 +4167,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4204,6 +4223,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4239,6 +4259,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4372,6 +4393,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4424,6 +4446,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4440,6 +4463,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4491,6 +4515,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -4551,6 +4576,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4559,7 +4585,7 @@ }, "parameters": [ "", - "Surface", + "RaycastSurface", "200", "" ] @@ -4580,6 +4606,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -4603,6 +4630,7 @@ "parameters": [] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4654,6 +4682,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4696,6 +4725,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -4752,6 +4782,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4769,6 +4800,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -4781,6 +4813,7 @@ "comment": "Check for slot with the same object name" }, { + "folded": true, "type": "BuiltinCommonInstructions::Repeat", "repeatExpression": "VariableChildCount(Inventory)", "conditions": [ @@ -4798,6 +4831,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4825,6 +4859,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4854,6 +4889,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4881,6 +4917,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -4893,6 +4930,7 @@ "comment": "Check if selected slot is empty" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4940,6 +4978,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -4952,6 +4991,7 @@ "comment": "Check for available empty slot" }, { + "folded": true, "type": "BuiltinCommonInstructions::Repeat", "repeatExpression": "VariableChildCount(Inventory)", "conditions": [ @@ -4969,6 +5009,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4996,6 +5037,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5025,6 +5067,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -5037,6 +5080,7 @@ "comment": "Add item if slot is found" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5093,6 +5137,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -5137,6 +5182,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5163,6 +5209,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5171,7 +5218,7 @@ }, "parameters": [ "", - "Surface", + "RaycastSurface", "200", "" ] @@ -5213,6 +5260,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5230,6 +5278,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -5242,6 +5291,7 @@ "comment": "Place item" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -5312,6 +5362,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5341,6 +5392,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -5353,6 +5405,7 @@ "comment": "Plant seed" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5514,6 +5567,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5600,6 +5654,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5645,6 +5700,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5699,6 +5755,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -5711,6 +5768,7 @@ "comment": "Create inventory icon and text" }, { + "folded": true, "type": "BuiltinCommonInstructions::Repeat", "repeatExpression": "VariableChildCount(Inventory)", "conditions": [ @@ -5729,6 +5787,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5792,6 +5851,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -5810,6 +5870,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5840,6 +5901,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -5852,6 +5914,7 @@ "comment": "Create held item" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -5879,6 +5942,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { diff --git a/examples/starting-first-person-horror/README.md b/examples/starting-first-person-horror/README.md index 30ba26de2..75a2f748f 100644 --- a/examples/starting-first-person-horror/README.md +++ b/examples/starting-first-person-horror/README.md @@ -1,7 +1,7 @@ # 3D First-Person Horror Game -A physics-based first-person horror game where the player can explore a small map with a thick fog. There is an antagonistic "monster". It moves toward the player and accelerates significantly when nearby. If it reaches the player, the game restarts. +A 3D physics-based first-person game set in a dark, fog-filled environment to create a horror atmosphere. The player can look around and turn using the camera, as well as jump and fall within the environment. The scene includes a ground surface, solid platforms the player can land on, and a pushable physics box that reacts realistically to movement. -The map includes various obstacles, some of which the antagonist can move or push aside. +A monster enemy roams the playable area using pathfinding to navigate around obstacles. Its behavior is controlled by a simple state machine. The monster uses raycasting to check if the player is in its line of sight, and when it detects the player, it stops pathfinding and switches to a chase state. If the monster collides with the player, the game resets. -Supports both mobile and keyboard controls. \ No newline at end of file +This setup works well for horror scenarios where the player is being hunted and cannot fight back. The game supports both keyboard/mouse controls and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-first-person-horror/starting-first-person-horror.json b/examples/starting-first-person-horror/starting-first-person-horror.json index 9165163bf..cb8002750 100644 --- a/examples/starting-first-person-horror/starting-first-person-horror.json +++ b/examples/starting-first-person-horror/starting-first-person-horror.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 242, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -221,11 +221,12 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.31119749424453685, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [ { - "name": "RaycastObstacles", + "name": "MonsterVisionObstacles", "objects": [ { "name": "Obstacle" @@ -308,7 +309,7 @@ "keepRatio": true, "layer": "MobileControls", "locked": true, - "name": "Joystick_Movement", + "name": "MovementJoystick", "persistentUuid": "757f9f40-246a-49c8-a4d3-fe0022b826a7", "width": 0, "x": 170, @@ -984,7 +985,7 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick_Movement", + "name": "MovementJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", "variant": "", "variables": [], @@ -1561,7 +1562,7 @@ "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick_Movement" + "objectName": "MovementJoystick" }, { "objectName": "JumpButton" @@ -1620,7 +1621,7 @@ "value": "Cache" }, "parameters": [ - "Joystick_Movement" + "MovementJoystick" ] }, { @@ -1636,7 +1637,7 @@ "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::ActivateControl" }, "parameters": [ - "Joystick_Movement", + "MovementJoystick", "", "" ] @@ -1871,7 +1872,7 @@ }, "parameters": [ "", - "RaycastObstacles", + "MonsterVisionObstacles", "Monster.CenterX()", "Monster.CenterY()", "Monster.Object3D::CenterZ()", @@ -2221,7 +2222,7 @@ }, "parameters": [ "", - "Joystick_Movement", + "MovementJoystick", "\"Left\"", "" ] @@ -2233,7 +2234,7 @@ "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::TeleportAndPress" }, "parameters": [ - "Joystick_Movement", + "MovementJoystick", "CursorX(\"UI\")", "CursorY(\"UI\")", "" @@ -2272,7 +2273,7 @@ }, "parameters": [ "", - "Joystick_Movement", + "MovementJoystick", "\"Left\"", "" ] @@ -9376,6 +9377,7 @@ } ], "instances": [], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -14260,6 +14262,7 @@ "initialVariables": [] } ], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -15495,7 +15498,8 @@ "stringProperties": [], "initialVariables": [] } - ] + ], + "editionSettings": {} } ] } diff --git a/examples/starting-first-person-shooter-horror/README.md b/examples/starting-first-person-shooter-horror/README.md index 67634664d..5205c08ff 100644 --- a/examples/starting-first-person-shooter-horror/README.md +++ b/examples/starting-first-person-shooter-horror/README.md @@ -1,9 +1,9 @@ # 3D FPS Horror game with Gun -A 3D, physics-based first-person shooter set in a fog-covered map. The player can move freely and engage threats using a handheld weapon. +A 3D physics-based first-person game set in a dark, fog-filled environment to create a horror atmosphere. The player can look around and turn using the camera, as well as jump and fall within the environment. The scene includes a ground surface, solid platforms the player can land on, and pushable physics boxs that reacts realistically to movement. -Hostile monsters spawn randomly across the map and patrol toward the player, accelerating as they get closer. If a monster reaches the player, the game restarts. +Monster enemies spawn and roam the playable area using pathfinding to navigate around obstacles. Their behavior is controlled by a simple state machine. The monsters use raycasting to check if the player is in their line of sight, and when one detects the player, it stops pathfinding and switches to a chase state. If a monster collides with the player, the game resets. -The gun is fully modeled in 3D, with bullet impact visual effect, screen shake, and recoil to enhance shooting feedback. +The player holds a 3D gun model that can be fired. Firing uses raycasting to detect where the bullet hits, creating a 3D particle effect at the point of impact. Each shot plays a sound effect and causes the screen to shake. -Supports both mobile and keyboard controls. \ No newline at end of file +This setup works well for any action horror games where the player is able to shoot and kill enemies. The game supports both keyboard/mouse controls and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-first-person-shooter-horror/starting-first-person-shooter-horror.json b/examples/starting-first-person-shooter-horror/starting-first-person-shooter-horror.json index 6e966a697..d0756b989 100644 --- a/examples/starting-first-person-shooter-horror/starting-first-person-shooter-horror.json +++ b/examples/starting-first-person-shooter-horror/starting-first-person-shooter-horror.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 242, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -262,11 +262,12 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.3437520241612502, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [ { - "name": "RaycastObstacles", + "name": "MonsterVisionObstacle", "objects": [ { "name": "Obstacle" @@ -366,7 +367,7 @@ "keepRatio": true, "layer": "MobileControls", "locked": true, - "name": "Joystick_Movement", + "name": "MovementJoystick", "persistentUuid": "757f9f40-246a-49c8-a4d3-fe0022b826a7", "width": 0, "x": 170, @@ -1081,7 +1082,7 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick_Movement", + "name": "MovementJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", "variant": "", "variables": [], @@ -1904,7 +1905,7 @@ "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick_Movement" + "objectName": "MovementJoystick" }, { "objectName": "ShootButton" @@ -1967,7 +1968,7 @@ "value": "Cache" }, "parameters": [ - "Joystick_Movement" + "MovementJoystick" ] }, { @@ -1991,7 +1992,7 @@ "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::ActivateControl" }, "parameters": [ - "Joystick_Movement", + "MovementJoystick", "", "" ] @@ -2535,7 +2536,7 @@ }, "parameters": [ "", - "RaycastObstacles", + "MonsterVisionObstacle", "Monster.CenterX()", "Monster.CenterY()", "Monster.Object3D::CenterZ()", @@ -3040,7 +3041,7 @@ }, "parameters": [ "", - "Joystick_Movement", + "MovementJoystick", "\"Left\"", "" ] @@ -3052,7 +3053,7 @@ "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::TeleportAndPress" }, "parameters": [ - "Joystick_Movement", + "MovementJoystick", "CursorX(\"UI\")", "CursorY(\"UI\")", "" @@ -3093,7 +3094,7 @@ }, "parameters": [ "", - "Joystick_Movement", + "MovementJoystick", "\"Left\"", "" ] @@ -10295,6 +10296,7 @@ } ], "instances": [], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -15179,6 +15181,7 @@ "initialVariables": [] } ], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -16414,7 +16417,8 @@ "stringProperties": [], "initialVariables": [] } - ] + ], + "editionSettings": {} } ] } @@ -34232,6 +34236,7 @@ } ], "instances": [], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", diff --git a/examples/starting-first-person-shooter/README.md b/examples/starting-first-person-shooter/README.md index 4012c7483..201f85b84 100644 --- a/examples/starting-first-person-shooter/README.md +++ b/examples/starting-first-person-shooter/README.md @@ -1,7 +1,5 @@ # 3D FPS with Gun -A 3D, physics-based first-person shooter where the player can move freely around a map and fire using a handheld weapon. The map includes a firing range with targets to shoot at, as well as obstacles—some of which can be moved. +A 3D physics-based first-person game where the player can look around and turn using the camera, as well as jump and fall within the environment. The scene includes a ground surface, solid platforms the player can land on, as well as a physics box and targets that reacts realistically when pushed or shot. -The gun is fully modeled in 3D, with bullet impact visual effect, screen shake, and recoil to enhance shooting feedback. - -Supports both mobile and keyboard controls. \ No newline at end of file +The player holds a 3D gun model that can be fired. Firing uses raycasting to detect where the bullet hits, creating a 3D particle effect at the point of impact. Each shot plays a sound effect and causes the screen to shake. The game supports both keyboard/mouse controls and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-first-person-shooter/starting-first-person-shooter.json b/examples/starting-first-person-shooter/starting-first-person-shooter.json index be30569b8..5706c1131 100644 --- a/examples/starting-first-person-shooter/starting-first-person-shooter.json +++ b/examples/starting-first-person-shooter/starting-first-person-shooter.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 243, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -380,7 +380,7 @@ "keepRatio": true, "layer": "MobileControls", "locked": true, - "name": "Joystick_Movement", + "name": "MovementJoystick", "persistentUuid": "757f9f40-246a-49c8-a4d3-fe0022b826a7", "width": 0, "x": 170, @@ -896,7 +896,7 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick_Movement", + "name": "MovementJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", "variant": "", "variables": [], @@ -1628,7 +1628,7 @@ "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick_Movement" + "objectName": "MovementJoystick" }, { "objectName": "ShootButton" @@ -1673,7 +1673,7 @@ "value": "Cache" }, "parameters": [ - "Joystick_Movement" + "MovementJoystick" ] }, { @@ -1697,7 +1697,7 @@ "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::ActivateControl" }, "parameters": [ - "Joystick_Movement", + "MovementJoystick", "", "" ] @@ -2186,7 +2186,7 @@ }, "parameters": [ "", - "Joystick_Movement", + "MovementJoystick", "\"Left\"", "" ] @@ -2198,7 +2198,7 @@ "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::TeleportAndPress" }, "parameters": [ - "Joystick_Movement", + "MovementJoystick", "CursorX(\"UI\")", "CursorY(\"UI\")", "" @@ -2237,7 +2237,7 @@ }, "parameters": [ "", - "Joystick_Movement", + "MovementJoystick", "\"Left\"", "" ] diff --git a/examples/starting-first-person-survival-crafting/README.md b/examples/starting-first-person-survival-crafting/README.md index c890de838..ade429d76 100644 --- a/examples/starting-first-person-survival-crafting/README.md +++ b/examples/starting-first-person-survival-crafting/README.md @@ -1,4 +1,5 @@ # 3D First Person Survival Crafting -A 3D, first-person survival game where the player can gathers resources. -Supports both mobile and keyboard/mouse controls. \ No newline at end of file +A 3D physics-based first-person game where the player can look around and turn using the camera, as well as jump and fall within the environment. The scene includes a ground surface, solid tree and boulder objects that the player can't pass through, and a 3D box with rocks and logs placed on it. The player can pick up objects and store them in an inventory, then place objects back onto the ground using raycasting to determine the placement location. Harvestable trees and boulders can be clicked to add resources to the inventory. The inventory uses UI icons to display the contents of the inventory, as well as allow the player to select which item to use and choose which slot a picked-up object will occupy. + +This setup works well for any game where the player picks up resources and crafts things with those resources, especially for survival crafting games. The game supports both keyboard/mouse controls and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-first-person-survival-crafting/starting-first-person-survival-crafting.json b/examples/starting-first-person-survival-crafting/starting-first-person-survival-crafting.json index 0d80c1fd7..12a6a3853 100644 --- a/examples/starting-first-person-survival-crafting/starting-first-person-survival-crafting.json +++ b/examples/starting-first-person-survival-crafting/starting-first-person-survival-crafting.json @@ -296,7 +296,7 @@ }, "objectsGroups": [ { - "name": "Surface", + "name": "RaycastSurface", "objects": [ { "name": "Ground" @@ -395,7 +395,7 @@ "keepRatio": true, "layer": "MobileControls", "locked": true, - "name": "Joystick_Movement", + "name": "MovementJoystick", "persistentUuid": "757f9f40-246a-49c8-a4d3-fe0022b826a7", "width": 0, "x": 170, @@ -993,7 +993,7 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick_Movement", + "name": "MovementJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", "variant": "", "variables": [], @@ -2221,7 +2221,7 @@ "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick_Movement" + "objectName": "MovementJoystick" }, { "objectName": "JumpButton" @@ -2267,7 +2267,7 @@ "value": "Cache" }, "parameters": [ - "Joystick_Movement" + "MovementJoystick" ] }, { @@ -2291,7 +2291,7 @@ "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::ActivateControl" }, "parameters": [ - "Joystick_Movement", + "MovementJoystick", "", "" ] @@ -2556,7 +2556,7 @@ }, "parameters": [ "", - "Joystick_Movement", + "MovementJoystick", "\"Left\"", "" ] @@ -2568,7 +2568,7 @@ "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::TeleportAndPress" }, "parameters": [ - "Joystick_Movement", + "MovementJoystick", "CursorX(\"UI\")", "CursorY(\"UI\")", "" @@ -2607,7 +2607,7 @@ }, "parameters": [ "", - "Joystick_Movement", + "MovementJoystick", "\"Left\"", "" ] @@ -3357,7 +3357,7 @@ }, "parameters": [ "", - "Surface", + "RaycastSurface", "200", "" ] @@ -3969,7 +3969,7 @@ }, "parameters": [ "", - "Surface", + "RaycastSurface", "200", "" ] diff --git a/examples/starting-first-person/README.md b/examples/starting-first-person/README.md index baf1447d7..07441940c 100644 --- a/examples/starting-first-person/README.md +++ b/examples/starting-first-person/README.md @@ -1,5 +1,3 @@ # 3D First Person -A 3D, physics-based, first person game where the player can move and look around. -It has a ground, platforms and obstacles which can be pushed away. -Support for both mobile and keyboard/mouse controls. \ No newline at end of file +A 3D physics-based first-person game where the player can look around and turn using the game camera, as well as jump and fall within the environment. The scene includes a ground surface to walk on, solid platforms the player can land on and cannot pass through, and a pushable physics box that reacts realistically when the player pushes it. The game supports both keyboard/mouse controls and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-first-person/starting-first-person.json b/examples/starting-first-person/starting-first-person.json index 887ccdbb2..c10d5b8d2 100644 --- a/examples/starting-first-person/starting-first-person.json +++ b/examples/starting-first-person/starting-first-person.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 237, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "", "version": "1.0.0", - "name": "First person Game", + "name": "starting-first-person", "description": "", "author": "", "windowWidth": 1280, @@ -206,7 +206,8 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.43357743047025565, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [ @@ -309,7 +310,7 @@ "keepRatio": true, "layer": "MobileControls", "locked": true, - "name": "Joystick_Movement", + "name": "MovementJoystick", "persistentUuid": "757f9f40-246a-49c8-a4d3-fe0022b826a7", "width": 0, "x": 170, @@ -647,7 +648,7 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick_Movement", + "name": "MovementJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", "variant": "", "variables": [], @@ -1095,7 +1096,7 @@ "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick_Movement" + "objectName": "MovementJoystick" }, { "objectName": "JumpButton" @@ -1137,7 +1138,7 @@ "value": "Cache" }, "parameters": [ - "Joystick_Movement" + "MovementJoystick" ] }, { @@ -1153,7 +1154,7 @@ "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::ActivateControl" }, "parameters": [ - "Joystick_Movement", + "MovementJoystick", "", "" ] @@ -1382,7 +1383,7 @@ }, "parameters": [ "", - "Joystick_Movement", + "MovementJoystick", "\"Left\"", "" ] @@ -1394,7 +1395,7 @@ "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::TeleportAndPress" }, "parameters": [ - "Joystick_Movement", + "MovementJoystick", "CursorX(\"UI\")", "CursorY(\"UI\")", "" @@ -1433,7 +1434,7 @@ }, "parameters": [ "", - "Joystick_Movement", + "MovementJoystick", "\"Left\"", "" ] @@ -2344,6 +2345,7 @@ "extraInformation": [ "Physics3D::PhysicsCharacter3D" ], + "choices": [], "name": "PhysicsCharacter3D" }, { @@ -2556,6 +2558,7 @@ "extraInformation": [ "Physics3D::PhysicsCharacter3D" ], + "choices": [], "name": "PhysicsCharacter3D" }, { @@ -6298,6 +6301,7 @@ "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], + "choices": [], "name": "Property" }, { @@ -6311,9 +6315,15 @@ "type": "Choice", "label": "Joystick name", "group": "Controls", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -6434,6 +6444,7 @@ "extraInformation": [ "Physics3D::PhysicsCharacter3D" ], + "choices": [], "name": "PhysicsCharacter3D" }, { @@ -6447,9 +6458,15 @@ "type": "Choice", "label": "Walk joystick", "group": "Controls", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -6559,6 +6576,7 @@ "extraInformation": [ "Physics3D::PhysicsCharacter3D" ], + "choices": [], "name": "PhysicsCharacter3D" }, { @@ -6572,9 +6590,15 @@ "type": "Choice", "label": "Walk joystick", "group": "Controls", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -7517,6 +7541,7 @@ "extraInformation": [ "Scene3D::Base3DBehavior" ], + "choices": [], "name": "Object3D" }, { @@ -7530,9 +7555,15 @@ "type": "Choice", "label": "Camera joystick", "group": "Controls", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "CameraStick" }, @@ -7748,6 +7779,7 @@ "extraInformation": [ "Physics3D::PhysicsCar3D" ], + "choices": [], "name": "PhysicsCar3D" }, { @@ -7761,9 +7793,15 @@ "type": "Choice", "label": "Steer joystick", "group": "Controls", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "SteerJoystickIdentifier" }, @@ -7772,9 +7810,15 @@ "type": "Choice", "label": "Speed joystick", "group": "Controls", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "SpeedJoystickIdentifier" }, @@ -8307,6 +8351,7 @@ "extraInformation": [ "TopDownMovementBehavior::TopDownMovementBehavior" ], + "choices": [], "name": "TopDownMovement" }, { @@ -8319,9 +8364,15 @@ "value": "Primary", "type": "Choice", "label": "Joystick name", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -8330,10 +8381,19 @@ "type": "Choice", "label": "Stick mode", "group": "Controls", - "extraInformation": [ - "Analog", - "360°", - "8 Directions" + "choices": [ + { + "label": "Analog", + "value": "Analog" + }, + { + "label": "360°", + "value": "360°" + }, + { + "label": "8 Directions", + "value": "8 Directions" + } ], "name": "StickMode" } @@ -8458,6 +8518,7 @@ } ], "instances": [], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -9582,9 +9643,15 @@ "value": "Primary", "type": "Choice", "label": "Joystick name", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -9603,6 +9670,7 @@ "extraInformation": [ "Thumb" ], + "choices": [], "hidden": true, "name": "ThumbAnchorOrigin" }, @@ -9622,6 +9690,7 @@ "extraInformation": [ "Thumb" ], + "choices": [], "hidden": true, "name": "ThumbIsScaledProportionally" }, @@ -11295,6 +11364,7 @@ "extraInformation": [ "Scene3D::Base3DBehavior" ], + "choices": [], "name": "Object3D" }, { @@ -12033,6 +12103,7 @@ "extraInformation": [ "SpriteToggleSwitch::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { @@ -13151,12 +13222,27 @@ "value": "Idle", "type": "Choice", "label": "State", - "extraInformation": [ - "Idle", - "Hovered", - "PressedInside", - "PressedOutside", - "Validated" + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Hovered", + "value": "Hovered" + }, + { + "label": "PressedInside", + "value": "PressedInside" + }, + { + "label": "PressedOutside", + "value": "PressedOutside" + }, + { + "label": "Validated", + "value": "Validated" + } ], "hidden": true, "name": "State" @@ -13317,6 +13403,7 @@ "initialVariables": [] } ], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -14552,7 +14639,8 @@ "stringProperties": [], "initialVariables": [] } - ] + ], + "editionSettings": {} } ] } diff --git a/examples/starting-flappy-bird/README.md b/examples/starting-flappy-bird/README.md index dbb23f33e..916e13b98 100644 --- a/examples/starting-flappy-bird/README.md +++ b/examples/starting-flappy-bird/README.md @@ -1,4 +1,3 @@ # Flappy Bird -A game where the player must constantly tap to jump on the screen, avoiding to touch the ground and obstacles as they progress in a challenging level. It is similar to Flappy Bird. -Support for keyboard and mobile controls. \ No newline at end of file +A Flappy Bird-style 2D side view game where the player uses platformer behavior to jump and fall, navigating hazards that scroll in from the right at varying heights. Objects that move off the left side of the screen are recycled back to the right, and the background scrolls to the left, to create an endless scrolling environment. The level resets if the player collides with an obstacle or moves too high or too low. The game supports both mouse and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-flappy-bird/starting-flappy-bird.json b/examples/starting-flappy-bird/starting-flappy-bird.json index 9dd694028..4bb83d3da 100644 --- a/examples/starting-flappy-bird/starting-flappy-bird.json +++ b/examples/starting-flappy-bird/starting-flappy-bird.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 239, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-platformer", "version": "1.0.0", - "name": "starting_flappybird", + "name": "starting-flappy-bird", "description": "", "author": "", "windowWidth": 1280, @@ -161,18 +161,19 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.4481978045410394, - "windowMask": false + "zoomFactor": 0.37971210019479645, + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [ { "name": "Hazards", "objects": [ { - "name": "Border" + "name": "Boundary" }, { - "name": "Spikes" + "name": "SpikeObstacle" } ] } @@ -185,7 +186,7 @@ "height": 78.99999999999999, "keepRatio": true, "layer": "", - "name": "Platformer_Character", + "name": "Player", "persistentUuid": "4ded1d81-e820-41d3-868a-3f314e5850bd", "width": 79, "x": 160, @@ -219,7 +220,7 @@ "height": 128, "keepRatio": true, "layer": "", - "name": "Border", + "name": "Boundary", "persistentUuid": "1c4f7ab9-04d4-4cee-8572-96199ce1245c", "width": 1280, "x": 0, @@ -236,7 +237,7 @@ "height": 128, "keepRatio": true, "layer": "", - "name": "Border", + "name": "Boundary", "persistentUuid": "b89903be-0ed4-4871-b23d-9b1927ce46de", "width": 1280, "x": 0, @@ -253,7 +254,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Spikes", + "name": "SpikeObstacle", "persistentUuid": "615a5c01-2c3d-4863-ac72-cd0051b1af3a", "width": 0, "x": 1472, @@ -269,7 +270,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Spikes", + "name": "SpikeObstacle", "persistentUuid": "f698190b-1d78-4585-b9cd-e80b30644ad2", "width": 0, "x": 1472, @@ -285,7 +286,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Spikes", + "name": "SpikeObstacle", "persistentUuid": "298a18f1-50b3-41fb-8b79-09194bfe27d3", "width": 0, "x": 576, @@ -302,7 +303,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Spikes", + "name": "SpikeObstacle", "persistentUuid": "d8981b51-0182-470d-bce0-b49d4d12efe1", "width": 0, "x": 576, @@ -318,7 +319,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Spikes", + "name": "SpikeObstacle", "persistentUuid": "a2971420-7998-4bbf-84ac-c08cdb4ccb01", "width": 0, "x": 1024, @@ -335,7 +336,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Spikes", + "name": "SpikeObstacle", "persistentUuid": "85065354-555a-4da4-9af1-bdce65e5b9eb", "width": 0, "x": 1024, @@ -351,7 +352,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Spawn", + "name": "HazardSpawner", "persistentUuid": "0937442c-2a98-4607-a10e-2779699f1835", "width": 0, "x": 1600, @@ -366,19 +367,19 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Platformer_Character", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [], "effects": [], "behaviors": [ { + "name": "PlatformerObject", + "type": "PlatformBehavior::PlatformerObjectBehavior", "gravity": 700, "ignoreDefaultControls": true, "jumpSpeed": 650, "jumpSustainTime": 0, - "name": "PlatformerObject", - "type": "PlatformBehavior::PlatformerObjectBehavior", "acceleration": 1000, "canGoDownFromJumpthru": true, "canGrabPlatforms": false, @@ -458,7 +459,7 @@ { "assetStoreId": "", "height": 64, - "name": "Border", + "name": "Boundary", "texture": "assets\\StartingGround.png", "type": "TiledSpriteObject::TiledSprite", "width": 64, @@ -469,7 +470,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Spikes", + "name": "SpikeObstacle", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -529,7 +530,7 @@ { "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Spawn", + "name": "HazardSpawner", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -591,19 +592,19 @@ "folderName": "__ROOT", "children": [ { - "objectName": "Platformer_Character" + "objectName": "Player" }, { - "objectName": "Border" + "objectName": "Boundary" }, { - "objectName": "Spikes" + "objectName": "SpikeObstacle" }, { "objectName": "Background" }, { - "objectName": "Spawn" + "objectName": "HazardSpawner" } ] }, @@ -616,7 +617,7 @@ "value": "PlatformBehavior::IsFalling" }, "parameters": [ - "Platformer_Character", + "Player", "PlatformerObject" ] } @@ -627,7 +628,7 @@ "value": "PlatformBehavior::SetCanJump" }, "parameters": [ - "Platformer_Character", + "Player", "PlatformerObject" ] } @@ -669,7 +670,7 @@ "value": "PlatformBehavior::SimulateControl" }, "parameters": [ - "Platformer_Character", + "Player", "PlatformerObject", "\"Jump\"" ] @@ -685,7 +686,7 @@ "value": "MettreX" }, "parameters": [ - "Spikes", + "SpikeObstacle", "-", "5" ] @@ -705,7 +706,7 @@ "value": "TiledSpriteObject::XOffset" }, "parameters": [ - "Border", + "Boundary", "=", "TimeFromStart()*150" ] @@ -720,7 +721,7 @@ "value": "CollisionNP" }, "parameters": [ - "Platformer_Character", + "Player", "Hazards", "", "", @@ -749,7 +750,7 @@ "value": "BoundingBoxRight" }, "parameters": [ - "Spikes", + "SpikeObstacle", "<", "0" ] @@ -761,9 +762,9 @@ "value": "MettreX" }, "parameters": [ - "Spikes", + "SpikeObstacle", "=", - "Spawn.X()" + "HazardSpawner.X()" ] } ] @@ -814,23 +815,6 @@ } ], "effects": [] - }, - { - "ambientLightColorB": 200, - "ambientLightColorG": 200, - "ambientLightColorR": 200, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 3, - "cameraType": "", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "MobileControls", - "renderingType": "", - "visibility": true, - "cameras": [], - "effects": [] } ], "behaviorsSharedData": [ diff --git a/examples/starting-physics-pixel/README.md b/examples/starting-physics-pixel/README.md index abe2cd54b..ed3e678ac 100644 --- a/examples/starting-physics-pixel/README.md +++ b/examples/starting-physics-pixel/README.md @@ -1,5 +1,5 @@ # 2D Physics Game (pixel-art) -A 2D, side-view, physics-based game. Similar to Angry bird, you can throw a ball against obstacles and walls. -Works on mobile and with the mouse. +A 2D side-view physics game where the player can click or touch and drag a ball to smash it into other 2D physics blocks in the scene. The blocks have varying densities and react differently when struck by the ball, similar to angry birds. A ground object keeps the ball contained within the game screen. The game supports both mouse and mobile touch controls. + Assets and game are optimized for pixel art. \ No newline at end of file diff --git a/examples/starting-physics-pixel/starting-physics-pixel.json b/examples/starting-physics-pixel/starting-physics-pixel.json index b495fb33c..058ba89f3 100644 --- a/examples/starting-physics-pixel/starting-physics-pixel.json +++ b/examples/starting-physics-pixel/starting-physics-pixel.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 224, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "", "version": "1.0.0", - "name": "Physics Game (Pixel art)", + "name": "starting-physics-pixel", "description": "", "author": "", "windowWidth": 1280, @@ -162,7 +162,8 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 1.2121641972173938, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [], @@ -825,7 +826,9 @@ "type": { "value": "DepartScene" }, - "parameters": [""] + "parameters": [ + "" + ] } ], "actions": [ @@ -833,7 +836,12 @@ "type": { "value": "ZoomCamera" }, - "parameters": ["", "2", "", ""] + "parameters": [ + "", + "2", + "", + "" + ] } ] } @@ -916,6 +924,7 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Draggable (for physics objects)", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBkPSJNMjcsMTFjMC0yLTIuMi0zLjYtNS42LTQuNEMyMC42LDMuMiwxOSwxLDE3LDFzLTMuNiwyLjItNC40LDUuNkM5LjIsNy40LDcsOSw3LDExYzAsMiwyLjIsMy42LDUuNiw0LjQNCgljMC4zLDEuMiwwLjYsMi4yLDEuMSwzLjFjMC4zLDAuNSwwLjksMC43LDEuNCwwLjRjMC41LTAuMywwLjctMC45LDAuNC0xLjRjLTAuMy0wLjUtMC41LTEuMS0wLjctMS44YzAuNywwLjEsMS41LDAuMSwyLjIsMC4xDQoJYzAuOCwwLDEuNSwwLDIuMi0wLjFjLTAuMywxLTAuNywxLjktMS4xLDIuNWMtMC4zLDAuNC0wLjIsMS4xLDAuMiwxLjRjMC4yLDAuMSwwLjQsMC4yLDAuNiwwLjJjMC4zLDAsMC42LTAuMSwwLjgtMC40DQoJYzAuNy0xLDEuMy0yLjQsMS43LTRDMjQuOCwxNC42LDI3LDEzLDI3LDExeiBNMTcsM2MwLjcsMCwxLjYsMS4yLDIuMiwzLjNjLTAuNy0wLjEtMS41LTAuMS0yLjItMC4xcy0xLjUsMC0yLjIsMC4xDQoJQzE1LjQsNC4yLDE2LjMsMywxNywzeiBNOSwxMWMwLTAuNywxLjItMS42LDMuMy0yLjJjLTAuMSwwLjctMC4xLDEuNS0wLjEsMi4yYzAsMC44LDAsMS41LDAuMSwyLjJDMTAuMiwxMi42LDksMTEuNyw5LDExeiBNMTcsMTMuOQ0KCWMtMSwwLTEuOS0wLjEtMi43LTAuMmMtMC4xLTAuOC0wLjItMS43LTAuMi0yLjdjMC0xLDAuMS0xLjksMC4yLTIuN0MxNS4xLDguMiwxNiw4LjEsMTcsOC4xczEuOSwwLjEsMi43LDAuMg0KCWMwLjEsMC44LDAuMiwxLjcsMC4yLDIuN2MwLDAuOS0wLjEsMS44LTAuMiwyLjdDMTguOSwxMy44LDE4LDEzLjksMTcsMTMuOXogTTIxLjcsMTMuMmMwLjEtMC43LDAuMS0xLjUsMC4xLTIuMg0KCWMwLTAuOCwwLTEuNS0wLjEtMi4yQzIzLjgsOS40LDI1LDEwLjMsMjUsMTFDMjUsMTEuNywyMy44LDEyLjYsMjEuNywxMy4yeiIvPg0KPHBhdGggZD0iTTI5LjksMTcuNUMyOS43LDE3LjIsMjkuNCwxNywyOSwxN2MtMi4yLDAtNC4zLDEtNS42LDIuOEwyMi41LDIxYy0xLjEsMS4zLTIuOCwyLTQuNSwyaC0zYy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDEuOQ0KCWMxLjYsMCwzLjEtMS4zLDMuMS0yLjljMCwwLDAtMC4xLDAtMC4xYzAtMC41LTAuNS0xLTEtMWwtNi4xLDBjLTMuNiwwLTYuNSwxLjYtOC4xLDQuMmwtMi43LDQuMmMtMC4yLDAuMy0wLjIsMC43LDAsMWwzLDUNCgljMC4xLDAuMiwwLjQsMC40LDAuNiwwLjVjMC4xLDAsMC4xLDAsMC4yLDBjMC4yLDAsMC40LTAuMSwwLjYtMC4yYzMuOC0yLjUsOC4yLTMuOCwxMi43LTMuOGMzLjMsMCw2LjMtMS44LDcuOS00LjdsMi43LTQuOA0KCUMzMCwxOC4yLDMwLDE3LjgsMjkuOSwxNy41eiIvPg0KPC9zdmc+DQo=", "name": "DraggablePhysics", @@ -948,7 +957,9 @@ "joint", "fling" ], - "authorIds": ["gqDaZjCfevOOxBYkK6zlhtZnXCg1"], + "authorIds": [ + "gqDaZjCfevOOxBYkK6zlhtZnXCg1" + ], "dependencies": [], "globalVariables": [], "sceneVariables": [], @@ -982,7 +993,10 @@ "type": { "value": "Physics2::IsKinematic" }, - "parameters": ["Object", "PhysicsBehavior"] + "parameters": [ + "Object", + "PhysicsBehavior" + ] } ], "actions": [ @@ -990,7 +1004,10 @@ "type": { "value": "Physics2::SetDynamic" }, - "parameters": ["Object", "PhysicsBehavior"] + "parameters": [ + "Object", + "PhysicsBehavior" + ] } ] } @@ -1025,7 +1042,10 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::PropertyEnableAutomaticDragging" }, - "parameters": ["Object", "Behavior"] + "parameters": [ + "Object", + "Behavior" + ] } ], "actions": [], @@ -1037,7 +1057,10 @@ "type": { "value": "MouseButtonFromTextPressed" }, - "parameters": ["", "MouseButton"] + "parameters": [ + "", + "MouseButton" + ] }, { "type": { @@ -1056,13 +1079,22 @@ "inverted": true, "value": "DraggablePhysics::DraggablePhysics::IsBeingDragged" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] }, { "type": { "value": "SourisSurObjet" }, - "parameters": ["Object", "", "", ""] + "parameters": [ + "Object", + "", + "", + "" + ] } ], "actions": [ @@ -1117,13 +1149,19 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::PropertyEnableAutomaticDragging" }, - "parameters": ["Object", "Behavior"] + "parameters": [ + "Object", + "Behavior" + ] }, { "type": { "value": "MouseButtonFromTextReleased" }, - "parameters": ["", "MouseButton"] + "parameters": [ + "", + "MouseButton" + ] } ], "actions": [ @@ -1131,7 +1169,11 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::ReleaseDrag" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ] }, @@ -1154,7 +1196,11 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::IsBeingDragged" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ], "actions": [ @@ -1206,7 +1252,11 @@ "inverted": true, "value": "DraggablePhysics::DraggablePhysics::IsBeingDragged" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ], "actions": [ @@ -1268,7 +1318,11 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::IsBeingDragged" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ], "actions": [ @@ -1286,7 +1340,12 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::SetPropertyMouseJointID" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] } ] } @@ -1320,7 +1379,12 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::PropertyMouseJointID" }, - "parameters": ["Object", "Behavior", "!=", "0"] + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] } ], "actions": [ @@ -1328,7 +1392,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -1362,7 +1428,11 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::ReleaseDrag" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ] } @@ -1398,7 +1468,9 @@ "type": { "value": "SetReturnString" }, - "parameters": ["MouseButton"] + "parameters": [ + "MouseButton" + ] } ] } @@ -1437,7 +1509,12 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::SetPropertyMouseButton" }, - "parameters": ["Object", "Behavior", "=", "Value"] + "parameters": [ + "Object", + "Behavior", + "=", + "Value" + ] } ] } @@ -1473,7 +1550,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["MaxForce"] + "parameters": [ + "MaxForce" + ] } ] } @@ -1511,7 +1590,12 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::SetPropertyMaxForce" }, - "parameters": ["Object", "Behavior", "=", "Value"] + "parameters": [ + "Object", + "Behavior", + "=", + "Value" + ] } ] } @@ -1547,7 +1631,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["Frequency"] + "parameters": [ + "Frequency" + ] } ] } @@ -1585,7 +1671,12 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::SetPropertyFrequency" }, - "parameters": ["Object", "Behavior", "=", "Value"] + "parameters": [ + "Object", + "Behavior", + "=", + "Value" + ] } ] } @@ -1621,7 +1712,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["Damping"] + "parameters": [ + "Damping" + ] } ] } @@ -1659,7 +1752,12 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::SetPropertyDamping" }, - "parameters": ["Object", "Behavior", "=", "Value"] + "parameters": [ + "Object", + "Behavior", + "=", + "Value" + ] } ] } @@ -1694,7 +1792,10 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::PropertyEnableAutomaticDragging" }, - "parameters": ["Object", "Behavior"] + "parameters": [ + "Object", + "Behavior" + ] } ], "actions": [ @@ -1702,7 +1803,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -1738,7 +1841,9 @@ "inverted": true, "value": "GetArgumentAsBoolean" }, - "parameters": ["\"Value\""] + "parameters": [ + "\"Value\"" + ] } ], "actions": [ @@ -1746,7 +1851,11 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::SetPropertyEnableAutomaticDragging" }, - "parameters": ["Object", "Behavior", "no"] + "parameters": [ + "Object", + "Behavior", + "no" + ] } ] }, @@ -1757,7 +1866,9 @@ "type": { "value": "GetArgumentAsBoolean" }, - "parameters": ["\"Value\""] + "parameters": [ + "\"Value\"" + ] } ], "actions": [ @@ -1765,7 +1876,11 @@ "type": { "value": "DraggablePhysics::DraggablePhysics::SetPropertyEnableAutomaticDragging" }, - "parameters": ["Object", "Behavior", "yes"] + "parameters": [ + "Object", + "Behavior", + "yes" + ] } ] } @@ -1798,18 +1913,30 @@ "value": "", "type": "Behavior", "label": "Physics behavior", - "description": "", - "group": "", - "extraInformation": ["Physics2::Physics2Behavior"], + "extraInformation": [ + "Physics2::Physics2Behavior" + ], + "choices": [], "name": "PhysicsBehavior" }, { "value": "Left", "type": "Choice", "label": "Mouse button", - "description": "", - "group": "", - "extraInformation": ["Left", "Right", "Middle"], + "choices": [ + { + "label": "Left", + "value": "Left" + }, + { + "label": "Right", + "value": "Right" + }, + { + "label": "Middle", + "value": "Middle" + } + ], "name": "MouseButton" }, { @@ -1817,36 +1944,24 @@ "type": "Number", "unit": "Newton", "label": "Maximum force", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxForce" }, { "value": "10", "type": "Number", "label": "Frequency (Hz) ", - "description": "", - "group": "", - "extraInformation": [], "name": "Frequency" }, { "value": "1", "type": "Number", "label": "Damping ratio (Range: 0 to 1)", - "description": "", - "group": "", - "extraInformation": [], "name": "Damping" }, { "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MouseJointID" }, @@ -1855,8 +1970,6 @@ "type": "Boolean", "label": "Enable automatic dragging", "description": "If automatic dragging is disabled, use the \"Start drag\" and \"Release drag\" actions.", - "group": "", - "extraInformation": [], "name": "EnableAutomaticDragging" } ], @@ -1867,4 +1980,4 @@ } ], "externalLayouts": [] -} +} \ No newline at end of file diff --git a/examples/starting-physics/README.md b/examples/starting-physics/README.md index 41d487264..fc5831c55 100644 --- a/examples/starting-physics/README.md +++ b/examples/starting-physics/README.md @@ -1,4 +1,3 @@ # 2D Physics Game -A 2D, side-view, physics-based game. Similar to Angry bird, you can throw a ball against obstacles and walls. -Works on mobile and with the mouse. \ No newline at end of file +A 2D side-view physics game where the player can click or touch and drag a ball to smash it into other 2D physics blocks in the scene. The blocks have varying densities and react differently when struck by the ball, similar to angry birds. A ground object keeps the ball contained within the game screen. The game supports both mouse and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-physics/starting-physics.json b/examples/starting-physics/starting-physics.json index 0b4717502..c8cba8835 100644 --- a/examples/starting-physics/starting-physics.json +++ b/examples/starting-physics/starting-physics.json @@ -1,9 +1,9 @@ { "firstLayout": "", "gdVersion": { - "build": 219, + "build": 245, "major": 5, - "minor": 4, + "minor": 5, "revision": 0 }, "properties": { @@ -18,9 +18,8 @@ "scaleMode": "linear", "sizeOnStartupMode": "", "templateSlug": "", - "useExternalSourceFiles": false, "version": "1.0.0", - "name": "Physics Game", + "name": "starting-physics", "description": "", "author": "", "windowWidth": 1280, @@ -163,7 +162,8 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.5653158055126374, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [], @@ -924,6 +924,7 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Draggable (for physics objects)", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBkPSJNMjcsMTFjMC0yLTIuMi0zLjYtNS42LTQuNEMyMC42LDMuMiwxOSwxLDE3LDFzLTMuNiwyLjItNC40LDUuNkM5LjIsNy40LDcsOSw3LDExYzAsMiwyLjIsMy42LDUuNiw0LjQNCgljMC4zLDEuMiwwLjYsMi4yLDEuMSwzLjFjMC4zLDAuNSwwLjksMC43LDEuNCwwLjRjMC41LTAuMywwLjctMC45LDAuNC0xLjRjLTAuMy0wLjUtMC41LTEuMS0wLjctMS44YzAuNywwLjEsMS41LDAuMSwyLjIsMC4xDQoJYzAuOCwwLDEuNSwwLDIuMi0wLjFjLTAuMywxLTAuNywxLjktMS4xLDIuNWMtMC4zLDAuNC0wLjIsMS4xLDAuMiwxLjRjMC4yLDAuMSwwLjQsMC4yLDAuNiwwLjJjMC4zLDAsMC42LTAuMSwwLjgtMC40DQoJYzAuNy0xLDEuMy0yLjQsMS43LTRDMjQuOCwxNC42LDI3LDEzLDI3LDExeiBNMTcsM2MwLjcsMCwxLjYsMS4yLDIuMiwzLjNjLTAuNy0wLjEtMS41LTAuMS0yLjItMC4xcy0xLjUsMC0yLjIsMC4xDQoJQzE1LjQsNC4yLDE2LjMsMywxNywzeiBNOSwxMWMwLTAuNywxLjItMS42LDMuMy0yLjJjLTAuMSwwLjctMC4xLDEuNS0wLjEsMi4yYzAsMC44LDAsMS41LDAuMSwyLjJDMTAuMiwxMi42LDksMTEuNyw5LDExeiBNMTcsMTMuOQ0KCWMtMSwwLTEuOS0wLjEtMi43LTAuMmMtMC4xLTAuOC0wLjItMS43LTAuMi0yLjdjMC0xLDAuMS0xLjksMC4yLTIuN0MxNS4xLDguMiwxNiw4LjEsMTcsOC4xczEuOSwwLjEsMi43LDAuMg0KCWMwLjEsMC44LDAuMiwxLjcsMC4yLDIuN2MwLDAuOS0wLjEsMS44LTAuMiwyLjdDMTguOSwxMy44LDE4LDEzLjksMTcsMTMuOXogTTIxLjcsMTMuMmMwLjEtMC43LDAuMS0xLjUsMC4xLTIuMg0KCWMwLTAuOCwwLTEuNS0wLjEtMi4yQzIzLjgsOS40LDI1LDEwLjMsMjUsMTFDMjUsMTEuNywyMy44LDEyLjYsMjEuNywxMy4yeiIvPg0KPHBhdGggZD0iTTI5LjksMTcuNUMyOS43LDE3LjIsMjkuNCwxNywyOSwxN2MtMi4yLDAtNC4zLDEtNS42LDIuOEwyMi41LDIxYy0xLjEsMS4zLTIuOCwyLTQuNSwyaC0zYy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDEuOQ0KCWMxLjYsMCwzLjEtMS4zLDMuMS0yLjljMCwwLDAtMC4xLDAtMC4xYzAtMC41LTAuNS0xLTEtMWwtNi4xLDBjLTMuNiwwLTYuNSwxLjYtOC4xLDQuMmwtMi43LDQuMmMtMC4yLDAuMy0wLjIsMC43LDAsMWwzLDUNCgljMC4xLDAuMiwwLjQsMC40LDAuNiwwLjVjMC4xLDAsMC4xLDAsMC4yLDBjMC4yLDAsMC40LTAuMSwwLjYtMC4yYzMuOC0yLjUsOC4yLTMuOCwxMi43LTMuOGMzLjMsMCw2LjMtMS44LDcuOS00LjdsMi43LTQuOA0KCUMzMCwxOC4yLDMwLDE3LjgsMjkuOSwxNy41eiIvPg0KPC9zdmc+DQo=", "name": "DraggablePhysics", @@ -1912,23 +1913,29 @@ "value": "", "type": "Behavior", "label": "Physics behavior", - "description": "", - "group": "", "extraInformation": [ "Physics2::Physics2Behavior" ], + "choices": [], "name": "PhysicsBehavior" }, { "value": "Left", "type": "Choice", "label": "Mouse button", - "description": "", - "group": "", - "extraInformation": [ - "Left", - "Right", - "Middle" + "choices": [ + { + "label": "Left", + "value": "Left" + }, + { + "label": "Right", + "value": "Right" + }, + { + "label": "Middle", + "value": "Middle" + } ], "name": "MouseButton" }, @@ -1937,36 +1944,24 @@ "type": "Number", "unit": "Newton", "label": "Maximum force", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxForce" }, { "value": "10", "type": "Number", "label": "Frequency (Hz) ", - "description": "", - "group": "", - "extraInformation": [], "name": "Frequency" }, { "value": "1", "type": "Number", "label": "Damping ratio (Range: 0 to 1)", - "description": "", - "group": "", - "extraInformation": [], "name": "Damping" }, { "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MouseJointID" }, @@ -1975,8 +1970,6 @@ "type": "Boolean", "label": "Enable automatic dragging", "description": "If automatic dragging is disabled, use the \"Start drag\" and \"Release drag\" actions.", - "group": "", - "extraInformation": [], "name": "EnableAutomaticDragging" } ], @@ -1986,6 +1979,5 @@ "eventsBasedObjects": [] } ], - "externalLayouts": [], - "externalSourceFiles": [] + "externalLayouts": [] } \ No newline at end of file diff --git a/examples/starting-platformer-pixel/README.md b/examples/starting-platformer-pixel/README.md index 4a7596242..016c9e52c 100644 --- a/examples/starting-platformer-pixel/README.md +++ b/examples/starting-platformer-pixel/README.md @@ -1,6 +1,5 @@ # 2D Platformer (pixel-art) -A 2D platformer game in which the player can jump on platforms and collect coins. -It has platforms, a player and coins to collect like a basic 2D Mario-like game. -Support mobile controls and keyboard. +A 2D side-view platformer game with a smooth camera that follows the player’s movement. The player uses the platformer behavior, and can move left or right, jump, and fall within the game scene. Platforms allow the player to navigate vertically, and coins can be collected throughout the level. The game supports both keyboard/mouse controls and mobile touch controls. + Assets and game are optimized for pixel art. \ No newline at end of file diff --git a/examples/starting-platformer-pixel/starting-platformer-pixel.json b/examples/starting-platformer-pixel/starting-platformer-pixel.json index 974f058a2..f31d91c9e 100644 --- a/examples/starting-platformer-pixel/starting-platformer-pixel.json +++ b/examples/starting-platformer-pixel/starting-platformer-pixel.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 224, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "", "version": "1.0.0", - "name": "Platformer Game (Pixel art)", + "name": "starting-platformer-pixel", "description": "", "author": "", "windowWidth": 1280, @@ -199,8 +199,9 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 1.2530387740590005, - "windowMask": false + "zoomFactor": 1.1726229638177799, + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [], @@ -211,7 +212,7 @@ "height": 78.99999999999999, "keepRatio": true, "layer": "", - "name": "Platformer_Character", + "name": "Player", "persistentUuid": "4ded1d81-e820-41d3-868a-3f314e5850bd", "width": 79, "x": 384, @@ -244,7 +245,7 @@ "height": 0, "keepRatio": true, "layer": "MobileControls", - "name": "Joystick", + "name": "MoveJoystick", "persistentUuid": "855d809a-f954-4072-86d5-1d6f0b24a066", "width": 0, "x": 176, @@ -407,7 +408,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Platformer_Character", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -699,8 +700,9 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick", + "name": "MoveJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -802,7 +804,7 @@ "folderName": "__ROOT", "children": [ { - "objectName": "Platformer_Character" + "objectName": "Player" }, { "objectName": "Platform_Ground" @@ -817,7 +819,7 @@ "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick" + "objectName": "MoveJoystick" }, { "objectName": "JumpButton" @@ -872,7 +874,7 @@ "value": "CollisionNP" }, "parameters": [ - "Platformer_Character", + "Player", "Coins", "", "", @@ -1036,6 +1038,7 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Button states and effects", + "gdevelopVersion": "", "helpPath": "/objects/button", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWdlc3R1cmUtdGFwLWJ1dHRvbiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMyA1QzE1LjIxIDUgMTcgNi43OSAxNyA5QzE3IDEwLjUgMTYuMiAxMS43NyAxNSAxMi40NlYxMS4yNEMxNS42MSAxMC42OSAxNiA5Ljg5IDE2IDlDMTYgNy4zNCAxNC42NiA2IDEzIDZTMTAgNy4zNCAxMCA5QzEwIDkuODkgMTAuMzkgMTAuNjkgMTEgMTEuMjRWMTIuNDZDOS44IDExLjc3IDkgMTAuNSA5IDlDOSA2Ljc5IDEwLjc5IDUgMTMgNU0yMCAyMC41QzE5Ljk3IDIxLjMyIDE5LjMyIDIxLjk3IDE4LjUgMjJIMTNDMTIuNjIgMjIgMTIuMjYgMjEuODUgMTIgMjEuNTdMOCAxNy4zN0w4Ljc0IDE2LjZDOC45MyAxNi4zOSA5LjIgMTYuMjggOS41IDE2LjI4SDkuN0wxMiAxOFY5QzEyIDguNDUgMTIuNDUgOCAxMyA4UzE0IDguNDUgMTQgOVYxMy40N0wxNS4yMSAxMy42TDE5LjE1IDE1Ljc5QzE5LjY4IDE2LjAzIDIwIDE2LjU2IDIwIDE3LjE0VjIwLjVNMjAgMkg0QzIuOSAyIDIgMi45IDIgNFYxMkMyIDEzLjExIDIuOSAxNCA0IDE0SDhWMTJMNCAxMkw0IDRIMjBMMjAgMTJIMThWMTRIMjBWMTMuOTZMMjAuMDQgMTRDMjEuMTMgMTQgMjIgMTMuMDkgMjIgMTJWNEMyMiAyLjkgMjEuMTEgMiAyMCAyWiIgLz48L3N2Zz4=", "name": "ButtonStates", @@ -2185,8 +2188,6 @@ "type": "Boolean", "label": "", "description": "Should check hovering", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShouldCheckHovering" }, @@ -2194,14 +2195,27 @@ "value": "Idle", "type": "Choice", "label": "State", - "description": "", - "group": "", - "extraInformation": [ - "Idle", - "Hovered", - "PressedInside", - "PressedOutside", - "Validated" + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Hovered", + "value": "Hovered" + }, + { + "label": "PressedInside", + "value": "PressedInside" + }, + { + "label": "PressedOutside", + "value": "PressedOutside" + }, + { + "label": "Validated", + "value": "Validated" + } ], "hidden": true, "name": "State" @@ -2210,9 +2224,6 @@ "value": "0", "type": "Number", "label": "Touch id", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -2220,9 +2231,6 @@ "value": "", "type": "Boolean", "label": "Touch is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIsInside" }, @@ -2230,9 +2238,6 @@ "value": "", "type": "Boolean", "label": "Mouse is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MouseIsInside" }, @@ -2240,9 +2245,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" } @@ -2755,31 +2757,27 @@ "value": "", "type": "Behavior", "label": "Button states", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { "value": "", "type": "Behavior", "label": "Effect capability", - "description": "", - "group": "", "extraInformation": [ "EffectCapability::EffectBehavior" ], + "choices": [], "name": "Effect" }, { "value": "", "type": "String", "label": "Idle state effect", - "description": "", "group": "Effects", - "extraInformation": [], "name": "IdleEffect" }, { @@ -2788,16 +2786,13 @@ "label": "Focused state effect", "description": "The state is Focused when the button is hovered or held outside.", "group": "Effects", - "extraInformation": [], "name": "FocusedEffect" }, { "value": "", "type": "String", "label": "Pressed state effect", - "description": "", "group": "Effects", - "extraInformation": [], "name": "PressedEffect" } ], @@ -3215,31 +3210,27 @@ "value": "", "type": "Behavior", "label": "Animatable capability", - "description": "", - "group": "", "extraInformation": [ "AnimatableCapability::AnimatableBehavior" ], + "choices": [], "name": "Animation" }, { "value": "", "type": "Behavior", "label": "Button states", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { "value": "Idle", "type": "String", "label": "Idle state animation name", - "description": "", "group": "Animation", - "extraInformation": [], "name": "IdleAnimationName" }, { @@ -3248,16 +3239,13 @@ "label": "Focused state animation name", "description": "The state is Focused when the button is hovered or held outside.", "group": "Animation", - "extraInformation": [], "name": "FocusedAnimationName" }, { "value": "Pressed", "type": "String", "label": "Pressed state animation name", - "description": "", "group": "Animation", - "extraInformation": [], "name": "PressedAnimationName" } ], @@ -4660,31 +4648,27 @@ "value": "", "type": "Behavior", "label": "Button states", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { "value": "", "type": "Behavior", "label": "Effect capability", - "description": "", - "group": "", "extraInformation": [ "EffectCapability::EffectBehavior" ], + "choices": [], "name": "Effect" }, { "value": "Effect", "type": "String", "label": "Effect name", - "description": "", "group": "Effect", - "extraInformation": [], "name": "EffectName" }, { @@ -4693,16 +4677,13 @@ "label": "Effect parameter", "description": "The effect parameter names can be found in the effects tab with the \"Show parameter names\" action of the drop down menu.", "group": "Effect", - "extraInformation": [], "name": "EffectProperty" }, { "value": "0", "type": "Number", "label": "Idle effect parameter value", - "description": "", "group": "Value", - "extraInformation": [], "name": "IdleValue" }, { @@ -4711,58 +4692,153 @@ "label": "Focused effect parameter value", "description": "The state is Focused when the button is hovered or held outside.", "group": "Value", - "extraInformation": [], "name": "FocusedValue" }, { "value": "0", "type": "Number", "label": "Pressed effect parameter value", - "description": "", "group": "Value", - "extraInformation": [], "name": "PressedValue" }, { "value": "easeInOutQuad", "type": "Choice", "label": "Fade-in easing", - "description": "", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeInEasing" }, @@ -4770,42 +4846,140 @@ "value": "easeInOutQuad", "type": "Choice", "label": "Fade-out easing", - "description": "", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeOutEasing" }, @@ -4814,9 +4988,7 @@ "type": "Number", "unit": "Second", "label": "Fade-in duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeInDuration" }, { @@ -4824,21 +4996,26 @@ "type": "Number", "unit": "Second", "label": "Fade-out duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeOutDuration" }, { "value": "Idle", "type": "Choice", "label": "", - "description": "", - "group": "", - "extraInformation": [ - "Idle", - "Focused", - "Pressed" + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Focused", + "value": "Focused" + }, + { + "label": "Pressed", + "value": "Pressed" + } ], "hidden": true, "name": "PreviousState" @@ -4847,9 +5024,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TweenInitialValue" }, @@ -4857,9 +5031,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TweenTargetedValue" }, @@ -4867,9 +5038,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TweenTime" }, @@ -4877,12 +5045,19 @@ "value": "NoTween", "type": "Choice", "label": "", - "description": "", - "group": "", - "extraInformation": [ - "NoTween", - "FadeIn", - "FadeOut" + "choices": [ + { + "label": "NoTween", + "value": "NoTween" + }, + { + "label": "FadeIn", + "value": "FadeIn" + }, + { + "label": "FadeOut", + "value": "FadeOut" + } ], "hidden": true, "name": "TweenState" @@ -4891,9 +5066,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "EffectValue" } @@ -5852,33 +6024,30 @@ "value": "", "type": "Behavior", "label": "Scalable capability", - "description": "", - "group": "", "extraInformation": [ "ScalableCapability::ScalableBehavior" ], + "choices": [], "name": "Scale" }, { "value": "", "type": "Behavior", "label": "Button states behavior (required)", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { "value": "", "type": "Behavior", "label": "Tween behavior (required)", - "description": "", - "group": "", "extraInformation": [ "Tween::TweenBehavior" ], + "choices": [], "name": "Tween" }, { @@ -5886,9 +6055,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Idle state size scale", - "description": "", "group": "Size", - "extraInformation": [], "name": "IdleScale" }, { @@ -5898,7 +6065,6 @@ "label": "Focused state size scale", "description": "The state is Focused when the button is hovered or held outside.", "group": "Size", - "extraInformation": [], "name": "FocusedScale" }, { @@ -5906,9 +6072,7 @@ "type": "Number", "unit": "Second", "label": "Fade-in duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeInDuration" }, { @@ -5916,9 +6080,7 @@ "type": "Number", "unit": "Second", "label": "Fade-out duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeOutDuration" }, { @@ -5926,51 +6088,147 @@ "type": "Number", "unit": "Dimensionless", "label": "Pressed state size scale", - "description": "", "group": "Size", - "extraInformation": [], "name": "PressedScale" }, { "value": "easeInOutQuad", "type": "Choice", "label": "Fade-in easing", - "description": "", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeInEasing" }, @@ -5978,42 +6236,140 @@ "value": "easeInOutQuad", "type": "Choice", "label": "Fade-out easing", - "description": "", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeOutEasing" }, @@ -6021,12 +6377,19 @@ "value": "Idle", "type": "Choice", "label": "", - "description": "", - "group": "", - "extraInformation": [ - "Idle", - "Focused", - "Pressed" + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Focused", + "value": "Focused" + }, + { + "label": "Pressed", + "value": "Pressed" + } ], "hidden": true, "name": "PreviousState" @@ -7000,31 +7363,27 @@ "value": "", "type": "Behavior", "label": "Button states", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { "value": "", "type": "Behavior", "label": "Tween", - "description": "", - "group": "", "extraInformation": [ "Tween::TweenBehavior" ], + "choices": [], "name": "Tween" }, { "value": "255;255;255", "type": "Color", "label": "Idle state color tint", - "description": "", "group": "Color", - "extraInformation": [], "name": "IdleColorTint" }, { @@ -7033,16 +7392,13 @@ "label": "Focused state color tint", "description": "The state is Focused when the button is hovered or held outside.", "group": "Color", - "extraInformation": [], "name": "FocusedColorTint" }, { "value": "64;64;64", "type": "Color", "label": "Pressed state color tint", - "description": "", "group": "Color", - "extraInformation": [], "name": "PressedColorTint" }, { @@ -7050,9 +7406,7 @@ "type": "Number", "unit": "Second", "label": "Fade-in duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeInDuration" }, { @@ -7060,51 +7414,147 @@ "type": "Number", "unit": "Second", "label": "Fade-out duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeOutDuration" }, { "value": "easeInOutQuad", "type": "Choice", "label": "Fade-in easing", - "description": "", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeInEasing" }, @@ -7112,42 +7562,140 @@ "value": "easeInOutQuad", "type": "Choice", "label": "Fade-out easing", - "description": "", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeOutEasing" }, @@ -7155,12 +7703,19 @@ "value": "Idle", "type": "Choice", "label": "", - "description": "", - "group": "", - "extraInformation": [ - "Idle", - "Focused", - "Pressed" + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Focused", + "value": "Focused" + }, + { + "label": "Pressed", + "value": "Pressed" + } ], "hidden": true, "name": "PreviousState" @@ -7176,6 +7731,7 @@ "category": "Input", "extensionNamespace": "", "fullName": "Multitouch joystick and buttons (sprite)", + "gdevelopVersion": "", "helpPath": "/objects/multitouch-joystick", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTYiIGN5PSIxNiIgcj0iMTMiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjI4LjQsMTIgMjAsMTIgMjAsMy42ICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMjAsMjguNCAyMCwyMCAyOC40LDIwICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMy42LDIwIDEyLDIwIDEyLDI4LjQgIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIxMiwzLjYgMTIsMTIgMy42LDEyICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxNiw2IDE2LjcsNyAxNS4zLDcgIi8+DQo8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjE2LDI2IDE1LjMsMjUgMTYuNywyNSAiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iNiwxNiA3LDE1LjMgNywxNi43ICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyNiwxNiAyNSwxNi43IDI1LDE1LjMgIi8+DQo8L3N2Zz4NCg==", "name": "SpriteMultitouchJoystick", @@ -9624,18 +10180,12 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "String", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [], "name": "JoystickIdentifier" }, { @@ -9643,17 +10193,12 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { "value": "0", "type": "Number", "label": "Joystick angle (range: -180 to 180)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickAngle" }, @@ -9661,9 +10206,6 @@ "value": "0", "type": "Number", "label": "Joystick force (range: 0 to 1)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickForce" }, @@ -9671,9 +10213,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -9681,9 +10220,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" } @@ -10066,27 +10602,18 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "A", "type": "String", "label": "Button identifier", - "description": "", - "group": "", - "extraInformation": [], "name": "ButtonIdentifier" }, { "value": "0", "type": "Number", "label": "TouchID", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -10094,9 +10621,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" }, @@ -10104,9 +10628,6 @@ "value": "", "type": "Boolean", "label": "Button released", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsReleased" } @@ -10295,31 +10816,32 @@ "value": "", "type": "Behavior", "label": "Platform character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], + "choices": [], "name": "Property" }, { "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", "group": "Controls", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -10327,9 +10849,7 @@ "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -10853,31 +11373,31 @@ "value": "", "type": "Behavior", "label": "Top-down movement behavior", - "description": "", - "group": "", "extraInformation": [ "TopDownMovementBehavior::TopDownMovementBehavior" ], + "choices": [], "name": "TopDownMovement" }, { "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -10885,12 +11405,20 @@ "value": "Analog", "type": "Choice", "label": "Stick mode", - "description": "", "group": "Controls", - "extraInformation": [ - "Analog", - "360°", - "8 Directions" + "choices": [ + { + "label": "Analog", + "value": "Analog" + }, + { + "label": "360°", + "value": "360°" + }, + { + "label": "8 Directions", + "value": "8 Directions" + } ], "name": "StickMode" } @@ -10911,6 +11439,111 @@ "fullName": "Multitouch Joystick", "isUsingLegacyInstancesRenderer": true, "name": "SpriteMultitouchJoystick", + "objects": [ + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Thumb", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + } + ] + }, + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Border", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "MultitouchJoystick", + "type": "SpriteMultitouchJoystick::MultitouchJoystick", + "ControllerIdentifier": 1, + "JoystickIdentifier": "Primary", + "FloatingEnabled": false, + "DeadZoneRadius": 0.4, + "JoystickAngle": 0, + "JoystickForce": 0, + "TouchId": 0, + "TouchIndex": 0 + } + ], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Thumb" + }, + { + "objectName": "Border" + } + ] + }, + "objectsGroups": [], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "", + "renderingType": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + } + ], + "instances": [], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -11799,20 +12432,21 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -11821,8 +12455,6 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { @@ -11830,10 +12462,10 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], + "choices": [], "hidden": true, "name": "ThumbAnchorOrigin" }, @@ -11842,8 +12474,6 @@ "type": "Number", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ThumbAnchorTarget" }, @@ -11852,10 +12482,10 @@ "type": "Boolean", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], + "choices": [], "hidden": true, "name": "ThumbIsScaledProportionally" }, @@ -11864,116 +12494,11 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ParentOrigin" } ], - "objects": [ - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Thumb", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Border", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "MultitouchJoystick", - "type": "SpriteMultitouchJoystick::MultitouchJoystick", - "ControllerIdentifier": 1, - "JoystickIdentifier": "Primary", - "FloatingEnabled": false, - "DeadZoneRadius": 0.4, - "JoystickAngle": 0, - "JoystickForce": 0, - "TouchId": 0, - "TouchIndex": 0 - } - ], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Thumb" - }, - { - "objectName": "Border" - } - ] - }, - "objectsGroups": [], - "layers": [ - { - "ambientLightColorB": 200, - "ambientLightColorG": 200, - "ambientLightColorR": 200, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 3, - "cameraType": "", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "instances": [] + "variants": [] } ] }, @@ -11982,6 +12507,7 @@ "category": "Camera", "extensionNamespace": "", "fullName": "Smooth Camera", + "gdevelopVersion": "", "helpPath": "/tutorials/follow-player-with-camera/", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCjwvc3R5bGU+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjQsMTNoLTZjLTEuMSwwLTItMC45LTItMlY1YzAtMS4xLDAuOS0yLDItMmg2YzEuMSwwLDIsMC45LDIsMnY2QzI2LDEyLjEsMjUuMSwxMywyNCwxM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNiw4djEwYzAsMS4xLTAuOSwyLTIsMkg4Yy0xLjEsMC0yLTAuOS0yLTJWOGMwLTEuMSwwLjktMiwyLTJoOCIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjEiIGN5PSI4IiByPSIyIi8+DQo8Y2lyY2xlIGNsYXNzPSJzdDAiIGN4PSIxMSIgY3k9IjE2IiByPSIxIi8+DQo8cmVjdCB4PSI5IiB5PSI5IiBjbGFzcz0ic3QwIiB3aWR0aD0iNCIgaGVpZ2h0PSIzIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIyMSwyOSAyMSwyOSAxMSwyOSAxMSwyOSAiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjE4LDIwIDE4LDI5IDE0LDI5IDE0LDIwICIvPg0KPHJlY3QgeD0iNyIgeT0iMyIgY2xhc3M9InN0MCIgd2lkdGg9IjQiIGhlaWdodD0iMyIvPg0KPC9zdmc+DQo=", "name": "SmoothCamera", @@ -16503,54 +17029,40 @@ "value": "0.9", "type": "Number", "label": "Leftward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "LeftwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Rightward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "RightwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Upward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "UpwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Downward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "DownwardSpeed" }, { "value": "true", "type": "Boolean", "label": "Follow on X axis", - "description": "", - "group": "", - "extraInformation": [], "name": "FollowOnX" }, { "value": "true", "type": "Boolean", "label": "Follow on Y axis", - "description": "", - "group": "", - "extraInformation": [], "name": "FollowOnY" }, { @@ -16558,9 +17070,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area left border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaLeft" }, @@ -16569,9 +17079,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area right border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaRight" }, @@ -16580,9 +17088,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaTop" }, @@ -16591,9 +17097,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaBottom" }, @@ -16602,9 +17106,7 @@ "type": "Number", "unit": "Pixel", "label": "Camera offset X", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "CameraOffsetX" }, @@ -16613,9 +17115,7 @@ "type": "Number", "unit": "Pixel", "label": "Camera offset Y", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "CameraOffsetY" }, @@ -16624,9 +17124,7 @@ "type": "Number", "unit": "Second", "label": "Camera delay", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "CameraDelay" }, @@ -16635,9 +17133,7 @@ "type": "Number", "unit": "Second", "label": "Forecast time", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "ForecastTime" }, @@ -16646,9 +17142,7 @@ "type": "Number", "unit": "Second", "label": "Forecast history duration", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "ForecastHistoryDuration" }, @@ -16656,9 +17150,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogLeftwardSpeed" }, @@ -16666,9 +17157,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogRightwardSpeed" }, @@ -16676,9 +17164,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogDownwardSpeed" }, @@ -16686,9 +17171,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogUpwardSpeed" }, @@ -16696,9 +17178,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DelayedCenterX" }, @@ -16706,9 +17185,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DelayedCenterY" }, @@ -16716,9 +17192,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryMeanX" }, @@ -16726,9 +17199,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryMeanY" }, @@ -16736,9 +17206,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryVarianceX" }, @@ -16746,9 +17213,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryCovariance" }, @@ -16756,9 +17220,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryLinearA" }, @@ -16766,9 +17227,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryLinearB" }, @@ -16776,9 +17234,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastedX" }, @@ -16786,9 +17241,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastedY" }, @@ -16796,9 +17248,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedNewestX" }, @@ -16806,9 +17255,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedNewestY" }, @@ -16816,9 +17262,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedOldestX" }, @@ -16826,9 +17269,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedOldestY" }, @@ -16836,9 +17276,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryVarianceY" }, @@ -16846,9 +17283,6 @@ "value": "", "type": "Number", "label": "Index (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" }, @@ -16856,9 +17290,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraDelayCatchUpSpeed" }, @@ -16866,9 +17297,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraExtraDelay" }, @@ -16876,9 +17304,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingSpeedXMax" }, @@ -16886,9 +17311,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingSpeedYMax" }, @@ -16896,9 +17318,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingEnd" }, @@ -16906,9 +17325,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraDelayCatchUpDuration" }, @@ -16917,9 +17333,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Leftward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "LeftwardSpeedMax" }, @@ -16928,9 +17342,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Rightward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "RightwardSpeedMax" }, @@ -16939,9 +17351,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "UpwardSpeedMax" }, @@ -16950,9 +17360,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "DownwardSpeedMax" }, @@ -16960,9 +17368,6 @@ "value": "", "type": "Number", "label": "OldX (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldX" }, @@ -16970,9 +17375,6 @@ "value": "", "type": "Number", "label": "OldY (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldY" }, @@ -16980,9 +17382,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsCalledManually" } @@ -17215,31 +17614,26 @@ "value": "", "type": "Behavior", "label": "Platformer character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], + "choices": [], "name": "PlatformerCharacter" }, { "value": "", "type": "Behavior", "label": "Smooth camera behavior", - "description": "", - "group": "", "extraInformation": [ "SmoothCamera::SmoothCamera" ], + "choices": [], "name": "SmoothCamera" }, { "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JumpOriginY" }, @@ -17248,9 +17642,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top in the air", - "description": "", "group": "Position", - "extraInformation": [], "name": "AirFollowFreeAreaTop" }, { @@ -17258,9 +17650,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom in the air", - "description": "", "group": "Position", - "extraInformation": [], "name": "AirFollowFreeAreaBottom" }, { @@ -17268,9 +17658,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top on the floor", - "description": "", "group": "Position", - "extraInformation": [], "name": "FloorFollowFreeAreaTop" }, { @@ -17278,45 +17666,35 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom on the floor", - "description": "", "group": "Position", - "extraInformation": [], "name": "FloorFollowFreeAreaBottom" }, { "value": "0.95", "type": "Number", "label": "Upward speed in the air (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "AirUpwardSpeed" }, { "value": "0.95", "type": "Number", "label": "Downward speed in the air (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "AirDownwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Upward speed on the floor (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "FloorUpwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Downward speed on the floor (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "FloorDownwardSpeed" }, { @@ -17324,9 +17702,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed in the air", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "AirUpwardSpeedMax" }, { @@ -17334,9 +17710,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed in the air", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "AirDownwardSpeedMax" }, { @@ -17344,9 +17718,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed on the floor", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "FloorUpwardSpeedMax" }, { @@ -17354,9 +17726,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed on the floor", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "FloorDownwardSpeedMax" } ], diff --git a/examples/starting-platformer/README.md b/examples/starting-platformer/README.md index fc748f45b..1ae2513ae 100644 --- a/examples/starting-platformer/README.md +++ b/examples/starting-platformer/README.md @@ -1,5 +1,3 @@ # 2D Platformer -A 2D platformer game in which the player can jump on platforms and collect coins. -It has platforms, a player and coins to collect. -Support mobile controls and keyboard. \ No newline at end of file +A 2D side-view platformer game with a smooth camera that follows the player’s movement. The player uses the platformer behavior, and can move left or right, jump, and fall within the game scene. Platforms allow the player to navigate vertically, and coins can be collected throughout the level. The game supports both keyboard/mouse controls and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-platformer/starting-platformer.json b/examples/starting-platformer/starting-platformer.json index 870c87cbc..99cc4900d 100644 --- a/examples/starting-platformer/starting-platformer.json +++ b/examples/starting-platformer/starting-platformer.json @@ -1,9 +1,9 @@ { "firstLayout": "", "gdVersion": { - "build": 218, + "build": 245, "major": 5, - "minor": 4, + "minor": 5, "revision": 0 }, "properties": { @@ -18,9 +18,8 @@ "scaleMode": "linear", "sizeOnStartupMode": "", "templateSlug": "", - "useExternalSourceFiles": false, "version": "1.0.0", - "name": "Platformer Game", + "name": "starting-platformer", "description": "", "author": "", "windowWidth": 1280, @@ -93,7 +92,6 @@ "resources": { "resources": [ { - "alwaysLoaded": false, "file": "assets/StartingPlayer.png", "kind": "image", "metadata": "", @@ -102,7 +100,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/StartingGround.png", "kind": "image", "metadata": "", @@ -111,7 +108,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Background.png", "kind": "image", "metadata": "", @@ -120,7 +116,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/StartingCoin.png", "kind": "image", "metadata": "", @@ -129,7 +124,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Top arrow button.png", "kind": "image", "metadata": "", @@ -142,7 +136,6 @@ } }, { - "alwaysLoaded": false, "file": "assets/Flat dark joystick border.png", "kind": "image", "metadata": "", @@ -155,7 +148,6 @@ } }, { - "alwaysLoaded": false, "file": "assets/Flat dark joystick thumb.png", "kind": "image", "metadata": "", @@ -208,7 +200,8 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.6040838749988914, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [], @@ -219,7 +212,7 @@ "height": 78.99999999999999, "keepRatio": true, "layer": "", - "name": "Platformer_Character", + "name": "Player", "persistentUuid": "4ded1d81-e820-41d3-868a-3f314e5850bd", "width": 79, "x": 128, @@ -252,7 +245,8 @@ "height": 0, "keepRatio": true, "layer": "MobileControls", - "name": "Joystick", + "locked": true, + "name": "MoveJoystick", "persistentUuid": "855d809a-f954-4072-86d5-1d6f0b24a066", "width": 0, "x": 176, @@ -269,6 +263,7 @@ "height": 120, "keepRatio": true, "layer": "MobileControls", + "locked": true, "name": "JumpButton", "persistentUuid": "b1d437ce-f3b4-4799-875e-bb51f731cef0", "width": 120, @@ -399,7 +394,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Platformer_Character", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -709,8 +704,9 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick", + "name": "MoveJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -812,7 +808,7 @@ "folderName": "__ROOT", "children": [ { - "objectName": "Platformer_Character" + "objectName": "Player" }, { "objectName": "Platform_Ground" @@ -827,7 +823,7 @@ "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick" + "objectName": "MoveJoystick" }, { "objectName": "JumpButton" @@ -845,7 +841,7 @@ "value": "CollisionNP" }, "parameters": [ - "Platformer_Character", + "Player", "Coins", "", "", @@ -1009,6 +1005,7 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Button states and effects", + "gdevelopVersion": "", "helpPath": "/objects/button", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWdlc3R1cmUtdGFwLWJ1dHRvbiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMyA1QzE1LjIxIDUgMTcgNi43OSAxNyA5QzE3IDEwLjUgMTYuMiAxMS43NyAxNSAxMi40NlYxMS4yNEMxNS42MSAxMC42OSAxNiA5Ljg5IDE2IDlDMTYgNy4zNCAxNC42NiA2IDEzIDZTMTAgNy4zNCAxMCA5QzEwIDkuODkgMTAuMzkgMTAuNjkgMTEgMTEuMjRWMTIuNDZDOS44IDExLjc3IDkgMTAuNSA5IDlDOSA2Ljc5IDEwLjc5IDUgMTMgNU0yMCAyMC41QzE5Ljk3IDIxLjMyIDE5LjMyIDIxLjk3IDE4LjUgMjJIMTNDMTIuNjIgMjIgMTIuMjYgMjEuODUgMTIgMjEuNTdMOCAxNy4zN0w4Ljc0IDE2LjZDOC45MyAxNi4zOSA5LjIgMTYuMjggOS41IDE2LjI4SDkuN0wxMiAxOFY5QzEyIDguNDUgMTIuNDUgOCAxMyA4UzE0IDguNDUgMTQgOVYxMy40N0wxNS4yMSAxMy42TDE5LjE1IDE1Ljc5QzE5LjY4IDE2LjAzIDIwIDE2LjU2IDIwIDE3LjE0VjIwLjVNMjAgMkg0QzIuOSAyIDIgMi45IDIgNFYxMkMyIDEzLjExIDIuOSAxNCA0IDE0SDhWMTJMNCAxMkw0IDRIMjBMMjAgMTJIMThWMTRIMjBWMTMuOTZMMjAuMDQgMTRDMjEuMTMgMTQgMjIgMTMuMDkgMjIgMTJWNEMyMiAyLjkgMjEuMTEgMiAyMCAyWiIgLz48L3N2Zz4=", "name": "ButtonStates", @@ -2158,8 +2155,6 @@ "type": "Boolean", "label": "", "description": "Should check hovering", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShouldCheckHovering" }, @@ -2167,14 +2162,27 @@ "value": "Idle", "type": "Choice", "label": "State", - "description": "", - "group": "", - "extraInformation": [ - "Idle", - "Hovered", - "PressedInside", - "PressedOutside", - "Validated" + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Hovered", + "value": "Hovered" + }, + { + "label": "PressedInside", + "value": "PressedInside" + }, + { + "label": "PressedOutside", + "value": "PressedOutside" + }, + { + "label": "Validated", + "value": "Validated" + } ], "hidden": true, "name": "State" @@ -2183,9 +2191,6 @@ "value": "0", "type": "Number", "label": "Touch id", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -2193,9 +2198,6 @@ "value": "", "type": "Boolean", "label": "Touch is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIsInside" }, @@ -2203,9 +2205,6 @@ "value": "", "type": "Boolean", "label": "Mouse is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MouseIsInside" }, @@ -2213,9 +2212,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" } @@ -2728,31 +2724,27 @@ "value": "", "type": "Behavior", "label": "Button states", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { "value": "", "type": "Behavior", "label": "Effect capability", - "description": "", - "group": "", "extraInformation": [ "EffectCapability::EffectBehavior" ], + "choices": [], "name": "Effect" }, { "value": "", "type": "String", "label": "Idle state effect", - "description": "", "group": "Effects", - "extraInformation": [], "name": "IdleEffect" }, { @@ -2761,16 +2753,13 @@ "label": "Focused state effect", "description": "The state is Focused when the button is hovered or held outside.", "group": "Effects", - "extraInformation": [], "name": "FocusedEffect" }, { "value": "", "type": "String", "label": "Pressed state effect", - "description": "", "group": "Effects", - "extraInformation": [], "name": "PressedEffect" } ], @@ -3188,31 +3177,27 @@ "value": "", "type": "Behavior", "label": "Animatable capability", - "description": "", - "group": "", "extraInformation": [ "AnimatableCapability::AnimatableBehavior" ], + "choices": [], "name": "Animation" }, { "value": "", "type": "Behavior", "label": "Button states", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { "value": "Idle", "type": "String", "label": "Idle state animation name", - "description": "", "group": "Animation", - "extraInformation": [], "name": "IdleAnimationName" }, { @@ -3221,16 +3206,13 @@ "label": "Focused state animation name", "description": "The state is Focused when the button is hovered or held outside.", "group": "Animation", - "extraInformation": [], "name": "FocusedAnimationName" }, { "value": "Pressed", "type": "String", "label": "Pressed state animation name", - "description": "", "group": "Animation", - "extraInformation": [], "name": "PressedAnimationName" } ], @@ -4633,31 +4615,27 @@ "value": "", "type": "Behavior", "label": "Button states", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { "value": "", "type": "Behavior", "label": "Effect capability", - "description": "", - "group": "", "extraInformation": [ "EffectCapability::EffectBehavior" ], + "choices": [], "name": "Effect" }, { "value": "Effect", "type": "String", "label": "Effect name", - "description": "", "group": "Effect", - "extraInformation": [], "name": "EffectName" }, { @@ -4666,16 +4644,13 @@ "label": "Effect parameter", "description": "The effect parameter names can be found in the effects tab with the \"Show parameter names\" action of the drop down menu.", "group": "Effect", - "extraInformation": [], "name": "EffectProperty" }, { "value": "0", "type": "Number", "label": "Idle effect parameter value", - "description": "", "group": "Value", - "extraInformation": [], "name": "IdleValue" }, { @@ -4684,58 +4659,153 @@ "label": "Focused effect parameter value", "description": "The state is Focused when the button is hovered or held outside.", "group": "Value", - "extraInformation": [], "name": "FocusedValue" }, { "value": "0", "type": "Number", "label": "Pressed effect parameter value", - "description": "", "group": "Value", - "extraInformation": [], "name": "PressedValue" }, { "value": "easeInOutQuad", "type": "Choice", "label": "Fade-in easing", - "description": "", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeInEasing" }, @@ -4743,42 +4813,140 @@ "value": "easeInOutQuad", "type": "Choice", "label": "Fade-out easing", - "description": "", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeOutEasing" }, @@ -4787,9 +4955,7 @@ "type": "Number", "unit": "Second", "label": "Fade-in duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeInDuration" }, { @@ -4797,21 +4963,26 @@ "type": "Number", "unit": "Second", "label": "Fade-out duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeOutDuration" }, { "value": "Idle", "type": "Choice", "label": "", - "description": "", - "group": "", - "extraInformation": [ - "Idle", - "Focused", - "Pressed" + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Focused", + "value": "Focused" + }, + { + "label": "Pressed", + "value": "Pressed" + } ], "hidden": true, "name": "PreviousState" @@ -4820,9 +4991,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TweenInitialValue" }, @@ -4830,9 +4998,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TweenTargetedValue" }, @@ -4840,9 +5005,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TweenTime" }, @@ -4850,12 +5012,19 @@ "value": "NoTween", "type": "Choice", "label": "", - "description": "", - "group": "", - "extraInformation": [ - "NoTween", - "FadeIn", - "FadeOut" + "choices": [ + { + "label": "NoTween", + "value": "NoTween" + }, + { + "label": "FadeIn", + "value": "FadeIn" + }, + { + "label": "FadeOut", + "value": "FadeOut" + } ], "hidden": true, "name": "TweenState" @@ -4864,9 +5033,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "EffectValue" } @@ -5825,33 +5991,30 @@ "value": "", "type": "Behavior", "label": "Scalable capability", - "description": "", - "group": "", "extraInformation": [ "ScalableCapability::ScalableBehavior" ], + "choices": [], "name": "Scale" }, { "value": "", "type": "Behavior", "label": "Button states behavior (required)", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { "value": "", "type": "Behavior", "label": "Tween behavior (required)", - "description": "", - "group": "", "extraInformation": [ "Tween::TweenBehavior" ], + "choices": [], "name": "Tween" }, { @@ -5859,9 +6022,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Idle state size scale", - "description": "", "group": "Size", - "extraInformation": [], "name": "IdleScale" }, { @@ -5871,7 +6032,6 @@ "label": "Focused state size scale", "description": "The state is Focused when the button is hovered or held outside.", "group": "Size", - "extraInformation": [], "name": "FocusedScale" }, { @@ -5879,9 +6039,7 @@ "type": "Number", "unit": "Second", "label": "Fade-in duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeInDuration" }, { @@ -5889,9 +6047,7 @@ "type": "Number", "unit": "Second", "label": "Fade-out duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeOutDuration" }, { @@ -5899,51 +6055,147 @@ "type": "Number", "unit": "Dimensionless", "label": "Pressed state size scale", - "description": "", "group": "Size", - "extraInformation": [], "name": "PressedScale" }, { "value": "easeInOutQuad", "type": "Choice", "label": "Fade-in easing", - "description": "", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeInEasing" }, @@ -5951,74 +6203,179 @@ "value": "easeInOutQuad", "type": "Choice", "label": "Fade-out easing", - "description": "", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" - ], - "name": "FadeOutEasing" - }, - { - "value": "Idle", - "type": "Choice", - "label": "", - "description": "", - "group": "", - "extraInformation": [ - "Idle", - "Focused", - "Pressed" - ], - "hidden": true, - "name": "PreviousState" - } - ], - "sharedPropertyDescriptors": [] - }, - { - "description": "Smoothly change the color tint of buttons according to their state.", - "fullName": "Button color tint tween", - "name": "ButtonColorTintTween", - "objectType": "Sprite", - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "onCreated", - "sentence": "", - "events": [ + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } + ], + "name": "FadeOutEasing" + }, + { + "value": "Idle", + "type": "Choice", + "label": "", + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Focused", + "value": "Focused" + }, + { + "label": "Pressed", + "value": "Pressed" + } + ], + "hidden": true, + "name": "PreviousState" + } + ], + "sharedPropertyDescriptors": [] + }, + { + "description": "Smoothly change the color tint of buttons according to their state.", + "fullName": "Button color tint tween", + "name": "ButtonColorTintTween", + "objectType": "Sprite", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "onCreated", + "sentence": "", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -6973,31 +7330,27 @@ "value": "", "type": "Behavior", "label": "Button states", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], + "choices": [], "name": "ButtonFSM" }, { "value": "", "type": "Behavior", "label": "Tween", - "description": "", - "group": "", "extraInformation": [ "Tween::TweenBehavior" ], + "choices": [], "name": "Tween" }, { "value": "255;255;255", "type": "Color", "label": "Idle state color tint", - "description": "", "group": "Color", - "extraInformation": [], "name": "IdleColorTint" }, { @@ -7006,16 +7359,13 @@ "label": "Focused state color tint", "description": "The state is Focused when the button is hovered or held outside.", "group": "Color", - "extraInformation": [], "name": "FocusedColorTint" }, { "value": "64;64;64", "type": "Color", "label": "Pressed state color tint", - "description": "", "group": "Color", - "extraInformation": [], "name": "PressedColorTint" }, { @@ -7023,9 +7373,7 @@ "type": "Number", "unit": "Second", "label": "Fade-in duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeInDuration" }, { @@ -7033,51 +7381,147 @@ "type": "Number", "unit": "Second", "label": "Fade-out duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeOutDuration" }, { "value": "easeInOutQuad", "type": "Choice", "label": "Fade-in easing", - "description": "", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeInEasing" }, @@ -7085,42 +7529,140 @@ "value": "easeInOutQuad", "type": "Choice", "label": "Fade-out easing", - "description": "", "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" + "choices": [ + { + "label": "linear", + "value": "linear" + }, + { + "label": "easeInQuad", + "value": "easeInQuad" + }, + { + "label": "easeOutQuad", + "value": "easeOutQuad" + }, + { + "label": "easeInOutQuad", + "value": "easeInOutQuad" + }, + { + "label": "easeInCubic", + "value": "easeInCubic" + }, + { + "label": "easeOutCubic", + "value": "easeOutCubic" + }, + { + "label": "easeInOutCubic", + "value": "easeInOutCubic" + }, + { + "label": "easeInQuart", + "value": "easeInQuart" + }, + { + "label": "easeOutQuart", + "value": "easeOutQuart" + }, + { + "label": "easeInOutQuart", + "value": "easeInOutQuart" + }, + { + "label": "easeInQuint", + "value": "easeInQuint" + }, + { + "label": "easeOutQuint", + "value": "easeOutQuint" + }, + { + "label": "easeInOutQuint", + "value": "easeInOutQuint" + }, + { + "label": "easeInOutSine", + "value": "easeInOutSine" + }, + { + "label": "easeInExpo", + "value": "easeInExpo" + }, + { + "label": "easeOutExpo", + "value": "easeOutExpo" + }, + { + "label": "easeInOutExpo", + "value": "easeInOutExpo" + }, + { + "label": "easeInCirc", + "value": "easeInCirc" + }, + { + "label": "easeOutCirc", + "value": "easeOutCirc" + }, + { + "label": "easeInOutCirc", + "value": "easeInOutCirc" + }, + { + "label": "easeOutBounce", + "value": "easeOutBounce" + }, + { + "label": "easeInBack", + "value": "easeInBack" + }, + { + "label": "easeOutBack", + "value": "easeOutBack" + }, + { + "label": "easeInOutBack", + "value": "easeInOutBack" + }, + { + "label": "elastic", + "value": "elastic" + }, + { + "label": "swingFromTo", + "value": "swingFromTo" + }, + { + "label": "swingFrom", + "value": "swingFrom" + }, + { + "label": "swingTo", + "value": "swingTo" + }, + { + "label": "bounce", + "value": "bounce" + }, + { + "label": "bouncePast", + "value": "bouncePast" + }, + { + "label": "easeFromTo", + "value": "easeFromTo" + }, + { + "label": "easeFrom", + "value": "easeFrom" + }, + { + "label": "easeTo", + "value": "easeTo" + } ], "name": "FadeOutEasing" }, @@ -7128,12 +7670,19 @@ "value": "Idle", "type": "Choice", "label": "", - "description": "", - "group": "", - "extraInformation": [ - "Idle", - "Focused", - "Pressed" + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Focused", + "value": "Focused" + }, + { + "label": "Pressed", + "value": "Pressed" + } ], "hidden": true, "name": "PreviousState" @@ -7149,6 +7698,7 @@ "category": "Input", "extensionNamespace": "", "fullName": "Multitouch joystick and buttons (sprite)", + "gdevelopVersion": "", "helpPath": "/objects/multitouch-joystick", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTYiIGN5PSIxNiIgcj0iMTMiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjI4LjQsMTIgMjAsMTIgMjAsMy42ICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMjAsMjguNCAyMCwyMCAyOC40LDIwICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMy42LDIwIDEyLDIwIDEyLDI4LjQgIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIxMiwzLjYgMTIsMTIgMy42LDEyICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxNiw2IDE2LjcsNyAxNS4zLDcgIi8+DQo8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjE2LDI2IDE1LjMsMjUgMTYuNywyNSAiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iNiwxNiA3LDE1LjMgNywxNi43ICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyNiwxNiAyNSwxNi43IDI1LDE1LjMgIi8+DQo8L3N2Zz4NCg==", "name": "SpriteMultitouchJoystick", @@ -9597,18 +10147,12 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "String", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [], "name": "JoystickIdentifier" }, { @@ -9616,17 +10160,12 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { "value": "0", "type": "Number", "label": "Joystick angle (range: -180 to 180)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickAngle" }, @@ -9634,9 +10173,6 @@ "value": "0", "type": "Number", "label": "Joystick force (range: 0 to 1)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickForce" }, @@ -9644,9 +10180,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -9654,9 +10187,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" } @@ -10039,27 +10569,18 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "A", "type": "String", "label": "Button identifier", - "description": "", - "group": "", - "extraInformation": [], "name": "ButtonIdentifier" }, { "value": "0", "type": "Number", "label": "TouchID", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -10067,9 +10588,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" }, @@ -10077,9 +10595,6 @@ "value": "", "type": "Boolean", "label": "Button released", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsReleased" } @@ -10268,31 +10783,32 @@ "value": "", "type": "Behavior", "label": "Platform character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], + "choices": [], "name": "Property" }, { "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", "group": "Controls", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -10300,9 +10816,7 @@ "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -10826,31 +11340,31 @@ "value": "", "type": "Behavior", "label": "Top-down movement behavior", - "description": "", - "group": "", "extraInformation": [ "TopDownMovementBehavior::TopDownMovementBehavior" ], + "choices": [], "name": "TopDownMovement" }, { "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -10858,12 +11372,20 @@ "value": "Analog", "type": "Choice", "label": "Stick mode", - "description": "", "group": "Controls", - "extraInformation": [ - "Analog", - "360°", - "8 Directions" + "choices": [ + { + "label": "Analog", + "value": "Analog" + }, + { + "label": "360°", + "value": "360°" + }, + { + "label": "8 Directions", + "value": "8 Directions" + } ], "name": "StickMode" } @@ -10884,6 +11406,111 @@ "fullName": "Multitouch Joystick", "isUsingLegacyInstancesRenderer": true, "name": "SpriteMultitouchJoystick", + "objects": [ + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Thumb", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + } + ] + }, + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Border", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "MultitouchJoystick", + "type": "SpriteMultitouchJoystick::MultitouchJoystick", + "ControllerIdentifier": 1, + "JoystickIdentifier": "Primary", + "FloatingEnabled": false, + "DeadZoneRadius": 0.4, + "JoystickAngle": 0, + "JoystickForce": 0, + "TouchId": 0, + "TouchIndex": 0 + } + ], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Thumb" + }, + { + "objectName": "Border" + } + ] + }, + "objectsGroups": [], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "", + "renderingType": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + } + ], + "instances": [], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -11772,20 +12399,21 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -11794,8 +12422,6 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { @@ -11803,10 +12429,10 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], + "choices": [], "hidden": true, "name": "ThumbAnchorOrigin" }, @@ -11815,8 +12441,6 @@ "type": "Number", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ThumbAnchorTarget" }, @@ -11825,10 +12449,10 @@ "type": "Boolean", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], + "choices": [], "hidden": true, "name": "ThumbIsScaledProportionally" }, @@ -11837,116 +12461,11 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ParentOrigin" } ], - "objects": [ - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Thumb", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Border", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "MultitouchJoystick", - "type": "SpriteMultitouchJoystick::MultitouchJoystick", - "ControllerIdentifier": 1, - "JoystickIdentifier": "Primary", - "FloatingEnabled": false, - "DeadZoneRadius": 0.4, - "JoystickAngle": 0, - "JoystickForce": 0, - "TouchId": 0, - "TouchIndex": 0 - } - ], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Thumb" - }, - { - "objectName": "Border" - } - ] - }, - "objectsGroups": [], - "layers": [ - { - "ambientLightColorB": 200, - "ambientLightColorG": 200, - "ambientLightColorR": 200, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 3, - "cameraType": "", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "instances": [] + "variants": [] } ] }, @@ -11955,6 +12474,7 @@ "category": "Camera", "extensionNamespace": "", "fullName": "Smooth Camera", + "gdevelopVersion": "", "helpPath": "/tutorials/follow-player-with-camera/", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCjwvc3R5bGU+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjQsMTNoLTZjLTEuMSwwLTItMC45LTItMlY1YzAtMS4xLDAuOS0yLDItMmg2YzEuMSwwLDIsMC45LDIsMnY2QzI2LDEyLjEsMjUuMSwxMywyNCwxM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNiw4djEwYzAsMS4xLTAuOSwyLTIsMkg4Yy0xLjEsMC0yLTAuOS0yLTJWOGMwLTEuMSwwLjktMiwyLTJoOCIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjEiIGN5PSI4IiByPSIyIi8+DQo8Y2lyY2xlIGNsYXNzPSJzdDAiIGN4PSIxMSIgY3k9IjE2IiByPSIxIi8+DQo8cmVjdCB4PSI5IiB5PSI5IiBjbGFzcz0ic3QwIiB3aWR0aD0iNCIgaGVpZ2h0PSIzIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIyMSwyOSAyMSwyOSAxMSwyOSAxMSwyOSAiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjE4LDIwIDE4LDI5IDE0LDI5IDE0LDIwICIvPg0KPHJlY3QgeD0iNyIgeT0iMyIgY2xhc3M9InN0MCIgd2lkdGg9IjQiIGhlaWdodD0iMyIvPg0KPC9zdmc+DQo=", "name": "SmoothCamera", @@ -16476,54 +16996,40 @@ "value": "0.9", "type": "Number", "label": "Leftward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "LeftwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Rightward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "RightwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Upward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "UpwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Downward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "DownwardSpeed" }, { "value": "true", "type": "Boolean", "label": "Follow on X axis", - "description": "", - "group": "", - "extraInformation": [], "name": "FollowOnX" }, { "value": "true", "type": "Boolean", "label": "Follow on Y axis", - "description": "", - "group": "", - "extraInformation": [], "name": "FollowOnY" }, { @@ -16531,9 +17037,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area left border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaLeft" }, @@ -16542,9 +17046,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area right border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaRight" }, @@ -16553,9 +17055,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaTop" }, @@ -16564,9 +17064,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaBottom" }, @@ -16575,9 +17073,7 @@ "type": "Number", "unit": "Pixel", "label": "Camera offset X", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "CameraOffsetX" }, @@ -16586,9 +17082,7 @@ "type": "Number", "unit": "Pixel", "label": "Camera offset Y", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "CameraOffsetY" }, @@ -16597,9 +17091,7 @@ "type": "Number", "unit": "Second", "label": "Camera delay", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "CameraDelay" }, @@ -16608,9 +17100,7 @@ "type": "Number", "unit": "Second", "label": "Forecast time", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "ForecastTime" }, @@ -16619,9 +17109,7 @@ "type": "Number", "unit": "Second", "label": "Forecast history duration", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "ForecastHistoryDuration" }, @@ -16629,9 +17117,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogLeftwardSpeed" }, @@ -16639,9 +17124,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogRightwardSpeed" }, @@ -16649,9 +17131,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogDownwardSpeed" }, @@ -16659,9 +17138,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogUpwardSpeed" }, @@ -16669,9 +17145,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DelayedCenterX" }, @@ -16679,9 +17152,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DelayedCenterY" }, @@ -16689,9 +17159,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryMeanX" }, @@ -16699,9 +17166,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryMeanY" }, @@ -16709,9 +17173,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryVarianceX" }, @@ -16719,9 +17180,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryCovariance" }, @@ -16729,9 +17187,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryLinearA" }, @@ -16739,9 +17194,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryLinearB" }, @@ -16749,9 +17201,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastedX" }, @@ -16759,9 +17208,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastedY" }, @@ -16769,9 +17215,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedNewestX" }, @@ -16779,9 +17222,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedNewestY" }, @@ -16789,9 +17229,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedOldestX" }, @@ -16799,9 +17236,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedOldestY" }, @@ -16809,9 +17243,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryVarianceY" }, @@ -16819,9 +17250,6 @@ "value": "", "type": "Number", "label": "Index (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" }, @@ -16829,9 +17257,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraDelayCatchUpSpeed" }, @@ -16839,9 +17264,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraExtraDelay" }, @@ -16849,9 +17271,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingSpeedXMax" }, @@ -16859,9 +17278,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingSpeedYMax" }, @@ -16869,9 +17285,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingEnd" }, @@ -16879,9 +17292,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraDelayCatchUpDuration" }, @@ -16890,9 +17300,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Leftward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "LeftwardSpeedMax" }, @@ -16901,9 +17309,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Rightward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "RightwardSpeedMax" }, @@ -16912,9 +17318,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "UpwardSpeedMax" }, @@ -16923,9 +17327,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "DownwardSpeedMax" }, @@ -16933,9 +17335,6 @@ "value": "", "type": "Number", "label": "OldX (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldX" }, @@ -16943,9 +17342,6 @@ "value": "", "type": "Number", "label": "OldY (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldY" }, @@ -16953,9 +17349,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsCalledManually" } @@ -17188,31 +17581,26 @@ "value": "", "type": "Behavior", "label": "Platformer character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], + "choices": [], "name": "PlatformerCharacter" }, { "value": "", "type": "Behavior", "label": "Smooth camera behavior", - "description": "", - "group": "", "extraInformation": [ "SmoothCamera::SmoothCamera" ], + "choices": [], "name": "SmoothCamera" }, { "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JumpOriginY" }, @@ -17221,9 +17609,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top in the air", - "description": "", "group": "Position", - "extraInformation": [], "name": "AirFollowFreeAreaTop" }, { @@ -17231,9 +17617,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom in the air", - "description": "", "group": "Position", - "extraInformation": [], "name": "AirFollowFreeAreaBottom" }, { @@ -17241,9 +17625,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top on the floor", - "description": "", "group": "Position", - "extraInformation": [], "name": "FloorFollowFreeAreaTop" }, { @@ -17251,45 +17633,35 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom on the floor", - "description": "", "group": "Position", - "extraInformation": [], "name": "FloorFollowFreeAreaBottom" }, { "value": "0.95", "type": "Number", "label": "Upward speed in the air (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "AirUpwardSpeed" }, { "value": "0.95", "type": "Number", "label": "Downward speed in the air (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "AirDownwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Upward speed on the floor (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "FloorUpwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Downward speed on the floor (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "FloorDownwardSpeed" }, { @@ -17297,9 +17669,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed in the air", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "AirUpwardSpeedMax" }, { @@ -17307,9 +17677,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed in the air", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "AirDownwardSpeedMax" }, { @@ -17317,9 +17685,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed on the floor", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "FloorUpwardSpeedMax" }, { @@ -17327,9 +17693,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed on the floor", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "FloorDownwardSpeedMax" } ], @@ -17339,6 +17703,5 @@ "eventsBasedObjects": [] } ], - "externalLayouts": [], - "externalSourceFiles": [] + "externalLayouts": [] } \ No newline at end of file diff --git a/examples/starting-point-and-click-adventure/README.md b/examples/starting-point-and-click-adventure/README.md index a89159aad..0351817f8 100644 --- a/examples/starting-point-and-click-adventure/README.md +++ b/examples/starting-point-and-click-adventure/README.md @@ -1,5 +1,5 @@ # Point-and-click adventure -A 2D, side-view, point-and-click game where the player taps on the screen to move their character, who automatically walks around obstacles. The player can interact with other characters: when close, a dialog opens with a question offering two choices. +A 2D, angled side-view, point-and-click game where the player click/taps on a location in the game scene, and the player character uses pathfinding to navigate there. When an NPC is clicked/tapped on, the player character will walk to their location and a dialog box opens. The dialog box has text and two clickable options for the player to choose from. -Support for mouse and touch. \ No newline at end of file +The game supports both mouse and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-point-and-click-adventure/starting-point-and-click-adventure.json b/examples/starting-point-and-click-adventure/starting-point-and-click-adventure.json index 7bafc5429..e55402317 100644 --- a/examples/starting-point-and-click-adventure/starting-point-and-click-adventure.json +++ b/examples/starting-point-and-click-adventure/starting-point-and-click-adventure.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 240, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-top-down", "version": "1.0.0", - "name": "starting_pointandclickadventure", + "name": "starting-point-and-click-adventure", "description": "", "author": "", "windowWidth": 1280, @@ -201,14 +201,15 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.5468750000000111, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [ { "name": "Characters", "objects": [ { - "name": "PathfindingCharacter" + "name": "Player" }, { "name": "NPC" @@ -363,7 +364,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "PathfindingCharacter", + "name": "Player", "persistentUuid": "1375f3d2-9441-4452-a57e-48f5841b70dc", "width": 0, "x": 360, @@ -628,7 +629,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "PathfindingCharacter", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -816,7 +817,7 @@ "folderName": "__ROOT", "children": [ { - "objectName": "PathfindingCharacter" + "objectName": "Player" }, { "objectName": "NPC" @@ -892,6 +893,18 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Player movement" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -933,7 +946,7 @@ "value": "PathfindingBehavior::SetDestination" }, "parameters": [ - "PathfindingCharacter", + "Player", "Pathfinding", "", "CursorX()", @@ -1008,7 +1021,7 @@ "value": "CollisionNP" }, "parameters": [ - "PathfindingCharacter", + "Player", "NPC", "", "", @@ -1033,7 +1046,7 @@ "value": "ActivateBehavior" }, "parameters": [ - "PathfindingCharacter", + "Player", "Pathfinding", "" ] @@ -1051,6 +1064,18 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Dialog choices" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -1144,7 +1169,7 @@ "value": "ActivateBehavior" }, "parameters": [ - "PathfindingCharacter", + "Player", "Pathfinding", "yes" ] @@ -7243,6 +7268,7 @@ } ], "instances": [], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -15389,6 +15415,7 @@ ] } ], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -16676,7 +16703,8 @@ } ] } - ] + ], + "editionSettings": {} }, { "areaMaxX": 600, @@ -16966,7 +16994,8 @@ } ] } - ] + ], + "editionSettings": {} } ] } @@ -18511,6 +18540,7 @@ "initialVariables": [] } ], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -19984,7 +20014,8 @@ "stringProperties": [], "initialVariables": [] } - ] + ], + "editionSettings": {} }, { "areaMaxX": 256, @@ -20289,7 +20320,8 @@ "stringProperties": [], "initialVariables": [] } - ] + ], + "editionSettings": {} } ] } diff --git a/examples/starting-point-and-click-pixel/README.md b/examples/starting-point-and-click-pixel/README.md index 97eb43eca..c8fa7f667 100644 --- a/examples/starting-point-and-click-pixel/README.md +++ b/examples/starting-point-and-click-pixel/README.md @@ -1,5 +1,5 @@ # Top-down point-and-click (pixel-art) -A 2D, top-down, game where the player is a rectangle which can move to where the player clicks using pathfinding - avoiding obstacles. -Support for mobile controls and mouse. +A 2D top-down game where the player clicks or touches a location in the scene, and the player character uses the pathfinding behavior to navigate there. The game includes passable and impassable obstacles that the character must navigate around. The game supports both mouse and mobile touch controls. + Assets and game are optimized for pixel art. \ No newline at end of file diff --git a/examples/starting-point-and-click-pixel/starting-point-and-click-pixel.json b/examples/starting-point-and-click-pixel/starting-point-and-click-pixel.json index bcff6b232..ac0995db4 100644 --- a/examples/starting-point-and-click-pixel/starting-point-and-click-pixel.json +++ b/examples/starting-point-and-click-pixel/starting-point-and-click-pixel.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 226, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "", "version": "1.0.0", - "name": "Point And Click (Pixel art)", + "name": "starting-point-and-click-pixel", "description": "", "author": "", "windowWidth": 1280, @@ -154,7 +154,8 @@ "gridAlpha": 0.4, "snap": false, "zoomFactor": 1.0615714305220039, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [], @@ -556,23 +557,7 @@ "width": 0 } ], - "effects": [ - { - "effectType": "Scene3D::HemisphereLight", - "name": "3D Light", - "doubleParameters": { - "elevation": 45, - "intensity": 1, - "rotation": 0 - }, - "stringParameters": { - "groundColor": "64;64;64", - "skyColor": "255;255;255", - "top": "Y-" - }, - "booleanParameters": {} - } - ] + "effects": [] } ], "behaviorsSharedData": [ diff --git a/examples/starting-point-and-click/README.md b/examples/starting-point-and-click/README.md index 3375b07e8..2e59172ad 100644 --- a/examples/starting-point-and-click/README.md +++ b/examples/starting-point-and-click/README.md @@ -1,4 +1,3 @@ # Top-down point-and-click -A 2D, top-down, game where the player is a rectangle which can move to where the player clicks using pathfinding - avoiding obstacles. -Support for mobile controls and mouse. \ No newline at end of file +A 2D top-down game where the player clicks or touches a location in the scene, and the player character uses the pathfinding behavior to navigate there. The game includes passable and impassable obstacles that the character must navigate around. The game supports both mouse and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-point-and-click/starting-point-and-click.json b/examples/starting-point-and-click/starting-point-and-click.json index f7aca1d04..3e413a57d 100644 --- a/examples/starting-point-and-click/starting-point-and-click.json +++ b/examples/starting-point-and-click/starting-point-and-click.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 226, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "", "version": "1.0.0", - "name": "Point And Click", + "name": "starting-point-and-click", "description": "", "author": "", "windowWidth": 1280, @@ -154,7 +154,8 @@ "gridAlpha": 0.4, "snap": false, "zoomFactor": 0.5653158055126322, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [], @@ -475,7 +476,10 @@ "type": { "value": "MouseButtonFromTextPressed" }, - "parameters": ["", "\"Left\""] + "parameters": [ + "", + "\"Left\"" + ] }, { "type": { @@ -527,23 +531,7 @@ "width": 0 } ], - "effects": [ - { - "effectType": "Scene3D::HemisphereLight", - "name": "3D Light", - "doubleParameters": { - "elevation": 45, - "intensity": 1, - "rotation": 0 - }, - "stringParameters": { - "groundColor": "64;64;64", - "skyColor": "255;255;255", - "top": "Y-" - }, - "booleanParameters": {} - } - ] + "effects": [] } ], "behaviorsSharedData": [ @@ -585,4 +573,4 @@ "externalEvents": [], "eventsFunctionsExtensions": [], "externalLayouts": [] -} +} \ No newline at end of file