.
This commit is contained in:
parent
22ec89d3af
commit
e5b8bbbb4f
11 changed files with 63 additions and 30 deletions
|
|
@ -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"]
|
||||
|
|
|
|||
|
|
@ -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
1
letters/generator.gd
Normal file
|
|
@ -0,0 +1 @@
|
|||
extends Resource
|
||||
1
letters/generator.gd.uid
Normal file
1
letters/generator.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://7xeokq847s6t
|
||||
11
letters/generators/drunk.gd
Normal file
11
letters/generators/drunk.gd
Normal 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
|
||||
1
letters/generators/drunk.gd.uid
Normal file
1
letters/generators/drunk.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://du678iprs4rm2
|
||||
10
member_inspector_panel.gd
Normal file
10
member_inspector_panel.gd
Normal 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
|
||||
1
member_inspector_panel.gd.uid
Normal file
1
member_inspector_panel.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://cjhnvflx56hjj
|
||||
7
member_inspector_panel.tscn
Normal file
7
member_inspector_panel.tscn
Normal 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")
|
||||
|
|
@ -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"]
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue