public virtual void Damage(float dmg) { if (currHealth - dmg <= 0) { if (!rezzed) { ga = GameObject.FindGameObjectWithTag("GameAdmin").GetComponent <GameAdmin>(); string type = gameObject.GetComponent <Troop>().name; Vector2 pos = new Vector2(gameObject.GetComponent <Troop>().transform.position.x, gameObject.GetComponent <Troop>().transform.position.y); Vector2 dir = new Vector2(gameObject.GetComponent <Troop>().direction.x, gameObject.GetComponent <Troop>().direction.y); TroopCopy tp = new TroopCopy(type, pos, dir); ga.deadTroops.Add(tp); } Instantiate(deathParticle, transform.position, transform.rotation); Destroy(gameObject); } currHealth -= dmg; }
public override void Damage(float dmg) { if (currHealth - dmg <= 0) { if (!rezzed) { string type = gameObject.GetComponent <Troop>().name; Vector2 pos = new Vector2(gameObject.GetComponent <Troop>().transform.position.x, gameObject.GetComponent <Troop>().transform.position.y); Vector2 dir = new Vector2(gameObject.GetComponent <Troop>().direction.x, gameObject.GetComponent <Troop>().direction.y); TroopCopy tp = new TroopCopy(type, pos, dir); ga.deadTroops.Add(tp); } PlayerPrefs.SetInt("troops_killed", PlayerPrefs.GetInt("troops_killed") + 1); PlayerPrefs.SetInt("dp_score", PlayerPrefs.GetInt("dp_score") + 100); PlayerPrefs.SetInt("dp_money", PlayerPrefs.GetInt("dp_money") + 50); gameObject.GetComponent <SpriteRenderer>().color = new Color(77.0f / 255.0f, 77.0f / 255.0f, 77.0f / 255.0f); } currHealth -= dmg; }
public override void Damage(float dmg) { if (currHealth - dmg <= 0) { if (!rezzed) { string type = gameObject.GetComponent <Troop>().name; Vector2 pos = new Vector2(gameObject.GetComponent <Troop>().transform.position.x, gameObject.GetComponent <Troop>().transform.position.y); Vector2 dir = new Vector2(gameObject.GetComponent <Troop>().direction.x, gameObject.GetComponent <Troop>().direction.y); TroopCopy tp = new TroopCopy(type, pos, dir); ga.deadTroops.Add(tp); } Instantiate(deathParticle, transform.position, transform.rotation); Destroy(gameObject); PlayerPrefs.SetInt("troops_killed", PlayerPrefs.GetInt("troops_killed") + 1); PlayerPrefs.SetInt("dp_money", PlayerPrefs.GetInt("dp_money") + 5); ga.userTroopAlive = false; } currHealth -= dmg; }
// Update is called once per frame void Update() { // creating turrets if ((Input.GetKeyDown(KeyCode.Alpha1)) && (currIntervals[0] == spawnIntervals[0]) && troop_buttons[0].interactable) { currIntervals[0] = 0; Instantiate(troops[0], new Vector2(troopEntryPoint.position.x, troopEntryPoint.position.y), troopEntryPoint.rotation); PlayerPrefs.SetInt("troops_sent", PlayerPrefs.GetInt("troops_sent") + 1); PlayerPrefs.SetInt("ap_money", PlayerPrefs.GetInt("ap_money") - ga.troop_costs[0]); } else if ((Input.GetKeyDown(KeyCode.Alpha2)) && (currIntervals[1] == spawnIntervals[1]) && troop_buttons[1].interactable) { currIntervals[1] = 0; Instantiate(troops[1], new Vector2(troopEntryPoint.position.x, troopEntryPoint.position.y), troopEntryPoint.rotation); PlayerPrefs.SetInt("troops_sent", PlayerPrefs.GetInt("troops_sent") + 1); PlayerPrefs.SetInt("ap_money", PlayerPrefs.GetInt("ap_money") - ga.troop_costs[1]); } else if ((Input.GetKeyDown(KeyCode.Alpha3)) && (currIntervals[2] == spawnIntervals[2]) && troop_buttons[2].interactable) { currIntervals[2] = 0; Instantiate(troops[2], new Vector2(troopEntryPoint.position.x, troopEntryPoint.position.y), troopEntryPoint.rotation); PlayerPrefs.SetInt("troops_sent", PlayerPrefs.GetInt("troops_sent") + 1); PlayerPrefs.SetInt("ap_money", PlayerPrefs.GetInt("ap_money") - ga.troop_costs[2]); } else if ((Input.GetKeyDown(KeyCode.Alpha4)) && (currIntervals[3] == spawnIntervals[3]) && troop_buttons[3].interactable) { currIntervals[3] = 0; Instantiate(troops[3], new Vector2(troopEntryPoint.position.x, troopEntryPoint.position.y), troopEntryPoint.rotation); PlayerPrefs.SetInt("troops_sent", PlayerPrefs.GetInt("troops_sent") + 1); PlayerPrefs.SetInt("ap_money", PlayerPrefs.GetInt("ap_money") - ga.troop_costs[3]); } else if ((Input.GetKeyDown(KeyCode.Alpha5)) && (currIntervals[4] == spawnIntervals[4]) && troop_buttons[4].interactable) { if (!ga.userTroopAlive) { currIntervals[4] = 0; Instantiate(troops[4], new Vector2(troopEntryPoint.position.x, troopEntryPoint.position.y), troopEntryPoint.rotation); PlayerPrefs.SetInt("troops_sent", PlayerPrefs.GetInt("troops_sent") + 1); PlayerPrefs.SetInt("ap_money", PlayerPrefs.GetInt("ap_money") - ga.troop_costs[4]); ga.userTroopAlive = true; } } else if ((Input.GetKeyDown(KeyCode.Alpha6)) && (currIntervals[5] == spawnIntervals[5]) && troop_buttons[5].interactable) { currIntervals[5] = 0; Instantiate(troops[5], new Vector2(troopEntryPoint.position.x, troopEntryPoint.position.y), troopEntryPoint.rotation); PlayerPrefs.SetInt("troops_sent", PlayerPrefs.GetInt("troops_sent") + 1); PlayerPrefs.SetInt("ap_money", PlayerPrefs.GetInt("ap_money") - ga.troop_costs[5]); } // flipping turrets if (Input.GetKeyDown(KeyCode.F)) { if (ga.holding_turret) { if (ga.curr_turret_held.transform.rotation.z == 0) { ga.curr_turret_held.transform.rotation = Quaternion.Euler(new Vector3(0, 0, 90)); } else { ga.curr_turret_held.transform.rotation = Quaternion.Euler(new Vector3(0, 0, 0)); } } } for (int i = 0; i < 4; i++) { if (currIntervals [i] != spawnIntervals[i]) { currIntervals [i] = currIntervals [i] + 1; } } // Attacking Player Skills if (Input.GetKeyDown(KeyCode.Comma) && speedup_button.interactable) { speedupSound.Play(); PlayerPrefs.SetInt("ap_money", PlayerPrefs.GetInt("ap_money") - speedup_cost); GameObject[] allObjects = UnityEngine.Object.FindObjectsOfType <GameObject>(); for (int i = 0; i < allObjects.Length; i++) { GameObject obj = allObjects[i]; if (obj.activeInHierarchy && obj.CompareTag("Troop")) { obj.GetComponent <Troop>().speedMult += 0.5f; } } ga.speedUpButtonPressed = true; speedup_button.interactable = false; } if (Input.GetKeyDown(KeyCode.Period) && rez_button.interactable && ga.deadTroops.Count > 0) { rezSound.Play(); PlayerPrefs.SetInt("ap_money", PlayerPrefs.GetInt("ap_money") - rez_cost); TroopCopy tp = ga.deadTroops[ga.deadTroops.Count - 1]; Troop newTroop = null; if (tp.type.Contains("SquareTroop")) { newTroop = Instantiate(troops[0], tp.position, troopEntryPoint.rotation); } else if (tp.type.Contains("ContainerTroop")) { newTroop = Instantiate(troops[3], tp.position, troopEntryPoint.rotation); } else if (tp.type.Contains("InsideContainerTroop")) { newTroop = Instantiate(insideTroop, tp.position, troopEntryPoint.rotation); } else if (tp.type.Contains("FastTroop")) { newTroop = Instantiate(troops[1], tp.position, troopEntryPoint.rotation); } else if (tp.type.Contains("ParalyzeTroop")) { newTroop = Instantiate(troops[5], tp.position, troopEntryPoint.rotation); } else if (tp.type.Contains("SlowTroop")) { newTroop = Instantiate(troops[2], tp.position, troopEntryPoint.rotation); } else if (tp.type.Contains("UserTroop")) { newTroop = Instantiate(troops[4], tp.position, troopEntryPoint.rotation); } newTroop.rezzed = true; ga.rezButtonPressed = true; rez_button.interactable = false; // clear list ga.deadTroops = new List <TroopCopy>(); } }