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); } } }
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); } } }
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*/); }
private void Start() { damage = GetComponentInParent <ZombieDef>().damage; _parent = GetComponentInParent <ZombieDef>(); }
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; } } }