Class PlaceableSequence
- Namespace
- GridPlacement.GDScript
- Assembly
- MoonBark.GridPlacement.GDScript.dll
Groups multiple placeable variants under a single selectable slot for UI selection.\n\nPlaceableSequence allows players to cycle through related building variants (e.g., Basic Tower → Heavy Tower → Rapid Tower) before placing on the grid. Each sequence contains an ordered array of ScenePlacementEntry resources that share a common purpose but have different properties, visuals, or functionality.\n\nKey Features: - Ordered variant collection with left/right cycling in UI - Automatic arrow button display when 2+ variants exist - Compatible with PlaceableList and PlaceableSequenceSelectionUI - Validation delegation to individual ScenePlacementEntry objects\n\nUsage Example: [codeblock] var tower_sequence := PlaceableSequence.new() tower_sequence.display_name = "Defense Towers" tower_sequence.placeables = [basic_tower, heavy_tower, rapid_tower] [/codeblock]\n\nIntegration: - Use with PlaceableSequenceSelectionUI for tabbed variant selection - Compatible with existing PlacementSystem placement workflow - Each variant maintains its own placement rules and validation
class PlaceableSequence extends PlacementResource
Properties
display_name
var display_name = variant_resource.get("display_name")
placeables
@export var placeables: Array[ScenePlacementEntry] = []
icon
@export var icon: Texture2D
variant_resource
var variant_resource = get_variant(index)
display_name
var display_name = variant_resource.get("display_name")
validation_issues
var validation_issues: Array[String] = []
current_placeable
var current_placeable = placeables[placeable_index]
placeable_validation_issues
var placeable_validation_issues = current_placeable.get_editor_issues()
runtime_validation_issues
var runtime_validation_issues: Array[String] = []
current_placeable
var current_placeable = placeables[placeable_index]
comprehensive_placeable_issues
var comprehensive_placeable_issues = current_placeable.get_runtime_issues()
Methods
count
func count() -> int:
Returns
get_variant
func get_variant(index: int) -> Resource:
Parameters
index
Returns
variant_display_name
func variant_display_name(index: int) -> String:
Parameters
index
Returns
get_editor_issues
func get_editor_issues() -> Array[String]:
Returns
get_runtime_issues
func get_runtime_issues() -> Array[String]: