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
Get Grid Building Plugin for Godot 4
Grid Building Plugin for Godot 4
Place Anything with Rotate, Flip, Stacking, and Drag Build
Status | In development |
Category | Assets |
Author | Chris' Tutorials |
Tags | 2D, City Builder, Godot, godot4, Metroidvania, Side Scroller, Tilemap, Top-Down, User Interface (UI) |
More posts
- 4.1.0 Manipulate with Move & Demolish Modes89 days ago
- Upcoming Grid Builder Updates for Godot 4.3Aug 18, 2024
- 4.0.3 Compatibility Fix for Godot 4.2.2Jun 09, 2024
- 4.0.2 Small Enhancements & Bug FixesJun 09, 2024
- 4.0.1 File Path HotfixJun 07, 2024
- 4.0.0 - Shared BuildingState, Save / Load HelperJun 07, 2024
- 3.2.2 Bug FixesMar 06, 2024
- 3.2.1 - Input Mapping UpdatesJan 27, 2024
- 3.2.0 - Isometric Tilemap SupportJan 20, 2024
Leave a comment
Log in with itch.io to leave a comment.