Merge branch 'master' of https://git.sjkillen.ca/sjkillen/everything_has_a_price_jam
This commit is contained in:
commit
9cedfa01a8
16 changed files with 295 additions and 56 deletions
11
Behaviour/Charge!.gd
Normal file
11
Behaviour/Charge!.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
Behaviour/Charge!.gd.uid
Normal file
1
Behaviour/Charge!.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://wfmx6v6funrk
|
||||
15
bribe_button.gd
Normal file
15
bribe_button.gd
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
extends Button
|
||||
|
||||
@export var bribe: Production
|
||||
|
||||
signal bribe_succees
|
||||
|
||||
func _ready() -> void:
|
||||
sync()
|
||||
|
||||
func sync():
|
||||
text = str(bribe.amount) + " of " + bribe.currency.name
|
||||
|
||||
func _on_pressed() -> void:
|
||||
if Economy.do_bribing(bribe):
|
||||
bribe_succees.emit()
|
||||
1
bribe_button.gd.uid
Normal file
1
bribe_button.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://olr6663hny8n
|
||||
BIN
currency/EHAP_map.png
(Stored with Git LFS)
BIN
currency/EHAP_map.png
(Stored with Git LFS)
Binary file not shown.
|
|
@ -1,40 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://8lqq14trnf5u"
|
||||
path="res://.godot/imported/EHAP_map.png-b1025cc065bdc97d744b65efd6468a03.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://currency/EHAP_map.png"
|
||||
dest_files=["res://.godot/imported/EHAP_map.png-b1025cc065bdc97d744b65efd6468a03.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
|
@ -17,6 +17,15 @@ func get_currency(c: Currency) -> Production:
|
|||
currencies.append(p)
|
||||
return p
|
||||
|
||||
func do_bribing(p: Production) -> bool:
|
||||
produce(negate_production(p))
|
||||
return true
|
||||
|
||||
func negate_production(p: Production) -> Production:
|
||||
var pp := p.duplicate()
|
||||
pp.amount = -pp.amount
|
||||
return pp
|
||||
|
||||
func sync_currency():
|
||||
var did_remove := true
|
||||
while did_remove:
|
||||
|
|
|
|||
9
gui/bribe_button.tscn
Normal file
9
gui/bribe_button.tscn
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[gd_scene format=3 uid="uid://dqb4a1igddv71"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://olr6663hny8n" path="res://bribe_button.gd" id="1_2abdb"]
|
||||
|
||||
[node name="BribeButton" type="Button" unique_id=1084248382]
|
||||
text = "< num > of < currency >"
|
||||
script = ExtResource("1_2abdb")
|
||||
|
||||
[connection signal="pressed" from="." to="." method="_on_pressed"]
|
||||
|
|
@ -4,8 +4,12 @@ var currency: Currency = null
|
|||
|
||||
func _ready() -> void:
|
||||
UserContext.currency_inspect.connect(currency_inspect)
|
||||
UserContext.member_inspect.connect(member_inspect)
|
||||
update()
|
||||
|
||||
func member_inspect(_m: CurrencyMemberSprite):
|
||||
visible = false
|
||||
|
||||
func currency_inspect(c: Currency):
|
||||
currency = c
|
||||
update()
|
||||
|
|
@ -19,10 +23,16 @@ func update():
|
|||
%CurrencyDescription.text = currency.description
|
||||
for child in %ProductionsList.get_children():
|
||||
child.queue_free()
|
||||
%word.visible = currency.production.size() > 0
|
||||
for production in currency.production:
|
||||
var display := preload("res://gui/production_display.tscn").instantiate()
|
||||
display.production = production
|
||||
%ProductionsList.add_child(display)
|
||||
if currency.thumbnail != null:
|
||||
%CurrrencyImage.visible = true
|
||||
%CurrrencyImage.texture = currency.thumbnail
|
||||
else:
|
||||
%CurrrencyImage.visible = false
|
||||
|
||||
func _on_close_button_pressed() -> void:
|
||||
visible = false
|
||||
|
|
|
|||
|
|
@ -1,14 +1,7 @@
|
|||
[gd_scene format=3 uid="uid://75htlmk51oo"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bkptc7j6c1r7p" path="res://gui/currency_inspector_panel.gd" id="1_tj5vo"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_jd7cj"]
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_y6nab"]
|
||||
gradient = SubResource("Gradient_jd7cj")
|
||||
|
||||
[sub_resource type="CanvasTexture" id="CanvasTexture_4sc8i"]
|
||||
diffuse_texture = SubResource("GradientTexture2D_y6nab")
|
||||
[ext_resource type="Texture2D" uid="uid://bplvus0ytk2f8" path="res://thumbnails/beer.png" id="2_p4bd1"]
|
||||
|
||||
[node name="CurrencyInspectorPanel" type="Control" unique_id=169191981]
|
||||
custom_minimum_size = Vector2(0, 100)
|
||||
|
|
@ -39,19 +32,27 @@ grow_horizontal = 2
|
|||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
theme_override_font_sizes/font_size = 25
|
||||
text = "< Selected Currency >"
|
||||
|
||||
[node name="CurrrencyImage" type="TextureRect" parent="VBoxContainer" unique_id=1066520786]
|
||||
unique_name_in_owner = true
|
||||
[node name="CenterContainer" type="CenterContainer" parent="VBoxContainer" unique_id=1252469629]
|
||||
layout_mode = 2
|
||||
texture = SubResource("CanvasTexture_4sc8i")
|
||||
|
||||
[node name="CurrrencyImage" type="TextureRect" parent="VBoxContainer/CenterContainer" unique_id=1066520786]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(250, 250)
|
||||
custom_maximum_size = Vector2(250, 250)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("2_p4bd1")
|
||||
|
||||
[node name="CurrencyDescription" type="Label" parent="VBoxContainer" unique_id=543173020]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "< Description of currency >"
|
||||
text = "< Description of currency >< Description of currency >< Description of currency >< Description of currency >< Description of currency >< Description of currency >< Description of currency >< Description of currency >< Description of currency >< Description of currency >< Description of currency >"
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="word" type="Label" parent="VBoxContainer" unique_id=835011658]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Production:"
|
||||
|
||||
|
|
|
|||
138
map.tscn
138
map.tscn
|
|
@ -3,6 +3,48 @@
|
|||
[ext_resource type="Texture2D" uid="uid://bntb4uxiugjq3" path="res://Map/EHAP_map.png" id="1_c7s6e"]
|
||||
[ext_resource type="Script" uid="uid://ws5ruc64db3v" path="res://CameraMove.gd" id="2_wijl4"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_bhunq"]
|
||||
size = Vector2(184, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_wijl4"]
|
||||
size = Vector2(184, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_e0an3"]
|
||||
size = Vector2(397.13715, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_p5pve"]
|
||||
size = Vector2(397.13715, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_urblq"]
|
||||
size = Vector2(397.13715, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_iw27f"]
|
||||
size = Vector2(397.13715, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_71pa8"]
|
||||
size = Vector2(167.75, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_05x41"]
|
||||
size = Vector2(167.75, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_gqbix"]
|
||||
size = Vector2(171.75, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_oysan"]
|
||||
size = Vector2(171.75, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_sb2pt"]
|
||||
size = Vector2(397.79724, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_0t07s"]
|
||||
size = Vector2(397.79724, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6qsgm"]
|
||||
size = Vector2(397.79724, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ooc2g"]
|
||||
size = Vector2(397.79724, 20)
|
||||
|
||||
[node name="Node2D" type="Node2D" unique_id=575553336]
|
||||
|
||||
[node name="EhapMap" type="Sprite2D" parent="." unique_id=26962123]
|
||||
|
|
@ -16,3 +58,99 @@ limit_top = -1648
|
|||
limit_right = 1926
|
||||
limit_bottom = 1592
|
||||
script = ExtResource("2_wijl4")
|
||||
|
||||
[node name="PlayerGates" type="Area2D" parent="." unique_id=1387700911]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerGates" unique_id=880212519]
|
||||
position = Vector2(967, 1469)
|
||||
shape = SubResource("RectangleShape2D_bhunq")
|
||||
|
||||
[node name="EnemyGates" type="Area2D" parent="." unique_id=92129502]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="EnemyGates" unique_id=993616373]
|
||||
position = Vector2(966, -1524)
|
||||
shape = SubResource("RectangleShape2D_wijl4")
|
||||
|
||||
[node name="Wall" type="StaticBody2D" parent="." unique_id=1533768688]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Wall" unique_id=1071828556]
|
||||
position = Vector2(674.7099, 1354.1438)
|
||||
rotation = -0.18325958
|
||||
shape = SubResource("RectangleShape2D_e0an3")
|
||||
|
||||
[node name="Wall7" type="StaticBody2D" parent="." unique_id=883382290]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Wall7" unique_id=1479410070]
|
||||
position = Vector2(670, -1412)
|
||||
rotation = 0.18325958
|
||||
shape = SubResource("RectangleShape2D_p5pve")
|
||||
|
||||
[node name="Wall6" type="StaticBody2D" parent="." unique_id=152552060]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Wall6" unique_id=1066643737]
|
||||
position = Vector2(318.00003, 1497.9999)
|
||||
rotation = -0.5846853
|
||||
shape = SubResource("RectangleShape2D_urblq")
|
||||
|
||||
[node name="Wall10" type="StaticBody2D" parent="." unique_id=1775364661]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Wall10" unique_id=1168089764]
|
||||
position = Vector2(317.00003, -1548.0001)
|
||||
rotation = 0.5846853
|
||||
shape = SubResource("RectangleShape2D_iw27f")
|
||||
|
||||
[node name="Wall2" type="StaticBody2D" parent="." unique_id=1892667741]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Wall2" unique_id=843883753]
|
||||
position = Vector2(1070, 1398.125)
|
||||
rotation = -1.5707964
|
||||
shape = SubResource("RectangleShape2D_71pa8")
|
||||
|
||||
[node name="Wall11" type="StaticBody2D" parent="." unique_id=546311748]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Wall11" unique_id=1149475211]
|
||||
position = Vector2(1070, -1447)
|
||||
rotation = -1.5707964
|
||||
shape = SubResource("RectangleShape2D_05x41")
|
||||
|
||||
[node name="Wall3" type="StaticBody2D" parent="." unique_id=341274285]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Wall3" unique_id=2115335844]
|
||||
position = Vector2(861, 1398)
|
||||
rotation = -1.5707964
|
||||
shape = SubResource("RectangleShape2D_gqbix")
|
||||
|
||||
[node name="Wall12" type="StaticBody2D" parent="." unique_id=1358255107]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Wall12" unique_id=941209779]
|
||||
position = Vector2(862, -1446)
|
||||
rotation = -1.5707964
|
||||
shape = SubResource("RectangleShape2D_oysan")
|
||||
|
||||
[node name="Wall4" type="StaticBody2D" parent="." unique_id=1945357597]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Wall4" unique_id=435425623]
|
||||
position = Vector2(1257.664, 1354.5021)
|
||||
rotation = 0.18325958
|
||||
shape = SubResource("RectangleShape2D_sb2pt")
|
||||
|
||||
[node name="Wall8" type="StaticBody2D" parent="." unique_id=814199825]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Wall8" unique_id=1753491154]
|
||||
position = Vector2(1257, -1412)
|
||||
rotation = -0.18325958
|
||||
shape = SubResource("RectangleShape2D_0t07s")
|
||||
|
||||
[node name="Wall5" type="StaticBody2D" parent="." unique_id=378750450]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Wall5" unique_id=279094555]
|
||||
position = Vector2(1611.9999, 1499)
|
||||
rotation = 0.5846853
|
||||
shape = SubResource("RectangleShape2D_6qsgm")
|
||||
|
||||
[node name="Wall9" type="StaticBody2D" parent="." unique_id=120309270]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Wall9" unique_id=1840760444]
|
||||
position = Vector2(1612.9999, -1555.9999)
|
||||
rotation = -0.5846853
|
||||
shape = SubResource("RectangleShape2D_ooc2g")
|
||||
|
|
|
|||
|
|
@ -3,8 +3,52 @@ extends "res://gui/currency_inspector_panel.gd"
|
|||
@export var member: CurrencyMemberSprite
|
||||
|
||||
func _ready() -> void:
|
||||
UserContext.currency_inspect.connect(currency_inspect)
|
||||
UserContext.member_inspect.connect(member_inspect)
|
||||
update()
|
||||
|
||||
func member_inspect(m: CurrencyMemberSprite):
|
||||
if member != null:
|
||||
member.tree_exiting.disconnect(member_left)
|
||||
member = m
|
||||
currency = m.currency
|
||||
m.tree_exiting.connect(member_left)
|
||||
update()
|
||||
|
||||
func member_left():
|
||||
member = null
|
||||
visible = false
|
||||
|
||||
func clear_bribes():
|
||||
for child in %BribesList.get_children():
|
||||
child.queue_free()
|
||||
|
||||
func bribe_success():
|
||||
member.allegiance = preload("res://allegiance/good.tres")
|
||||
member.sync()
|
||||
update()
|
||||
|
||||
func load_bribes():
|
||||
for p in member.currency.wants:
|
||||
var btn := preload("res://gui/bribe_button.tscn").instantiate()
|
||||
btn.bribe = p
|
||||
btn.bribe_succees.connect(bribe_success)
|
||||
%BribesList.add_child(btn)
|
||||
|
||||
|
||||
func currency_inspect(_c: Currency):
|
||||
visible = false
|
||||
|
||||
func update():
|
||||
super()
|
||||
if member != null:
|
||||
%Allegiance.text = member.allegiance.kingdom_name
|
||||
%CurrencyMemberSprite.currency = member.currency
|
||||
%CurrencyMemberSprite.allegiance = member.allegiance
|
||||
%CurrencyMemberSprite.sync()
|
||||
clear_bribes()
|
||||
%Bribes.visible = false
|
||||
if member.allegiance != preload("res://allegiance/good.tres"):
|
||||
load_bribes()
|
||||
%Bribes.visible = true
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,40 @@
|
|||
|
||||
[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"]
|
||||
[ext_resource type="PackedScene" uid="uid://coebykrbnhlif" path="res://currency/members/MemberSprite.tscn" id="3_2bpjt"]
|
||||
|
||||
[node name="MemberInspectorPanel" unique_id=169191981 instance=ExtResource("1_x0sea")]
|
||||
script = ExtResource("2_yfo1o")
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(362599487) index="5" unique_id=310762327]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label2" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(362599487) index="6" unique_id=1729672621]
|
||||
layout_mode = 2
|
||||
text = "Allegiance: "
|
||||
|
||||
[node name="Allegiance" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(362599487) index="7" unique_id=601264471]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer" parent_id_path=PackedInt32Array(362599487) index="8" unique_id=214625865]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 50
|
||||
theme_override_constants/margin_top = 50
|
||||
theme_override_constants/margin_right = 50
|
||||
theme_override_constants/margin_bottom = 50
|
||||
|
||||
[node name="CurrencyMemberSprite" parent="VBoxContainer/MarginContainer" index="0" unique_id=283117283 instance=ExtResource("3_2bpjt")]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(75, 75)
|
||||
custom_maximum_size = Vector2(75, 75)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Bribes" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(362599487) index="9" unique_id=807570934]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Bribe with"
|
||||
|
||||
[node name="BribesList" type="VBoxContainer" parent="VBoxContainer" parent_id_path=PackedInt32Array(362599487) index="10" unique_id=476203914]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ Economy="*uid://dnpioqaes87yb"
|
|||
Random="*uid://cu3n7igqstbxi"
|
||||
UserContext="*uid://0a08ucta58lp"
|
||||
GameState="*uid://bohql2ihaumsa"
|
||||
LetterGeneration="*uid://d156m2y8b38qs"
|
||||
|
||||
[dialogic]
|
||||
|
||||
|
|
@ -133,3 +134,4 @@ dialogic_default_action={
|
|||
[rendering]
|
||||
|
||||
rendering_device/driver.windows="d3d12"
|
||||
renderer/rendering_method="gl_compatibility"
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
[ext_resource type="PackedScene" uid="uid://desvyn6e28oar" path="res://gui/production_chart.tscn" id="2_jd86c"]
|
||||
[ext_resource type="PackedScene" uid="uid://dx3y20p75chkj" path="res://gui/production_ledger_scroll.tscn" id="3_n4oyp"]
|
||||
[ext_resource type="PackedScene" uid="uid://75htlmk51oo" path="res://gui/currency_inspector_panel.tscn" id="4_7ya5o"]
|
||||
[ext_resource type="PackedScene" uid="uid://dsmh4uua1avgp" path="res://member_inspector_panel.tscn" id="5_i7808"]
|
||||
[ext_resource type="PackedScene" uid="uid://vanflt5jr7tx" path="res://gui/inbox_panel.tscn" id="5_n4oyp"]
|
||||
[ext_resource type="PackedScene" uid="uid://coebykrbnhlif" path="res://currency/members/MemberSprite.tscn" id="6_vua3v"]
|
||||
[ext_resource type="Resource" uid="uid://ihsvxienxbeu" path="res://currency/sentient/knight.tres" id="7_s0mui"]
|
||||
|
|
@ -69,6 +70,11 @@ text = "OpenInbox"
|
|||
[node name="CurrencyInspectorPanel" parent="." unique_id=169191981 instance=ExtResource("4_7ya5o")]
|
||||
layout_mode = 1
|
||||
|
||||
[node name="MemberInspectorPanel" parent="." unique_id=1641024074 instance=ExtResource("5_i7808")]
|
||||
layout_mode = 1
|
||||
offset_left = -189.0
|
||||
offset_right = -189.0
|
||||
|
||||
[node name="InboxPanel" parent="." unique_id=534578339 instance=ExtResource("5_n4oyp")]
|
||||
layout_mode = 1
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ func select_focused_member():
|
|||
return
|
||||
selected_member = candidate
|
||||
selected_member_change.emit(selected_member)
|
||||
UserContext.member_inspect.emit(selected_member)
|
||||
|
||||
func focused_member() -> CurrencyMemberSprite:
|
||||
if focused_members.size() == 0:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue