- 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>
44 lines
1.3 KiB
Plaintext
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
|