Files
AppleHillsProduction/docs/airplane_abilities_unity_quickstart.md

212 lines
4.6 KiB
Markdown
Raw Normal View History

2025-12-07 20:34:12 +01:00
# Airplane Abilities - Unity Setup Quick Reference
**⚡ Fast setup guide for in-engine configuration**
---
## 🎯 7 Steps to Complete Setup
### **1⃣ CREATE ABILITIES** (3 assets)
```
Project Window → Right-Click → Create → AppleHills → Airplane → Abilities
```
| Asset | Name | Cooldown | Key Values |
|-------|------|----------|------------|
| Jet | `JetAbility` | 5s | Speed: 15, Angle: 0 |
| Bobbing | `BobbingAbility` | 3s | Jump: 10, Speed Reduction: 0.7 |
| Drop | `DropAbility` | 4s | Force: 20, Distance: 5 |
✅ Assign icon sprites to each
---
### **2⃣ CREATE AIRPLANE TYPES** (3 assets)
```
Project Window → Right-Click → Create → AppleHills → Airplane → Airplane Type
```
| Type | Name | Display Name | Ability |
|------|------|--------------|---------|
| Jet | `JetPlaneType` | "Jet Plane" | JetAbility |
| Bobbing | `BobbingPlaneType` | "Bobbing Plane" | BobbingAbility |
| Drop | `DropPlaneType` | "Drop Plane" | DropAbility |
✅ Assign prefabs and preview sprites
---
### **3⃣ BUILD SELECTION UI**
**Hierarchy Path**: `Canvas/AirplaneSelectionPanel`
```
AirplaneSelectionPanel (+ AirplaneSelectionUI component)
├── TitleText ("Choose Your Airplane")
├── JetPlaneButton
├── BobbingPlaneButton
├── DropPlaneButton
└── ConfirmButton
```
**Component Setup**:
- Assign 3 button references
- Assign 3 airplane type assets
- Selected Color: Yellow
- Normal Color: White
-**Start inactive**
---
### **4⃣ BUILD ABILITY BUTTON**
**Hierarchy Path**: `Canvas/GameplayUI/AbilityButton`
```
AbilityButton (+ AirplaneAbilityButton component)
├── Background (Image)
├── AbilityIcon (Image - dynamic)
├── CooldownFill (Image - Radial 360)
└── CooldownText (TextMeshPro - optional)
```
**Component Setup**:
- Assign Button, Icon, Fill, Text
- Ready: White, Cooldown: Gray, Active: Yellow
-**Start inactive**
---
### **5⃣ WIRE GAME MANAGER**
**GameObject**: `AirplaneGameManager`
**New References**:
- Selection UI → AirplaneSelectionPanel
- Ability Button → AbilityButton
✅ Verify existing references still assigned
---
### **6⃣ UPDATE SETTINGS**
**Asset**: `AirplaneSettings` (existing)
**New Field**:
- Default Airplane Type → Assign `JetPlaneType`
---
### **7⃣ TEST IN PLAY MODE**
**Quick Test**:
1. ▶️ Play
2. Selection UI appears
3. Click airplane → Confirm
4. Airplane spawns at slingshot
5. Launch and use ability
6. Button shows cooldown
**If all works, you're done!**
---
## 🎨 UI LAYOUT TIPS
### Selection Panel Position:
- Center screen
- Width: 80% of screen
- Background: Semi-transparent dark
- Buttons: Horizontal layout, equal spacing
### Ability Button Position:
- Bottom-right corner
- Size: 80x80 pixels
- Margin: 20px from edges
- Z-order: On top of everything
---
## ⚡ FAST TESTING
### Test Jet (Hold):
1. Launch airplane
2. **Click and hold** ability button
3. Airplane flies straight
4. **Release** → Stops
### Test Bobbing (Tap):
1. Launch airplane
2. **Tap** ability button
3. Airplane jumps up
4. Wait for cooldown
5. Tap again
### Test Drop (Tap):
1. Launch airplane
2. **Tap** ability button
3. Airplane drops down
4. Stops after distance
---
## 🐛 COMMON ISSUES
| Problem | Fix |
|---------|-----|
| Selection UI doesn't show | Check it's assigned in GameManager |
| Button doesn't appear | Check airplane has ability assigned |
| Hold doesn't work | Check InputManager exists in scene |
| Airplane doesn't spawn | Check TypeData has prefab assigned |
| Cooldown doesn't show | Check Fill image is assigned and Radial 360 |
---
## 📱 MOBILE TESTING
1. Build to device
2. Test touch hold (Jet ability)
3. Test tap (Bobbing/Drop)
4. Verify button size is thumb-friendly
5. Check cooldown is visible
---
## ✅ COMPLETE CHECKLIST
**Settings:**
- [ ] Configured all 3 airplane types in settings
- [ ] Assigned all prefabs and sprites
- [ ] Set default airplane type
**UI:**
- [ ] Built selection UI panel
- [ ] Built ability button UI
- [ ] Assigned button references (NO type assets!)
- [ ] Assigned GameManager references
**Testing:**
- [ ] Selection UI appears and works
- [ ] Tested Jet ability (hold)
- [ ] Tested Bobbing ability (tap)
- [ ] Tested Drop ability (tap)
- [ ] All cooldowns work
- [ ] No console errors
**When all checked → Ship it! 🚀**
---
## 🎉 ADVANTAGES
**NO ScriptableObject assets to create!**
**Everything in one settings file**
**Faster setup** (3 steps vs 7)
**Easier to maintain**
**Collapsible Inspector sections**
**Runtime ability creation from config**