feat: Implement Phase 18 palette image icons and update asset card functionality
This commit is contained in:
@@ -3,6 +3,14 @@ extends CanvasLayer
|
||||
## Shared stage presentation shell. Domain decisions are reported to SandboxStage.
|
||||
|
||||
const ASSET_CARD := preload("res://scripts/shared/ui/asset_card.gd")
|
||||
const PALETTE_ICON_TEXTURES: Dictionary = {
|
||||
"ground": preload("res://resources/icons/ground.png"),
|
||||
"ramp": preload("res://resources/icons/ramp.png"),
|
||||
"step": preload("res://resources/icons/step.png"),
|
||||
"prop": preload("res://resources/icons/prop.png"),
|
||||
"stickman": preload("res://resources/icons/stickman.png"),
|
||||
"area": preload("res://resources/icons/area.png"),
|
||||
}
|
||||
|
||||
signal file_menu_requested(id: int)
|
||||
signal recent_menu_requested
|
||||
@@ -496,8 +504,10 @@ func _build_palette(entries: Array[Dictionary]) -> void:
|
||||
cards.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
||||
scroll.add_child(cards)
|
||||
for entry: Dictionary in entries:
|
||||
var card: Variant = ASSET_CARD.new()
|
||||
card.configure(entry, null, _stage_theme)
|
||||
var card: AssetCard = ASSET_CARD.new() as AssetCard
|
||||
var placement_id: String = String(entry.get("placement_id", ""))
|
||||
var icon_texture: Texture2D = PALETTE_ICON_TEXTURES.get(placement_id) as Texture2D
|
||||
card.configure(entry, icon_texture, _stage_theme)
|
||||
card.toggle_mode = true
|
||||
card.activated.connect(_on_palette_activated)
|
||||
card.drag_started.connect(_on_palette_drag_started)
|
||||
|
||||
Reference in New Issue
Block a user