Adding flying functionality for enemies
This commit is contained in:
parent
54f11d91ff
commit
d685894878
6 changed files with 83 additions and 26 deletions
|
|
@ -421,7 +421,17 @@ namespace TD.Gameplay
|
|||
if (zHalfExtent > 0f)
|
||||
spawnPos.z += Random.Range(-zHalfExtent, zHalfExtent);
|
||||
|
||||
var go = Instantiate(def.EnemyPrefab, spawnPos, Quaternion.identity);
|
||||
// Flying enemies spawn elevated so they visually soar over towers. The
|
||||
// movement code preserves Y per-frame, so this height persists for the
|
||||
// enemy's whole flight. NetworkTransform replicates the raised position.
|
||||
Vector3 spawnPos = GridCoordinates.GridToWorld(spawnerTile);
|
||||
if (def.IsFlying)
|
||||
spawnPos.y += def.FlightHeight;
|
||||
|
||||
var go = Instantiate(
|
||||
def.EnemyPrefab,
|
||||
spawnPos,
|
||||
Quaternion.identity);
|
||||
|
||||
var health = go.GetComponent<EnemyHealth>();
|
||||
var movement = go.GetComponent<EnemyMovement>();
|
||||
|
|
@ -435,7 +445,7 @@ namespace TD.Gameplay
|
|||
}
|
||||
|
||||
health.InitializeServer(def.MaxHp, def.LivesCost, def.IsFlying);
|
||||
movement.InitializeServer(def.MoveSpeed, spawnerTile, ownerSlot);
|
||||
movement.InitializeServer(def.MoveSpeed, spawnerTile, ownerSlot, def.IsFlying);
|
||||
|
||||
health.OnDied += HandleEnemyKilled;
|
||||
movement.OnZoneLeaked += HandleZoneLeak;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue