22 lines
1.5 KiB
Markdown
22 lines
1.5 KiB
Markdown
|
|
# Technical Summary - HALLUCINATE Project
|
||
|
|
|
||
|
|
## Overview
|
||
|
|
Project HALLUCINATE is a Unity-based multiplayer game utilizing **Photon Fusion** for networking and **UI Toolkit** for front-end management. Recent development has concentrated on the core networking infrastructure and the lobby system.
|
||
|
|
|
||
|
|
## Modified Files
|
||
|
|
- `Assets/Scripts/Network/BasicSpawner.cs`: Centralized `NetworkRunner` management, handling session creation, joining, and player profile initialization.
|
||
|
|
- `Assets/Scripts/UI/LobbyController.cs`: UI logic for room management, password protection, and lounge interactions.
|
||
|
|
- `Assets/Scripts/Player Controller/PlayerStateMachine.cs`: Core player logic (referenced in memory).
|
||
|
|
|
||
|
|
## Key Logic & Decisions
|
||
|
|
- **Network Architecture**: Singleton `BasicSpawner` manages the Fusion runner lifecycle. Session joining uses `SessionLobby.ClientServer`.
|
||
|
|
- **UI Architecture**: `LobbyController` inherits from a base UI class and uses direct `VisualElement` queries for dynamic UI updates (UXML/USS).
|
||
|
|
- **Security**: Implementation of session passwords via custom properties in Photon sessions.
|
||
|
|
- **State Sync**: Player status (Ready/Start) and lounge info are synchronized between clients, likely via `PlayerDataManager`.
|
||
|
|
|
||
|
|
## Next Steps
|
||
|
|
- [ ] Verify RPC/SyncVar logic in `LobbyController.cs`.
|
||
|
|
- [ ] Connect `PlayerStateMachine` to the spawning flow in `BasicSpawner`.
|
||
|
|
- [ ] Implement/Finalize the chat system within the lobby lounge.
|
||
|
|
- [ ] Ensure all scene transitions (Main Scene) are robust.
|