コード例 #1
0
    private bool IsZombie()
    {
        if (zombie == null)
        {
            zombie = GetComponent <ZombieHerbivoreBehaviour>();
        }

        if (zombie == null || !zombie.HasAlreadyTurned)
        {
            return(false);
        }

        return(true);
    }
コード例 #2
0
    private void ShootZombieDisease(Vector3 position)
    {
        RaycastHit2D[] hits = Physics2D.CircleCastAll(position, radius * 2, Vector3.zero);
        foreach (RaycastHit2D hit in hits)
        {
            HerbivoreBehaviour herbivore = hit.collider.GetComponent <HerbivoreBehaviour>();
            if (herbivore == null || herbivore.GetComponent <ZombieHerbivoreBehaviour>() != null)
            {
                continue;
            }

            ZombieHerbivoreBehaviour zombie = herbivore.gameObject.AddComponent <ZombieHerbivoreBehaviour>();
            GameObject diseaseEffect        = Instantiate(diseaseEffectPrefab, hit.collider.transform.position, transform.rotation, hit.collider.transform);
            zombie.DiseaseEffect = diseaseEffect;
        }
    }
コード例 #3
0
ファイル: DeathBehaviour.cs プロジェクト: joelnl/GameJam
    public void Die()
    {
        ZombieHerbivoreBehaviour zombie = GetComponent <ZombieHerbivoreBehaviour>();

        if (zombie != null && !zombie.HasAlreadyTurned)
        {
            zombie.TurnIntoZombie();
            return;
        }

        if (cadaverPrefab != null)
        {
            Instantiate(cadaverPrefab, transform.position, transform.rotation);
        }

        Destroy(gameObject);
    }