This commit is contained in:
Tandy 2026-09-26 18:21:22 -06:00
commit 5e0e3de39d
18 changed files with 205 additions and 30 deletions

37
CameraMove.gd Normal file
View file

@ -0,0 +1,37 @@
extends Camera2D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
var mouse: = get_viewport().get_mouse_position()
var size: = get_viewport().get_visible_rect().size
if (mouse.x < (0.10*size.x)):
position.x -= 3
elif (mouse.x > (0.90*size.x)):
position.x += 3
if (mouse.y < (0.10*size.y)):
position.y -= 3
elif (mouse.y > (0.90*size.y)):
position.y += 3
func _input(event):
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_WHEEL_UP and event.pressed:
zoom.x +=1
zoom.y +=1
elif event.button_index == MOUSE_BUTTON_WHEEL_DOWN and event.pressed:
zoom.x -=1
zoom.y -=1

1
CameraMove.gd.uid Normal file
View file

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

BIN
Map/EHAP_map.png (Stored with Git LFS) Normal file

Binary file not shown.

40
Map/EHAP_map.png.import Normal file
View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bntb4uxiugjq3"
path="res://.godot/imported/EHAP_map.png-b029a0a0b09d67741377398e7d614575.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Map/EHAP_map.png"
dest_files=["res://.godot/imported/EHAP_map.png-b029a0a0b09d67741377398e7d614575.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

BIN
currency/EHAP_map.png (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,40 @@
[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

View file

@ -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"]

View file

@ -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
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

18
map.tscn Normal file
View file

@ -0,0 +1,18 @@
[gd_scene format=3 uid="uid://bdk1r2u8clllr"]
[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"]
[node name="Node2D" type="Node2D" unique_id=575553336]
[node name="EhapMap" type="Sprite2D" parent="." unique_id=26962123]
position = Vector2(966, -28)
texture = ExtResource("1_c7s6e")
[node name="Camera2D" type="Camera2D" parent="." unique_id=1974259721]
position = Vector2(582, 1260)
limit_left = 6
limit_top = -1648
limit_right = 1926
limit_bottom = 1592
script = ExtResource("2_wijl4")

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")] [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"]

View file

@ -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)