From 00fbbff29d28ff531589bbe8ff720e082fa74629 Mon Sep 17 00:00:00 2001 From: HishamGandapur999 Date: Tue, 26 Nov 2024 15:22:53 +0000 Subject: [PATCH] Automated Extension submission for issue #1449 --- extensions/community/IsometricGridFill.json | 221 ++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 extensions/community/IsometricGridFill.json diff --git a/extensions/community/IsometricGridFill.json b/extensions/community/IsometricGridFill.json new file mode 100644 index 00000000..b6b9936d --- /dev/null +++ b/extensions/community/IsometricGridFill.json @@ -0,0 +1,221 @@ +{ + "author": "", + "category": "Game mechanic", + "extensionNamespace": "", + "fullName": "Isometric Grid Fill", + "helpPath": "", + "iconUrl": "", + "name": "IsometricGridFill", + "previewIconUrl": "", + "shortDescription": "Isometric Grid For Tile Based Generation Based On The Position.", + "version": "1.0.0", + "description": [ + "\"This extension enables the creation and management of isometric grids in GDevelop. It provides functionality similar to rectangular grids but tailored for isometric layouts, making it ideal for creating isometric games such as strategy games, city builders, or tile-based RPGs.", + "", + "With this extension, you can:", + "", + "Automatically generate isometric grids based on a player's position or predefined settings.", + "Simplify movement and tile placement using isometric coordinates.", + "Customize the grid size and behavior for dynamic gameplay mechanics.", + "Perfect for developers looking to implement isometric worlds with ease, this extension offers seamless integration with GDevelop's event system, enabling both beginners and advanced users to enhance their projects.\"", + "", + "" + ], + "tags": [ + "\"isometric\"", + "\"grid\"", + "\"strategy\"", + "\"RPG\"", + "\"movement\"", + "\"layout\"", + "\"level-design\"" + ], + "authorIds": [ + "yZ9Y8HmUKPcXVddoDlFmRoOZ8dh1" + ], + "dependencies": [], + "globalVariables": [], + "sceneVariables": [], + "eventsFunctions": [ + { + "description": "Create The Object Around The Target Object.", + "fullName": "Create Object Around Target Object", + "functionType": "Action", + "name": "IsometricGridFill", + "sentence": "Create _PARAM1_ Around _PARAM2_ With Range Of _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Object", + "Around.X()", + "Around.Y()", + "" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "XAxis", + "=", + "-Range" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "YAxis", + "=", + "-Range" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "2 * Range+ 1", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "YAxis", + "=", + "-Range" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "2 * Range+ 1", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "TileX", + "=", + "Around.X()+(XAxis-YAxis)*(Object.Width()/2)" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "TileY", + "=", + "Around.Y()+(XAxis+YAxis)*(Object.Height()/2)" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "YAxis", + "+", + "1" + ] + }, + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Object", + "TileX", + "TileY", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "XAxis", + "+", + "1" + ] + } + ] + } + ] + } + ], + "variables": [ + { + "name": "XAxis", + "type": "number", + "value": 0 + }, + { + "name": "YAxis", + "type": "number", + "value": 0 + }, + { + "name": "TileX", + "type": "number", + "value": 0 + }, + { + "name": "TileY", + "type": "number", + "value": 0 + } + ] + } + ], + "parameters": [ + { + "description": "Object that will be created", + "name": "Object", + "type": "objectList" + }, + { + "description": "Around Which Object", + "name": "Around", + "type": "objectList" + }, + { + "description": "Value For Range", + "name": "Range", + "type": "expression" + } + ], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [], + "eventsBasedObjects": [] +} \ No newline at end of file