Example #1
0
    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);
    }
Example #2
0
    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;
    }