private void OnSetupAnimationTriggers(int spawnerID, int zombieID) { ZombieEV zombie = entityViewsDB.QueryEntityView <ZombieEV>(zombieID); zombie.triggerComponent.triggeredAgainstTarget.NotifyOnValueSet(OnBeginAttack); zombie.deathComponent.isAlive.NotifyOnValueSet(OnZombieDeath); }
private void OnZombieSpawned(int spawnerID, int zombieID) { ZombieEV zombie = entityViewsDB.QueryEntityView <ZombieEV>(zombieID); zombie.healthComponent.currentHealth.NotifyOnValueSet(OnZombieDamaged); zombie.deathComponent.isAlive.NotifyOnValueSet(OnZombieDeath); }
private void OnNewZombieSpawned(int spawnerID, int zombieID) { // Update score every time a zombie dies ZombieEV zombie = entityViewsDB.QueryEntityView <ZombieEV>(zombieID); zombie.deathComponent.isAlive.NotifyOnValueSet(OnScoreUpdate); }
private void OnZombieDeath(int zombieID, bool isAlive) { //DealDamage(zombieID).Complete(); ZombieEV zombie = entityViewsDB.QueryEntityView <ZombieEV>(zombieID); zombie.movementComponent.navMeshEnabled = false; }
private void OnStopMovemement(int zombieID, bool triggered) { ZombieEV zombie = entityViewsDB.QueryEntityView <ZombieEV>(zombieID); zombie.movementComponent.navMeshEnabled = false; DealDamage(zombieID).Run(); }
private void OnZombieDamaged(int ID, float currentHealth) { if (currentHealth <= 0) { ZombieEV zombie = entityViewsDB.QueryEntityView <ZombieEV>(ID); zombie.soundComponent.clipToPlay = SoundType.ZOMBIE_DEATH; zombie.deathComponent.isAlive.value = false; zombie.triggerComponent.isActive = false; } }
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; }
private void OnZombieDeath(int ID, bool didDie) { ZombieEV zombie = entityViewsDB.QueryEntityView <ZombieEV>(ID); zombie.animationComponent.trigger = "deathTrigger"; }
private void OnBeginAttack(int ID, bool didTrigger) { ZombieEV zombie = entityViewsDB.QueryEntityView <ZombieEV>(ID); zombie.animationComponent.trigger = "attackTrigger"; }