Set up the complete Godot 4.6 client foundation as a pure renderer (D-020): - project.godot with 2D rendering, autoloads, input actions - Main scene: Game > World (TileMapLayer, Entities, FogOverlay) + Camera2D + UILayer - Autoloads: SimBridge (connection state machine + test mode), GameState, InputMapper - Rendering stubs: WorldRenderer, EntityRenderer, FogRenderer - UI stubs: HUD (health/perception/time), Minimap, MonologueDisplay - Input mapping: WASD/arrows, E (interact), Tab (perception), Esc (menu), Space (pause) - gdUnit4 smoke tests: scene loads, autoloads registered (2/2 passing) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
39 lines
1.1 KiB
Plaintext
39 lines
1.1 KiB
Plaintext
[gd_scene load_steps=2 format=3 uid="uid://bj8y4v2nx7k5m"]
|
|
|
|
[ext_resource type="Script" path="res://ui/monologue_display.gd" id="1_monologue"]
|
|
|
|
[node name="MonologueDisplay" type="Control"]
|
|
layout_mode = 3
|
|
anchors_preset = 12
|
|
anchor_top = 1.0
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
offset_top = -150.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 0
|
|
mouse_filter = 2
|
|
script = ExtResource("1_monologue")
|
|
|
|
[node name="PanelContainer" type="PanelContainer" parent="."]
|
|
layout_mode = 1
|
|
anchors_preset = 10
|
|
anchor_right = 1.0
|
|
offset_left = 100.0
|
|
offset_right = -100.0
|
|
offset_bottom = 120.0
|
|
grow_horizontal = 2
|
|
|
|
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer"]
|
|
layout_mode = 2
|
|
theme_override_constants/margin_left = 16
|
|
theme_override_constants/margin_top = 12
|
|
theme_override_constants/margin_right = 16
|
|
theme_override_constants/margin_bottom = 12
|
|
|
|
[node name="RichTextLabel" type="RichTextLabel" parent="PanelContainer/MarginContainer"]
|
|
layout_mode = 2
|
|
bbcode_enabled = true
|
|
text = "Internal monologue will appear here..."
|
|
fit_content = true
|
|
scroll_active = false
|