private void SetZombieDestination(int spawnerID, int zombieID) { ZombieDestinationEV zombieDestination = entityViewsDB.QueryEntityViews <ZombieDestinationEV>()[0]; ZombieEV zombie = entityViewsDB.QueryEntityView <ZombieEV>(zombieID); zombie.movementComponent.navMeshEnabled = true; zombie.movementComponent.navMeshDestination = zombieDestination.positionComponent.position; zombie.triggerComponent.triggeredAgainstTarget.NotifyOnValueSet(OnStopMovemement); zombie.deathComponent.isAlive.NotifyOnValueSet(OnZombieDeath); }
private IEnumerator DealDamage(int zombieID) { ZombieEV zombie = entityViewsDB.QueryEntityView <ZombieEV>(zombieID); zombie.soundComponent.clipToPlay = SoundType.ZOMBIE_ATTACK; while (zombie.deathComponent.isAlive.value) { ZombieDestinationEV zombieDestination = entityViewsDB.QueryEntityViews <ZombieDestinationEV>()[0]; zombieDestination.healthComponent.currentHealth.value -= m_Time.deltaTime * zombie.attackComponent.damagePerFrame; yield return(null); } zombie.soundComponent.isPlaying = false; }