extends Area3D class_name InsectTile @export var coordinates: Vector2i @export var is_black: bool = false @export var resource: TileResource @onready var hexagon_small = $HexagonSmall var hovered: bool = false var hover_shader: ShaderMaterial = preload("res://InsectTiles/HoverShader.tres") var mat: StandardMaterial3D func _ready() -> void: if is_black: hexagon_small.set_surface_override_material(0, resource.material_black.duplicate()) else: hexagon_small.set_surface_override_material(0, resource.material_white.duplicate()) mat = hexagon_small.get_surface_override_material(0) func _process(delta): if Input.is_action_just_pressed("place_tile"): if hovered: GameEvents.insect_tile_selected.emit(self) func _on_mouse_entered(): if GameData.is_player_black == is_black: mat.next_pass = hover_shader hovered = true func _on_mouse_exited(): hovered = false mat.next_pass = null