Files
settled-reach/client/ui/monologue_display.tscn
T
jpmschweitzerandClaude Sonnet 4.6 4365871846 feat(ui): monologue display — queue, character colours, italic BBCode (#122)
- Queue management: enqueue on mid-display arrival, drain in order, MAX_QUEUE_DEPTH=8 cap, no-overwrite contract (P0 #477)
- Character colours: detective=#c8e0ff (cool blue), smuggler=#f0c870 (warm amber), fallback to neutral insert text
- Typography: italic via BBCode [i] tags; font size 13px (smaller than dialogue)
- Positioning: bottom-left of viewport, 420×120px, 80px bottom margin above verb list
- main.gd: _get_active_character_type() reads player entity kind.data.character_type; passed to show_monologue() and _on_confrontation_monologue()
- gdUnit4 tests: queue order, depth cap, no-overwrite, BBCode output, colour mapping, fade timer integration

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 18:31:13 +01:00

44 lines
1.3 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"]
; Bottom-left of viewport, 420px wide, up to 120px tall.
; 80px bottom margin reserves space above the interaction verb list (InsertOverlay).
; Positioned in UILayer (CanvasLayer 20, D-049).
[node name="MonologueDisplay" type="Control"]
layout_mode = 3
anchors_preset = 2
anchor_left = 0.0
anchor_top = 1.0
anchor_right = 0.0
anchor_bottom = 1.0
offset_left = 16.0
offset_top = -200.0
offset_right = 436.0
offset_bottom = -80.0
grow_horizontal = 1
grow_vertical = 0
mouse_filter = 2
script = ExtResource("1_monologue")
[node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/margin_left = 12
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 12
theme_override_constants/margin_bottom = 8
[node name="RichTextLabel" type="RichTextLabel" parent="PanelContainer/MarginContainer"]
layout_mode = 2
bbcode_enabled = true
text = ""
fit_content = true
scroll_active = false
theme_override_font_sizes/normal_font_size = 13