/# 🌑 PROJECT HALLUCINATE - AI Instructions Đây là file hướng dẫn dành cho Gemini CLI để hiểu bối cảnh và quy chuẩn của dự án HALLUCINATE. ## 🛠 Stack Kỹ thuật - **Engine:** Unity 6 (6000.3.10f1 LTS) - **Networking:** Photon Fusion (State Sync, Client-Side Prediction) - **Render Pipeline:** Universal Render Pipeline (URP) - **Architecture:** State Machine (Player), Interface-based Interaction (`IInteractable`). ## 📂 Quy chuẩn Cấu trúc Thư mục Tuân thủ nghiêm ngặt cấu trúc: - `Assets/Scripts/GameSetup/Maze/`: Các thuật toán tạo mê cung. - `Assets/Scripts/Player Controller/`: Logic di chuyển và State Machine của người chơi. - `Assets/Scripts/UI/`: Logic giao diện và Lobby. - `Assets/Scripts/Fusion/`: Các script liên quan đến Network và Spawner. ## 📜 Quy ước Coding & Logic 1. **Networking:** - Luôn sử dụng `FixedUpdateNetwork` thay vì `Update/FixedUpdate` cho các logic cần đồng bộ. - Sử dụng thuộc tính `[Networked]` cho các biến cần đồng bộ trạng thái. - Ưu tiên Client-Side Prediction và Reconciliation. 2. **Character Control:** - Sử dụng State Machine để quản lý trạng thái di chuyển (Idle, Move, Sprint, Jump, Dash). - Camera Dynamics (Shake, FOV Kick) phải được xử lý mượt mà. 3. **Interactions:** - Mọi vật thể có thể tương tác phải kế thừa từ `IInteractable` hoặc `BaseInteractable`. 4. **Formatting:** - Luôn sử dụng PascalCase cho tên Method và Class. - camelCase cho biến private/local. ## 🤖 Chỉ thị cho AI - **Phản hồi:** Ngắn gọn, súc tích, đi thẳng vào vấn đề kỹ thuật. - **An toàn:** Không bao giờ tự ý commit code trừ khi được yêu cầu rõ ràng. - **Tự động hóa:** Luôn cập nhật `MEMORY.md` sau mỗi thay đổi lớn hoặc khi kết thúc phiên làm việc.