| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- ╔═══════════════════════════════════════════════════════════════════════════════╗
- ║ 🎮 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!
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|