ChessBuilder/Systems/Tiles/DoubleMovement.gd
2025-02-01 23:07:39 -06:00

39 lines
1.3 KiB
GDScript

class_name DoubleMovementTile
extends Tile
func _init(button: Button, is_white: bool) -> void:
super._init(button, is_white)
tile_name = "Double Movement"
description = "Double movement for 3 turns"
type = TileType.GENERAL
func update_appearance() -> void:
print("TILE UPDATE APPR");
if true && base_button:
var style = StyleBoxFlat.new()
var tile_color = TILE_COLORS[tile_owner]
var base_color = Color(0.8, 0.8, 0.8) if base_is_white else Color(0.2, 0.2, 0.2)
# Brighten the color slightly for double movement
tile_color = tile_color.lightened(0.2)
style.bg_color = Color(
(base_color.r + tile_color.r) / 2,
(base_color.g + tile_color.g) / 2,
(base_color.b + tile_color.b) / 2
)
# Add distinctive border pattern
style.border_width_left = 4
style.border_width_right = 4
style.border_width_top = 4
style.border_width_bottom = 4
style.border_color = tile_color
base_button.add_theme_stylebox_override("normal", style)
var hover_style = style.duplicate()
hover_style.bg_color = tile_color.lightened(0.2)
base_button.add_theme_stylebox_override("hover", hover_style)
else:
restore_base_appearance()