class_name StreamingTargetPlan extends RefCounted ## Immutable result of one runtime or editor target-planning operation. ## Tile-key sets use the streamer's existing `_` representation. var focus_tile: AdtTileCoordinate: get: return _focus_tile var _focus_tile: AdtTileCoordinate var _wanted_tile_keys: Dictionary var _retained_tile_keys: Dictionary ## Takes ownership of planner-created sets and freezes them. The planner creates ## these dictionaries independently from its catalog input, so no copy is needed. func _init( focus_tile_value: AdtTileCoordinate, wanted_tile_keys_value: Dictionary, retained_tile_keys_value: Dictionary ) -> void: _focus_tile = focus_tile_value _wanted_tile_keys = wanted_tile_keys_value _retained_tile_keys = retained_tile_keys_value _wanted_tile_keys.make_read_only() _retained_tile_keys.make_read_only() ## Returns the immutable wanted tile-key set. func wanted_tile_keys() -> Dictionary: return _wanted_tile_keys ## Returns the immutable retained tile-key set. func retained_tile_keys() -> Dictionary: return _retained_tile_keys