2.2.0 - Drag Multi-Build, Stacking Objects, Rotating, Flipping


This update adds a lot of functionality to the building of objects in the plugin. Each feature is enableable on the system and per placeable basis. If you want flipping, rotating, etc for your game you will want to set actions on the building system node. (Conversely, if you don't need them, keep them disabled by simply providing no action). Each buildable must also be set with whether it is rotatable, flippable horizontally, and flippable vertically. Check the updated demos for examples of how these can work

Also, you can enable drag building on the building system to build multiple instances of the preview placeable object by holding the build action down and moving to new tiles.

New Features

- Stackable Objects

Made objects stackable through the new Indicator Tiles Must Collide Rule. (See the Box in Platformer Demo as Example). This checks that all tiles for the indicator template HAVE valid collisions. You can mark another physics layer 'Buildable' to achieve this. Functionally this is different that the ValidPlacementTilesRule which checks if the tile has matching custom data on the tilemap. The must collide rule can qualify non-tile objects that have a collision layer on your 'Buildable' collision layer.

- Press & Drag Multi Build

Option to Repeat Build the selected placeable by holding the drag action and moving over new tile spaces. It will attempt the build whenever a new tile is switched to. You can easily ignore the build_failed signals by checking is_drag_building on the building system in other scripts like the build_log.gd does in the demo to prevent message spam.

- Rotate Objects

- Flip Objects Horizontally and Vertically

- Added property require_all_mask_layers_to_generate to tile collision indicators which limits generation of indicators to collision shapes that match all of the mask layers on the tile collision indicator. This means that two indicator templates can share collision mask layers while generating for different CollisionObject2Ds in the placeable packed scenes.

Other Changes

- Grid Targeter in grid_positioner.tscn lowered z-index ordering to 2000 from 3100. This makes the total 3000. The max is 4096 so this leaves room for other 2D nodes to be higher if needed

- The build log's NinePatchRect background is set as no texture by default for total transparency. You can edit the build log (or enable editable children in the scene hierarchy) to set this to whatever texture you need.

- Added preview_instance_z_index to BuildingSystem to control the rendering order of the preview_instance relative to other objects. It defaults to 100 which should make preview instances render above tile collision indicators but you can make this a negative number to make the indicators show on top

- Basic audio for demos

Bug Fixes

- Fixed bug where tile indicators would not mark a tile invalid when there is no expected custom data set but the tile also has no sprite tiles to begin with

- Spend resources and spend resources generic rule properly connect and disconnect from the building system's build_success signal again


V2.2.1 Fixes

- Fixed a bug where _held_build_action was empty and the console would keep receiving error messages.

Files

grid_builder_demo_win.exe 65 MB
Aug 17, 2023
grid_builder_demo_linux.x86_64 67 MB
Aug 17, 2023
grid_builder_demo_web.zip 8.8 MB
Aug 17, 2023
GridBuilding-2.2.0.zip 70 kB
Aug 17, 2023
grid_building_demo_project_2.2.0.zip 1.3 MB
Aug 17, 2023

Get Grid Building Plugin for Godot 4

Buy Now$40.00 USD or more

Leave a comment

Log in with itch.io to leave a comment.