.
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="CanvasTexture" id="CanvasTexture_wgite"]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4sc8i"]
|
|
||||||
resource_local_to_scene = true
|
|
||||||
|
|
||||||
[node name="MemberSprite" type="TextureRect" unique_id=283117283]
|
[node name="MemberSprite" type="TextureRect" unique_id=283117283]
|
||||||
material = SubResource("ShaderMaterial_tm326")
|
material = SubResource("ShaderMaterial_tm326")
|
||||||
|
mouse_default_cursor_shape = 2
|
||||||
texture = SubResource("CanvasTexture_wgite")
|
texture = SubResource("CanvasTexture_wgite")
|
||||||
script = ExtResource("2_5ifiv")
|
script = ExtResource("2_5ifiv")
|
||||||
|
|
||||||
[node name="Area2D" type="Area2D" parent="." unique_id=1371993311]
|
[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]
|
||||||
|
[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"]
|
||||||
[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"]
|
|
||||||
|
|
|
||||||
|
|
@ -8,19 +8,17 @@ func _ready() -> void:
|
||||||
sync()
|
sync()
|
||||||
|
|
||||||
func sync():
|
func sync():
|
||||||
set_instance_shader_parameter("border_color", allegiance.color)
|
if allegiance != null:
|
||||||
set_instance_shader_parameter("fill_color", currency.color)
|
set_instance_shader_parameter("border_color", allegiance.color)
|
||||||
%CollisionShape2D.shape.size = custom_minimum_size
|
if currency != null:
|
||||||
|
set_instance_shader_parameter("fill_color", currency.color)
|
||||||
|
|
||||||
|
func _on_mouse_entered() -> void:
|
||||||
func _on_area_2d_mouse_entered() -> void:
|
|
||||||
UserContext.focus_member(self)
|
UserContext.focus_member(self)
|
||||||
|
|
||||||
|
func _on_mouse_exited() -> void:
|
||||||
func _on_area_2d_mouse_exited() -> void:
|
|
||||||
UserContext.unfocus_member(self)
|
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:
|
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")]
|
[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_color = Color(1, 0, 0, 1)
|
||||||
instance_shader_parameters/border_width = 0.16
|
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)
|
custom_minimum_size = Vector2(100, 100)
|
||||||
layout_mode = 0
|
layout_mode = 0
|
||||||
offset_left = 426.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/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/RunSimulate" to="." method="_on_run_simulate_pressed"]
|
||||||
[connection signal="pressed" from="Control/VBoxContainer/OpenInbox" to="." method="_on_open_inbox_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")
|
@warning_ignore("unused_signal")
|
||||||
signal currency_inspect(c: Currency)
|
signal currency_inspect(c: Currency)
|
||||||
|
|
||||||
|
@warning_ignore("unused_signal")
|
||||||
|
signal member_inspect(c: CurrencyMemberSprite)
|
||||||
|
|
||||||
@warning_ignore("unused_signal")
|
@warning_ignore("unused_signal")
|
||||||
signal open_inbox
|
signal open_inbox
|
||||||
|
|
||||||
|
var selected_member: CurrencyMemberSprite = null
|
||||||
var focused_members: Array[CurrencyMemberSprite] = []
|
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):
|
func focus_member(member: CurrencyMemberSprite):
|
||||||
focused_members.append(member)
|
focused_members.append(member)
|
||||||
focused_member_change.emit(member)
|
|
||||||
|
|
||||||
func unfocus_member(member: CurrencyMemberSprite):
|
func unfocus_member(member: CurrencyMemberSprite):
|
||||||
var i := focused_members.find(member)
|
var i := focused_members.find(member)
|
||||||
if i == -1:
|
if i == -1:
|
||||||
return
|
return
|
||||||
focused_members.remove_at(i)
|
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