[gd_scene format=3 uid="uid://b6a7nlnf58mc4"]

[ext_resource type="Script" uid="uid://c016mxgatcpse" path="res://nodes/unit.gd" id="1_cq4v0"]
[ext_resource type="Texture2D" uid="uid://cw5su6lignryo" path="res://assets/sprites/flag.png" id="2_fhs1y"]
[ext_resource type="Texture2D" uid="uid://c2se5wyly6gr6" path="res://assets/sprites/character.bmp" id="2_on614"]
[ext_resource type="Shader" uid="uid://bd8ki8xwym5nc" path="res://shaders/chroma_key.gdshader" id="3_fhs1y"]

[sub_resource type="GDScript" id="GDScript_fhs1y"]
resource_name = "AllegianceIndicatorManager"
script/source = "extends Sprite2D


func _on_unit_unit_allegiance_changed(unit: Unit, allegiance: UnitAllegiance) -> void:
	self_modulate = allegiance.color
"

[sub_resource type="ShaderMaterial" id="ShaderMaterial_4j20j"]
shader = ExtResource("3_fhs1y")
shader_parameter/threshold = 0.01

[sub_resource type="AtlasTexture" id="AtlasTexture_on614"]
atlas = ExtResource("2_on614")
region = Rect2(144, 240, 48, 48)

[sub_resource type="GDScript" id="GDScript_on614"]
resource_name = "UnitSelectorHandler"
script/source = "extends ColorRect

func _unit_selected_changed(_unit: Unit, selected: bool) -> void:
	visible = selected
"

[node name="Unit" type="Node2D" unique_id=1893234933 groups=["units"]]
script = ExtResource("1_cq4v0")
metadata/_custom_type_script = "uid://c016mxgatcpse"

[node name="AllegianceIndicator" type="Sprite2D" parent="." unique_id=1567439632]
z_index = 2
texture = ExtResource("2_fhs1y")
offset = Vector2(24, 24)
script = SubResource("GDScript_fhs1y")

[node name="UnitSprite" type="Sprite2D" parent="." unique_id=350615297]
z_index = 1
material = SubResource("ShaderMaterial_4j20j")
texture = SubResource("AtlasTexture_on614")
offset = Vector2(24, 24)

[node name="ColorRect" type="ColorRect" parent="." unique_id=1313394023]
visible = false
offset_right = 48.0
offset_bottom = 48.0
color = Color(1, 1, 0.3019608, 0.36078432)
script = SubResource("GDScript_on614")

[connection signal="unit_allegiance_changed" from="." to="AllegianceIndicator" method="_on_unit_unit_allegiance_changed"]
[connection signal="unit_selected_changed" from="." to="ColorRect" method="_unit_selected_changed"]
