using System.Collections; using System.Collections.Generic; using UnityEngine; //include textmeshpro using TMPro; public class enemykiller : MonoBehaviour { // Start is called before the first frame update //get textmeshpro text public TextMeshProUGUI text; public ParticleSystem part; public List collisionEvents; public int score = 0; public int highscore = 0; public int lives = 12; void Start() { part = GetComponent(); collisionEvents = new List(); } // Update is called once per frame void Update() { if (lives <= 0) { text.text = "GAME OVER"; } else { text.text = "Score: " + score + "\nHighscore: " + highscore + "\nLives: " + lives + "\nKings remaining: " + GameObject.FindGameObjectsWithTag("king").Length + "\nEnemies remaining: " + GameObject.FindGameObjectsWithTag("enemy").Length;; } } //on particle coolision void OnParticleCollision(GameObject otherx) { int numCollisionEvents = part.GetCollisionEvents(otherx, collisionEvents); int i = 0; while (i < numCollisionEvents) { GameObject other = collisionEvents[i].colliderComponent.gameObject; //check if object exists if (other == null) { i++; continue; } if (other.tag == "enemy") { Destroy(other); Debug.Log("enemy killed (" + other.name+ ")"); //increase score score++; if (score > highscore) { highscore = score; } //update text } if (other.tag == "king") { Destroy(other); Debug.Log("killed king" + other.name); //decrease score score-= 20; lives--; } i++; } } }