|
|
@@ -1,249 +0,0 @@
|
|
|
-╔═══════════════════════════════════════════════════════════════════════════════╗
|
|
|
-║ 🎮 RESPAWN SYSTEM - QUICK START GUIDE 🎮 ║
|
|
|
-║ Get Running in 5 Minutes! ║
|
|
|
-╚═══════════════════════════════════════════════════════════════════════════════╝
|
|
|
-
|
|
|
-📍 STEP 1: CREATE 3 GAMEOBJECTS IN YOUR SCENE
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|
|
|
-In Unity Hierarchy, RIGHT-CLICK → Create Empty:
|
|
|
-
|
|
|
-┌─────────────────────────────────────────────────────────────────────────────┐
|
|
|
-│ GameObject #1: "GameManager" │
|
|
|
-├─────────────────────────────────────────────────────────────────────────────┤
|
|
|
-│ 1. Create Empty GameObject │
|
|
|
-│ 2. Rename to "GameManager" │
|
|
|
-│ 3. Add Component → GameManager.cs │
|
|
|
-│ 4. In Inspector, assign these references: │
|
|
|
-│ • Cohesion Manager: [Drag from scene] │
|
|
|
-│ • Checkpoint System: [Drag CheckpointSystem GameObject] │
|
|
|
-│ • Death Screen UI: [Drag DeathScreenUI GameObject] │
|
|
|
-│ • Player Movement: [Drag Player → GridMovement component] │
|
|
|
-│ │
|
|
|
-│ 5. Leave settings at defaults (or customize): │
|
|
|
-│ • Death Delay: 2 │
|
|
|
-│ • Respawn Fade Time: 1 │
|
|
|
-│ • Reset Monsters On Respawn: ☐ (unchecked) │
|
|
|
-└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
-
|
|
|
-┌─────────────────────────────────────────────────────────────────────────────┐
|
|
|
-│ GameObject #2: "CheckpointSystem" │
|
|
|
-├─────────────────────────────────────────────────────────────────────────────┤
|
|
|
-│ 1. Create Empty GameObject │
|
|
|
-│ 2. Rename to "CheckpointSystem" │
|
|
|
-│ 3. Add Component → CheckpointSystem.cs │
|
|
|
-│ 4. In Inspector, assign: │
|
|
|
-│ • Cohesion Manager: [Drag from scene] │
|
|
|
-│ • Player Transform: [Drag Player GameObject] │
|
|
|
-│ • Player Movement: [Drag Player → GridMovement component] │
|
|
|
-│ │
|
|
|
-│ 5. Settings (defaults are fine): │
|
|
|
-│ • Auto Save On Checkpoint: ☑ (checked) │
|
|
|
-│ • Checkpoint Radius: 3 │
|
|
|
-└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
-
|
|
|
-┌─────────────────────────────────────────────────────────────────────────────┐
|
|
|
-│ GameObject #3: "DeathScreenUI" │
|
|
|
-├─────────────────────────────────────────────────────────────────────────────┤
|
|
|
-│ 1. Create Empty GameObject │
|
|
|
-│ 2. Rename to "DeathScreenUI" │
|
|
|
-│ 3. Add Component → DeathScreenUI.cs │
|
|
|
-│ 4. NO REFERENCES NEEDED! (Auto-creates UI) │
|
|
|
-│ │
|
|
|
-│ 5. Optional: Customize death messages in Inspector array │
|
|
|
-└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
-
|
|
|
-📍 STEP 2: ENSURE PLAYER HAS CORRECT TAG
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|
|
|
-┌─────────────────────────────────────────────────────────────────────────────┐
|
|
|
-│ ⚠️ CRITICAL: Player GameObject MUST have "Player" tag │
|
|
|
-├─────────────────────────────────────────────────────────────────────────────┤
|
|
|
-│ 1. Select your Player GameObject in Hierarchy │
|
|
|
-│ 2. In Inspector, find "Tag" dropdown at the top │
|
|
|
-│ 3. Select "Player" from dropdown │
|
|
|
-│ │
|
|
|
-│ If "Player" tag doesn't exist: │
|
|
|
-│ 1. Click "Add Tag..." │
|
|
|
-│ 2. Click "+" button │
|
|
|
-│ 3. Type "Player" │
|
|
|
-│ 4. Go back to Player GameObject and assign the tag │
|
|
|
-└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
-
|
|
|
-📍 STEP 3: ADD TEST TOOL (OPTIONAL BUT RECOMMENDED)
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|
|
|
-┌─────────────────────────────────────────────────────────────────────────────┐
|
|
|
-│ Testing Tool: RespawnSystemTester.cs │
|
|
|
-├─────────────────────────────────────────────────────────────────────────────┤
|
|
|
-│ 1. Select ANY GameObject in your scene (or create "TestTools") │
|
|
|
-│ 2. Add Component → RespawnSystemTester.cs │
|
|
|
-│ 3. References auto-find themselves! │
|
|
|
-│ │
|
|
|
-│ Now you can test with keyboard: │
|
|
|
-│ • Press K = Kill all party members │
|
|
|
-│ • Press H = Damage party by 20 HP │
|
|
|
-│ • Press P = Save checkpoint │
|
|
|
-│ • Press R = Force respawn │
|
|
|
-│ • Press F1 = Toggle debug UI │
|
|
|
-└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
-
|
|
|
-📍 STEP 4: TEST IT!
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|
|
|
-┌─────────────────────────────────────────────────────────────────────────────┐
|
|
|
-│ Testing Sequence │
|
|
|
-├─────────────────────────────────────────────────────────────────────────────┤
|
|
|
-│ 1. Press PLAY in Unity │
|
|
|
-│ 2. Wait 2-3 seconds (initial checkpoint saves automatically) │
|
|
|
-│ 3. Check Console for: "[GameInitializer] Initial checkpoint saved" │
|
|
|
-│ 4. Press K key to kill party (or let monsters kill you) │
|
|
|
-│ 5. Watch the sequence: │
|
|
|
-│ → Screen fades to black │
|
|
|
-│ → Death screen appears │
|
|
|
-│ → "RESPAWN" button shows │
|
|
|
-│ 6. Click RESPAWN button │
|
|
|
-│ 7. Party respawns at starting position, fully healed! │
|
|
|
-│ │
|
|
|
-│ ✅ If this works, your system is fully operational! │
|
|
|
-└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
-
|
|
|
-📍 OPTIONAL: ADD CHECKPOINT ZONES
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|
|
|
-┌─────────────────────────────────────────────────────────────────────────────┐
|
|
|
-│ Create Checkpoint Trigger Zones │
|
|
|
-├─────────────────────────────────────────────────────────────────────────────┤
|
|
|
-│ 1. Create Empty GameObject at checkpoint location │
|
|
|
-│ 2. Name it "Checkpoint_Entrance" (or descriptive name) │
|
|
|
-│ 3. Add Component → Box Collider │
|
|
|
-│ • Mark "Is Trigger" checkbox │
|
|
|
-│ • Set Size: X=5, Y=3, Z=5 (or as needed) │
|
|
|
-│ 4. Add Component → CheckpointTrigger.cs │
|
|
|
-│ 5. Configure in Inspector: │
|
|
|
-│ • Show Visual Feedback: ☑ │
|
|
|
-│ • One Time Use: ☑ │
|
|
|
-│ • Checkpoint Message: "Safe Zone Reached" │
|
|
|
-│ │
|
|
|
-│ Yellow wireframe cube shows checkpoint location in Scene view! │
|
|
|
-│ │
|
|
|
-│ Create multiple checkpoints throughout your dungeon! │
|
|
|
-└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
-
|
|
|
-📋 FINAL CHECKLIST
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|
|
|
-Before Playing:
|
|
|
-☐ GameManager GameObject exists with script attached
|
|
|
-☐ CheckpointSystem GameObject exists with script attached
|
|
|
-☐ DeathScreenUI GameObject exists with script attached
|
|
|
-☐ All references assigned in GameManager Inspector
|
|
|
-☐ All references assigned in CheckpointSystem Inspector
|
|
|
-☐ Player GameObject has "Player" tag
|
|
|
-☐ RespawnSystemTester added (optional)
|
|
|
-☐ Console shows no errors
|
|
|
-
|
|
|
-Testing Works When:
|
|
|
-☐ Pressing K kills all party members
|
|
|
-☐ Death screen appears after 2 seconds
|
|
|
-☐ Screen fades to black smoothly
|
|
|
-☐ Respawn button is clickable
|
|
|
-☐ Party respawns at checkpoint with full HP
|
|
|
-☐ All character UI cards recreated
|
|
|
-☐ Player can move again after respawn
|
|
|
-
|
|
|
-🎯 YOUR SCENE HIERARCHY SHOULD LOOK LIKE:
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|
|
|
-Scene
|
|
|
-├── 🎮 GameManager ← GameManager.cs
|
|
|
-├── 💾 CheckpointSystem ← CheckpointSystem.cs
|
|
|
-├── 💀 DeathScreenUI ← DeathScreenUI.cs
|
|
|
-├── 🧪 TestTools ← RespawnSystemTester.cs (optional)
|
|
|
-├── 🏃 Player
|
|
|
-│ ├── GridMovement
|
|
|
-│ └── [Other components]
|
|
|
-├── 👥 TeamCohesionManager
|
|
|
-├── 🎨 Canvas
|
|
|
-│ └── PartyUIManager
|
|
|
-├── 🏰 Dungeon
|
|
|
-│ ├── 📍 Checkpoint_Entrance ← CheckpointTrigger.cs (optional)
|
|
|
-│ ├── 📍 Checkpoint_MidLevel ← CheckpointTrigger.cs (optional)
|
|
|
-│ └── 📍 Checkpoint_Boss ← CheckpointTrigger.cs (optional)
|
|
|
-└── 👹 Monsters
|
|
|
-
|
|
|
-🐛 TROUBLESHOOTING
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|
|
|
-❌ Problem: Death screen doesn't appear
|
|
|
-✅ Solution:
|
|
|
- • Check GameManager exists in scene
|
|
|
- • Verify all references assigned in Inspector
|
|
|
- • Look for "[GameManager]" errors in Console
|
|
|
-
|
|
|
-❌ Problem: Party doesn't respawn
|
|
|
-✅ Solution:
|
|
|
- • Wait 2+ seconds after game starts (for initial checkpoint)
|
|
|
- • Check Console for "Initial checkpoint saved" message
|
|
|
- • Verify CheckpointSystem is in scene
|
|
|
-
|
|
|
-❌ Problem: Checkpoints don't trigger
|
|
|
-✅ Solution:
|
|
|
- • Ensure Player has "Player" tag
|
|
|
- • Check BoxCollider "Is Trigger" is checked
|
|
|
- • Make collider larger (5x3x5 recommended)
|
|
|
-
|
|
|
-❌ Problem: References missing in Inspector
|
|
|
-✅ Solution:
|
|
|
- • Make sure all GameObjects exist in scene
|
|
|
- • Drag from Hierarchy into Inspector slots
|
|
|
- • Don't use prefabs, use scene instances
|
|
|
-
|
|
|
-❌ Problem: Console shows errors
|
|
|
-✅ Solution:
|
|
|
- • Read error message (prefixed with system name)
|
|
|
- • Check all scripts compiled successfully
|
|
|
- • Verify GameObject names match exactly:
|
|
|
- "GameManager", "CheckpointSystem", "DeathScreenUI"
|
|
|
-
|
|
|
-🎓 HOW IT WORKS (SIMPLE EXPLANATION)
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|
|
|
-1. CHARACTER DIES → HP = 0
|
|
|
-2. UI CARD REMOVED
|
|
|
-3. SYSTEM CHECKS: "All dead?"
|
|
|
-4. YES → FADE TO BLACK
|
|
|
-5. SHOW DEATH SCREEN
|
|
|
-6. PLAYER CLICKS RESPAWN
|
|
|
-7. LOAD LAST CHECKPOINT
|
|
|
-8. RESTORE PARTY (Full HP/Stamina)
|
|
|
-9. RECREATE UI
|
|
|
-10. FADE IN → PLAY!
|
|
|
-
|
|
|
-💡 TIPS
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|
|
|
-• Initial checkpoint saves 2 seconds after game start
|
|
|
-• Respawn always restores full HP/stamina/mana
|
|
|
-• No items lost on death (simple mode)
|
|
|
-• You can add multiple checkpoint zones
|
|
|
-• Test with RespawnSystemTester before real gameplay
|
|
|
-• All Console logs prefixed with system name for filtering
|
|
|
-
|
|
|
-📚 DOCUMENTATION
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|
|
|
-For detailed information, see:
|
|
|
- 📄 RESPAWN_SYSTEM_SETUP.md - Complete setup guide
|
|
|
- 📄 RESPAWN_SYSTEM_SUMMARY.txt - Feature overview
|
|
|
-
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|
|
|
-That's it! Your respawn system is ready! 🎉
|
|
|
-
|
|
|
-Time to implement: ~5 minutes
|
|
|
-Complexity: Simple
|
|
|
-Impact: Huge player experience improvement!
|
|
|
-
|
|
|
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
-
|