Ejemplo n.º 1
0
 private void Scare()
 {
     Collider2D[] colliders = Physics2D.OverlapCircleAll(gameObject.transform.position, scare_range);
     foreach (Collider2D nearbyObject in colliders)
     {
         ZombieDef zombie = nearbyObject.transform.GetComponent <ZombieDef>();
         if (zombie != null)
         {
             zombie.GetSpooky(scare_Time);
         }
     }
 }
Ejemplo n.º 2
0
 private void Nuke(float range, int damage)
 {
     Collider2D[] colliders = Physics2D.OverlapCircleAll(gameObject.transform.position, range);
     foreach (Collider2D nearbyObject in colliders)
     {
         ZombieDef zombie = nearbyObject.transform.GetComponent <ZombieDef>();
         if (zombie != null)
         {
             zombie.TakeDamage(damage);
         }
     }
 }
Ejemplo n.º 3
0
    public void SaveData(Direction direction)
    {
        GameObject player = GameObject.FindGameObjectWithTag("Player");

        health        = player.GetComponent <PlayerMovement>().health;
        ammo          = player.GetComponentInChildren <WeaponDef>().ammo;
        currentWeapon = player.GetComponentInChildren <WeaponMenager>().currentWeapon;
        //get stats from origin zombie
        zombieDef            = GameObject.FindGameObjectWithTag("OriginZombie").GetComponent <ZombieDef>();
        zombieScore_current  = zombieDef.score;
        zombieDamage_current = zombieDef.damage;
        zombieHealth_current = zombieDef.health;
        zombieSpeed_current  = zombieDef.speed;
        //get stats from zombie spawner
        ZombieSpawner zombieSpawner = FindObjectOfType <ZombieSpawner>();

        zombieCounter_current = zombieSpawner.zombieCounter;
        timeBetwSpawn_current = zombieSpawner.timeBetwSpawn;
        //save
        FindObjectOfType <SaveData>().setData(currentLevel, health, ammo, scoreOverall, currentWeapon, direction /*, zombieScore_Current, zombieDamage_current, zombieHealth_current, zombieSpeed_current, zombieCounter_current, timeBetwSpawn_current*/);
    }
Ejemplo n.º 4
0
 private void Start()
 {
     damage  = GetComponentInParent <ZombieDef>().damage;
     _parent = GetComponentInParent <ZombieDef>();
 }
Ejemplo n.º 5
0
    public void LoadData()
    {
        SaveData sd = FindObjectOfType <SaveData>();

        //multiply stats
        currentLevel          = sd.lastLevel + 1;
        zombieScore_current   = 10;
        zombieDamage_current  = (int)(10f + ((1f - (15f / ((float)currentLevel + 15f))) * (35f - 10f)));
        zombieHealth_current  = (int)(10f + ((1f - (15f / ((float)currentLevel + 15f))) * (35f - 10f)));
        zombieSpeed_current   = (1.6f + ((1.0f - (5.0f / ((float)currentLevel + 5.0f))) * (2.5f - 1.6f)));
        zombieCounter_current = (int)(10f + ((1f - (35f / ((float)currentLevel + 35f))) * (200f - 10f)));
        timeBetwSpawn_current = (1f + ((1f - (15f / ((float)currentLevel + 15f))) * (0.4f - 1f)));

        levelText.text = "Level " + currentLevel;

        GameObject player = GameObject.FindGameObjectWithTag("Player");

        player.GetComponent <PlayerMovement>().health = sd.health;
        scoreOverall      = sd.score;
        scoreText.text    = "" + scoreOverall;
        endScoreText.text = "" + scoreOverall;
        player.GetComponentInChildren <WeaponMenager>().ChangeWeapon(sd.currentWeapon);
        player.GetComponentInChildren <WeaponDef>().ammo = sd.ammo;
        if (GameObject.Find("Weapon").GetComponent <Text>().text != "AK-47")
        {
            SetAmmo(sd.ammo + "");
        }
        //load stats into origin zombie
        ZombieDef zombieDef = GameObject.FindGameObjectWithTag("OriginZombie").GetComponent <ZombieDef>();

        zombieDef.score  = zombieScore_current;
        zombieDef.damage = zombieDamage_current;
        zombieDef.health = zombieHealth_current;
        zombieDef.speed  = zombieSpeed_current;
        //assign buffed orgin zombie to spawner
        FindObjectOfType <ZombieSpawner>().enemy = GameObject.FindGameObjectWithTag("OriginZombie");
        //loead stats into zombie spawner
        ZombieSpawner zombieSpawner = FindObjectOfType <ZombieSpawner>();

        zombieSpawner.zombieCounter = zombieCounter_current;
        zombieSpawner.timeBetwSpawn = timeBetwSpawn_current;

        if (sd.lastLevel == 0)
        {
            player.transform.position = Vector3.zero;
        }
        else
        {
            switch (sd.direction)
            {
            case Direction.N:
                player.transform.position = PlayerSpawnPoints[2].position;
                exitBox[2].SetActive(true);
                Destroy(GameObject.Find("Exit_S"));
                break;

            case Direction.E:
                player.transform.position = PlayerSpawnPoints[3].position;
                exitBox[1].SetActive(true);
                Destroy(GameObject.Find("Exit_W"));
                break;

            case Direction.S:
                player.transform.position = PlayerSpawnPoints[0].position;
                exitBox[3].SetActive(true);
                Destroy(GameObject.Find("Exit_N"));
                break;

            case Direction.W:
                player.transform.position = PlayerSpawnPoints[1].position;
                exitBox[0].SetActive(true);
                Destroy(GameObject.Find("Exit_E"));
                break;

            default:
                break;
            }
        }
    }