private void PlayerSelect() { if (Input.GetMouseButtonDown (0)) { mouseRay = Camera.main.ScreenPointToRay (Input.mousePosition); if (Physics.Raycast (mouseRay, out hit)) { if (hit.collider.tag.Equals ("Unit")) { if (activePlayer != null && activePlayer != hit.collider.gameObject.GetComponent<Unit> ()) { activePlayer.GetComponentInChildren<ParticleSystem> ().Stop (true); } if (activeEnemy != null) { activeEnemy = null; ResetTileParticles (); EnemyUI.GetComponentInChildren<Animator> ().SetTrigger ("UI_Trigger"); } if (activePlayer == null) { PlayerUI.GetComponentInChildren<Animator> ().SetTrigger ("UI_Trigger"); } activePlayer = hit.collider.gameObject.GetComponent<Unit> (); PlayerUI.GetComponent<PlayerUI> ().UpdateUI (activePlayer.char_stats); } else if (hit.collider.tag.Equals ("Enemy")) { if (activePlayer != null) { activePlayer.GetComponentInChildren<ParticleSystem> ().Stop (true); activePlayer = null; PlayerUI.GetComponentInChildren<Animator> ().SetTrigger ("UI_Trigger"); } ResetTileParticles (); if (activeEnemy == null) { EnemyUI.GetComponentInChildren<Animator> ().SetTrigger ("UI_Trigger"); } activeEnemy = hit.collider.gameObject.GetComponent<Enemy> (); activeEnemy.FindMoveTiles (); EnemyUI.GetComponent<EnemyUI> ().UpdateUI (activeEnemy.enemy_stats); } if (hit.collider.tag.Equals ("Terrain") && (activePlayer != null || activeEnemy != null) && !EventSystem.current.IsPointerOverGameObject()) { if (activePlayer != null) { activePlayer.GetComponentInChildren<ParticleSystem> ().Stop (true); PlayerUI.GetComponentInChildren<Animator> ().SetTrigger ("UI_Trigger"); activePlayer = null; } else if (activeEnemy != null) { ResetTileParticles (); EnemyUI.GetComponentInChildren<Animator> ().SetTrigger ("UI_Trigger"); activeEnemy = null; } } } } else if (Input.GetMouseButtonDown (1)) { if (activePlayer != null) { activePlayer.GetComponentInChildren<ParticleSystem> ().Stop (true); PlayerUI.GetComponentInChildren<Animator> ().SetTrigger ("UI_Trigger"); activePlayer = null; } else if (activeEnemy != null) { ResetTileParticles (); EnemyUI.GetComponentInChildren<Animator> ().SetTrigger ("UI_Trigger"); activeEnemy = null; } } }