This commit is contained in:
Spencer Killen 2026-09-26 18:17:56 -06:00
parent 22ec89d3af
commit e5b8bbbb4f
Signed by: sjkillen
GPG key ID: 1DAA9D8D7C6ADD05
11 changed files with 63 additions and 30 deletions

View file

@ -8,19 +8,11 @@ shader = ExtResource("1_tm326")
[sub_resource type="CanvasTexture" id="CanvasTexture_wgite"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4sc8i"]
resource_local_to_scene = true
[node name="MemberSprite" type="TextureRect" unique_id=283117283]
material = SubResource("ShaderMaterial_tm326")
mouse_default_cursor_shape = 2
texture = SubResource("CanvasTexture_wgite")
script = ExtResource("2_5ifiv")
[node name="Area2D" type="Area2D" parent="." unique_id=1371993311]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=894062478]
unique_name_in_owner = true
shape = SubResource("RectangleShape2D_4sc8i")
[connection signal="mouse_entered" from="Area2D" to="." method="_on_area_2d_mouse_entered"]
[connection signal="mouse_exited" from="Area2D" to="." method="_on_area_2d_mouse_exited"]
[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]
[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"]

View file

@ -8,19 +8,17 @@ func _ready() -> void:
sync()
func sync():
set_instance_shader_parameter("border_color", allegiance.color)
set_instance_shader_parameter("fill_color", currency.color)
%CollisionShape2D.shape.size = custom_minimum_size
if allegiance != null:
set_instance_shader_parameter("border_color", allegiance.color)
if currency != null:
set_instance_shader_parameter("fill_color", currency.color)
func _on_area_2d_mouse_entered() -> void:
func _on_mouse_entered() -> void:
UserContext.focus_member(self)
func _on_area_2d_mouse_exited() -> void:
func _on_mouse_exited() -> void:
UserContext.unfocus_member(self)
func _unhandled_input(event: InputEvent) -> void:
func _input(event: InputEvent) -> void:
if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT:
pass
UserContext.select_focused_member()

1
letters/generator.gd Normal file
View file

@ -0,0 +1 @@
extends Resource

1
letters/generator.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://7xeokq847s6t

View file

@ -0,0 +1,11 @@
extends Node
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass

View file

@ -0,0 +1 @@
uid://du678iprs4rm2

10
member_inspector_panel.gd Normal file
View file

@ -0,0 +1,10 @@
extends "res://gui/currency_inspector_panel.gd"
@export var member: CurrencyMemberSprite
func _ready() -> void:
UserContext.member_inspect.connect(member_inspect)
func member_inspect(m: CurrencyMemberSprite):
member = m
currency = m.currency

View file

@ -0,0 +1 @@
uid://cjhnvflx56hjj

View file

@ -0,0 +1,7 @@
[gd_scene format=3 uid="uid://dsmh4uua1avgp"]
[ext_resource type="PackedScene" uid="uid://75htlmk51oo" path="res://gui/currency_inspector_panel.tscn" id="1_x0sea"]
[ext_resource type="Script" uid="uid://cjhnvflx56hjj" path="res://member_inspector_panel.gd" id="2_yfo1o"]
[node name="MemberInspectorPanel" unique_id=169191981 instance=ExtResource("1_x0sea")]
script = ExtResource("2_yfo1o")

View file

@ -75,7 +75,7 @@ layout_mode = 1
[node name="MemberSprite" parent="." unique_id=283117283 instance=ExtResource("6_vua3v")]
instance_shader_parameters/border_color = Color(1, 0, 0, 1)
instance_shader_parameters/border_width = 0.16
instance_shader_parameters/fill_color = Color(0, 1, 0, 1)
instance_shader_parameters/fill_color = Color(1, 0.7529412, 0.79607844, 1)
custom_minimum_size = Vector2(100, 100)
layout_mode = 0
offset_left = 426.0
@ -88,3 +88,5 @@ allegiance = ExtResource("8_i7808")
[connection signal="pressed" from="Control/VBoxContainer/GetCow" to="." method="_on_get_cow_pressed"]
[connection signal="pressed" from="Control/VBoxContainer/RunSimulate" to="." method="_on_run_simulate_pressed"]
[connection signal="pressed" from="Control/VBoxContainer/OpenInbox" to="." method="_on_open_inbox_pressed"]
[editable path="MemberSprite"]

View file

@ -3,24 +3,33 @@ extends Node
@warning_ignore("unused_signal")
signal currency_inspect(c: Currency)
@warning_ignore("unused_signal")
signal member_inspect(c: CurrencyMemberSprite)
@warning_ignore("unused_signal")
signal open_inbox
var selected_member: CurrencyMemberSprite = null
var focused_members: Array[CurrencyMemberSprite] = []
signal focused_member_change(current: CurrencyMemberSprite)
signal selected_member_change(current: CurrencyMemberSprite)
#func focused_member() -> Cur
func select_focused_member():
var candidate := focused_member()
if candidate == null:
return
selected_member = candidate
selected_member_change.emit(selected_member)
func focused_member() -> CurrencyMemberSprite:
if focused_members.size() == 0:
return null
return focused_members[focused_members.size()-1]
func focus_member(member: CurrencyMemberSprite):
focused_members.append(member)
focused_member_change.emit(member)
func unfocus_member(member: CurrencyMemberSprite):
var i := focused_members.find(member)
if i == -1:
return
focused_members.remove_at(i)
if focused_members.size():
focused_member_change.emit(focused_members[focused_members.size()-1])
else:
focused_member_change.emit(null)