feat: replace activity markers with typed sites

This commit is contained in:
2026-07-07 13:27:02 +02:00
parent e5bd93d705
commit 4c090f1635
19 changed files with 308 additions and 126 deletions
+58 -10
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=25 format=3]
[gd_scene load_steps=26 format=3]
[ext_resource type="Terrain3DAssets" path="res://terrain/jajce/assets.tres" id="1_assets"]
[ext_resource type="PackedScene" path="res://world/resource_nodes/ResourceNode.tscn" id="2_resource"]
@@ -14,6 +14,7 @@
[ext_resource type="PackedScene" path="res://world/jajce/ChimneySmoke.tscn" id="12_smoke"]
[ext_resource type="Script" path="res://world/jajce/day_night_cycle.gd" id="13_daynight"]
[ext_resource type="PackedScene" path="res://world/storage/StorageNode.tscn" id="14_storage"]
[ext_resource type="Script" path="res://world/activity/ActivitySite.gd" id="15_activity"]
[sub_resource type="Terrain3DMaterial" id="Terrain3DMaterial_jajce"]
_shader_parameters = {
@@ -251,29 +252,76 @@ yield_per_action = 3.0
[node name="VillagePantry" parent="WorldObjects/StorageSites" instance=ExtResource("14_storage")]
position = Vector3(0, 0, -8)
[node name="LegacyActivityMarkers" type="Node3D" parent="."]
[node name="ActivitySites" type="Node3D" parent="WorldObjects"]
[node name="GuardZone" type="Marker3D" parent="LegacyActivityMarkers"]
[node name="GuardPost" type="Node3D" parent="WorldObjects/ActivitySites"]
position = Vector3(0, 0, 8)
script = ExtResource("15_activity")
site_id = &"guard_post"
action_id = &"patrol"
display_name = "Guard Post"
capacity = 2
[node name="GuardTowerVisual" type="MeshInstance3D" parent="LegacyActivityMarkers/GuardZone"]
[node name="GuardTowerVisual" type="MeshInstance3D" parent="WorldObjects/ActivitySites/GuardPost"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.25, 0)
mesh = SubResource("Mesh_guard_post")
[node name="StudyZone" type="Marker3D" parent="LegacyActivityMarkers"]
position = Vector3(-6, 0, 6)
[node name="InteractionPoint" type="Marker3D" parent="WorldObjects/ActivitySites/GuardPost"]
[node name="StudyDeskVisual" type="MeshInstance3D" parent="LegacyActivityMarkers/StudyZone"]
[node name="DebugLabel" type="Label3D" parent="WorldObjects/ActivitySites/GuardPost"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.8, 0)
billboard = 1
no_depth_test = true
font_size = 18
outline_modulate = Color(0, 0, 0, 1)
outline_size = 4
text = "Guard Post"
[node name="StudyDesk" type="Node3D" parent="WorldObjects/ActivitySites"]
position = Vector3(-6, 0, 6)
script = ExtResource("15_activity")
site_id = &"study_desk"
action_id = &"study"
display_name = "Study Desk"
[node name="StudyDeskVisual" type="MeshInstance3D" parent="WorldObjects/ActivitySites/StudyDesk"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.125, 0)
mesh = SubResource("Mesh_study_desk")
[node name="RestZone" type="Marker3D" parent="LegacyActivityMarkers"]
position = Vector3(4, 0, 5)
[node name="InteractionPoint" type="Marker3D" parent="WorldObjects/ActivitySites/StudyDesk"]
[node name="RestBenchVisual" type="MeshInstance3D" parent="LegacyActivityMarkers/RestZone"]
[node name="DebugLabel" type="Label3D" parent="WorldObjects/ActivitySites/StudyDesk"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0)
billboard = 1
no_depth_test = true
font_size = 18
outline_modulate = Color(0, 0, 0, 1)
outline_size = 4
text = "Study Desk"
[node name="RestBench" type="Node3D" parent="WorldObjects/ActivitySites"]
position = Vector3(4, 0, 5)
script = ExtResource("15_activity")
site_id = &"rest_bench"
action_id = &"rest"
display_name = "Rest Bench"
capacity = 2
[node name="RestBenchVisual" type="MeshInstance3D" parent="WorldObjects/ActivitySites/RestBench"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.15, 0)
mesh = SubResource("Mesh_rest_bench")
[node name="InteractionPoint" type="Marker3D" parent="WorldObjects/ActivitySites/RestBench"]
[node name="DebugLabel" type="Label3D" parent="WorldObjects/ActivitySites/RestBench"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0)
billboard = 1
no_depth_test = true
font_size = 18
outline_modulate = Color(0, 0, 0, 1)
outline_size = 4
text = "Rest Bench"
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
rotation_degrees = Vector3(-55, -35, 0)
light_color = Color(1, 0.87, 0.72, 1)