feat: replace lobby with 3D tavern, cleanup legacy files, update docs
This commit is contained in:
2
Anna_Model/Anna_Model_1.mtl
Normal file
2
Anna_Model/Anna_Model_1.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
597074
Anna_Model/Anna_Model_1.obj
Normal file
597074
Anna_Model/Anna_Model_1.obj
Normal file
File diff suppressed because it is too large
Load Diff
2
Anna_Model/Anna_Model_2.mtl
Normal file
2
Anna_Model/Anna_Model_2.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
402352
Anna_Model/Anna_Model_2.obj
Normal file
402352
Anna_Model/Anna_Model_2.obj
Normal file
File diff suppressed because it is too large
Load Diff
2
Anna_Model/Anna_Model_3.mtl
Normal file
2
Anna_Model/Anna_Model_3.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
386952
Anna_Model/Anna_Model_3.obj
Normal file
386952
Anna_Model/Anna_Model_3.obj
Normal file
File diff suppressed because it is too large
Load Diff
2
Anna_Model/Anna_Model_4.mtl
Normal file
2
Anna_Model/Anna_Model_4.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
584436
Anna_Model/Anna_Model_4.obj
Normal file
584436
Anna_Model/Anna_Model_4.obj
Normal file
File diff suppressed because it is too large
Load Diff
2
Anna_Model/Anna_Part_1.mtl
Normal file
2
Anna_Model/Anna_Part_1.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_10.mtl
Normal file
2
Anna_Model/Anna_Part_10.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_11.mtl
Normal file
2
Anna_Model/Anna_Part_11.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_12.mtl
Normal file
2
Anna_Model/Anna_Part_12.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_13.mtl
Normal file
2
Anna_Model/Anna_Part_13.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_14.mtl
Normal file
2
Anna_Model/Anna_Part_14.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_15.mtl
Normal file
2
Anna_Model/Anna_Part_15.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_16.mtl
Normal file
2
Anna_Model/Anna_Part_16.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_17.mtl
Normal file
2
Anna_Model/Anna_Part_17.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_18.mtl
Normal file
2
Anna_Model/Anna_Part_18.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_19.mtl
Normal file
2
Anna_Model/Anna_Part_19.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_2.mtl
Normal file
2
Anna_Model/Anna_Part_2.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_20.mtl
Normal file
2
Anna_Model/Anna_Part_20.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_21.mtl
Normal file
2
Anna_Model/Anna_Part_21.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_22.mtl
Normal file
2
Anna_Model/Anna_Part_22.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_23.mtl
Normal file
2
Anna_Model/Anna_Part_23.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_24.mtl
Normal file
2
Anna_Model/Anna_Part_24.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_25.mtl
Normal file
2
Anna_Model/Anna_Part_25.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_26.mtl
Normal file
2
Anna_Model/Anna_Part_26.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_27.mtl
Normal file
2
Anna_Model/Anna_Part_27.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_28.mtl
Normal file
2
Anna_Model/Anna_Part_28.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_29.mtl
Normal file
2
Anna_Model/Anna_Part_29.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_3.mtl
Normal file
2
Anna_Model/Anna_Part_3.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_30.mtl
Normal file
2
Anna_Model/Anna_Part_30.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_31.mtl
Normal file
2
Anna_Model/Anna_Part_31.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_32.mtl
Normal file
2
Anna_Model/Anna_Part_32.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_33.mtl
Normal file
2
Anna_Model/Anna_Part_33.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_34.mtl
Normal file
2
Anna_Model/Anna_Part_34.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_35.mtl
Normal file
2
Anna_Model/Anna_Part_35.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_36.mtl
Normal file
2
Anna_Model/Anna_Part_36.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_37.mtl
Normal file
2
Anna_Model/Anna_Part_37.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_38.mtl
Normal file
2
Anna_Model/Anna_Part_38.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_39.mtl
Normal file
2
Anna_Model/Anna_Part_39.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_4.mtl
Normal file
2
Anna_Model/Anna_Part_4.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_40.mtl
Normal file
2
Anna_Model/Anna_Part_40.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_41.mtl
Normal file
2
Anna_Model/Anna_Part_41.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_42.mtl
Normal file
2
Anna_Model/Anna_Part_42.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_43.mtl
Normal file
2
Anna_Model/Anna_Part_43.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_44.mtl
Normal file
2
Anna_Model/Anna_Part_44.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_5.mtl
Normal file
2
Anna_Model/Anna_Part_5.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_6.mtl
Normal file
2
Anna_Model/Anna_Part_6.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_7.mtl
Normal file
2
Anna_Model/Anna_Part_7.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_8.mtl
Normal file
2
Anna_Model/Anna_Part_8.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
2
Anna_Model/Anna_Part_9.mtl
Normal file
2
Anna_Model/Anna_Part_9.mtl
Normal file
@@ -0,0 +1,2 @@
|
||||
# Blender 5.1.0 MTL File: 'None'
|
||||
# www.blender.org
|
||||
@@ -12,12 +12,13 @@ Zuletzt aktualisiert: 2026-04-13
|
||||
- CLAUDE.md mit vollständiger Spielkonzept-Dokumentation
|
||||
- **Multiplayer Grundgerüst** — ENet Server/Client, NetworkManager Autoload, welcome RPC verifiziert
|
||||
- **Lobby + Rollen** — Join-UI, Warteraum, Spieler/DM-Rollen, Sync, Kick, Spiel-Start-Signal
|
||||
- **Tavern Lobby** — 3D-Taverne ersetzt die flache Lobby-UI; SceneManager Autoload eingeführt
|
||||
|
||||
### 🔄 In Arbeit
|
||||
— (nichts aktiv)
|
||||
|
||||
### ⏳ Als nächstes
|
||||
- **Szenen-Wechsel nach Spielstart** — lobby.tscn → Spielszene (Eingangshalle)
|
||||
- **Szenen-Wechsel nach Spielstart** — game_started → Spieler in ihre Chamber, DM in DM-Ansicht
|
||||
Plan: noch zu erstellen
|
||||
|
||||
---
|
||||
@@ -27,10 +28,12 @@ Zuletzt aktualisiert: 2026-04-13
|
||||
1. ✅ MCP eingerichtet
|
||||
2. ✅ Multiplayer Grundgerüst (Server, Clients verbinden, rpc testen)
|
||||
3. ✅ Lobby + Rollen (Spieler registrieren sich, DM kriegt Sonderrechte)
|
||||
4. ⏳ Refektorium — asymmetrische Wahrnehmung (erster Raum)
|
||||
5. ⏳ DM Regiepult Basics — Overlay-Toggle
|
||||
6. ⏳ Alle Räume aufbauen
|
||||
7. ⏳ Polish — Audio, Nebel, Licht, Würfel-UI
|
||||
4. ✅ Tavern Lobby — 3D-Taverne als Warteraum, SceneManager Autoload
|
||||
5. ⏳ Szenen-Wechsel nach Spielstart — Chamber/DM-Szene nach game_started
|
||||
6. ⏳ Refectorium — asymmetrische Wahrnehmung (erster Raum)
|
||||
7. ⏳ DM Regiepult Basics — Overlay-Toggle
|
||||
8. ⏳ Alle Räume aufbauen
|
||||
9. ⏳ Polish — Audio, Nebel, Licht, Würfel-UI
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
[gd_scene load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/lobby.gd" id="1"]
|
||||
|
||||
[node name="Lobby" type="Control"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="JoinPanel" type="VBoxContainer" parent="."]
|
||||
offset_left = 300.0
|
||||
offset_top = 200.0
|
||||
offset_right = 700.0
|
||||
offset_bottom = 500.0
|
||||
|
||||
[node name="Title" type="Label" parent="JoinPanel"]
|
||||
text = "Ruf der Pilze"
|
||||
|
||||
[node name="NameInput" type="LineEdit" parent="JoinPanel"]
|
||||
placeholder_text = "Dein Name"
|
||||
|
||||
[node name="RoleOption" type="OptionButton" parent="JoinPanel"]
|
||||
|
||||
[node name="JoinButton" type="Button" parent="JoinPanel"]
|
||||
text = "Beitreten"
|
||||
|
||||
[node name="WaitPanel" type="VBoxContainer" parent="."]
|
||||
visible = false
|
||||
offset_left = 300.0
|
||||
offset_top = 200.0
|
||||
offset_right = 700.0
|
||||
offset_bottom = 500.0
|
||||
|
||||
[node name="WaitLabel" type="Label" parent="WaitPanel"]
|
||||
text = "Warte auf Spieler..."
|
||||
|
||||
[node name="PlayerList" type="ItemList" parent="WaitPanel"]
|
||||
custom_minimum_size = Vector2(0, 150)
|
||||
|
||||
[node name="StartButton" type="Button" parent="WaitPanel"]
|
||||
text = "Spiel starten"
|
||||
visible = false
|
||||
@@ -1,64 +0,0 @@
|
||||
extends Control
|
||||
|
||||
var _local_role: String = ""
|
||||
var _pending_player_name: String = ""
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
$JoinPanel/RoleOption.add_item("Spieler")
|
||||
$JoinPanel/RoleOption.add_item("DM")
|
||||
|
||||
$JoinPanel/JoinButton.pressed.connect(_on_join_pressed)
|
||||
$WaitPanel/StartButton.pressed.connect(_on_start_pressed)
|
||||
|
||||
NetworkManager.connected_to_server.connect(_on_connected)
|
||||
NetworkManager.connection_failed.connect(_on_connection_failed)
|
||||
NetworkManager.player_joined.connect(_on_player_joined)
|
||||
NetworkManager.player_left.connect(_on_player_left)
|
||||
NetworkManager.player_list_synced.connect(_rebuild_player_list)
|
||||
NetworkManager.game_started.connect(_on_game_started)
|
||||
|
||||
|
||||
func _on_join_pressed() -> void:
|
||||
var player_name: String = ($JoinPanel/NameInput as LineEdit).text.strip_edges()
|
||||
if player_name.is_empty():
|
||||
return
|
||||
_local_role = "dm" if $JoinPanel/RoleOption.selected == 1 else "player"
|
||||
_pending_player_name = player_name
|
||||
NetworkManager.join_server("127.0.0.1", 4242)
|
||||
|
||||
|
||||
func _on_connected() -> void:
|
||||
NetworkManager.register.rpc_id(1, _pending_player_name, _local_role)
|
||||
$JoinPanel.visible = false
|
||||
$WaitPanel.visible = true
|
||||
$WaitPanel/StartButton.visible = (_local_role == "dm")
|
||||
|
||||
|
||||
func _on_connection_failed() -> void:
|
||||
push_error("[Lobby] Verbindung fehlgeschlagen")
|
||||
_local_role = ""
|
||||
_pending_player_name = ""
|
||||
|
||||
|
||||
func _on_player_joined(_peer_id: int, _player_name: String, _role: String) -> void:
|
||||
_rebuild_player_list()
|
||||
|
||||
|
||||
func _on_player_left(_peer_id: int) -> void:
|
||||
_rebuild_player_list()
|
||||
|
||||
|
||||
func _rebuild_player_list() -> void:
|
||||
$WaitPanel/PlayerList.clear()
|
||||
for p in NetworkManager.players.values():
|
||||
$WaitPanel/PlayerList.add_item("%s (%s)" % [p.name, p.role])
|
||||
|
||||
|
||||
func _on_start_pressed() -> void:
|
||||
NetworkManager.request_start_game.rpc_id(1)
|
||||
|
||||
|
||||
func _on_game_started() -> void:
|
||||
# Platzhalter: Szenen-Wechsel kommt im nächsten Feature
|
||||
print("[Lobby] Spiel gestartet!")
|
||||
1
ruf-der-pilze/scripts/scene_manager.gd.uid
Normal file
1
ruf-der-pilze/scripts/scene_manager.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bnso80wya18vk
|
||||
1
ruf-der-pilze/scripts/tavern.gd.uid
Normal file
1
ruf-der-pilze/scripts/tavern.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://body4kd5nok48
|
||||
Reference in New Issue
Block a user