Table of Contents

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 Placeable 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 Placeable 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 GBResource
PlaceableSequence

Properties

display_name

var display_name = variant_resource.get("display_name")

placeables

@export var placeables: Array[Placeable] = []

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]:

Returns