void OnTriggerEnter2D(Collider2D other) { TankMovementScript tankScript = other.gameObject.GetComponent <TankMovementScript>(); if (other.gameObject.tag == "Tank") { tankScript.HitByProjectile(); } // resolve hit Hitable HitableComp = other.gameObject.GetComponent <Hitable>(); float damageRemain = Ballisitcs.damage; if (HitableComp != null) { if (HitableComp.shield > damageRemain * Ballisitcs.shieldmod) { HitableComp.shield -= damageRemain * Ballisitcs.shieldmod; } else { float absorb = HitableComp.shield / Ballisitcs.shieldmod; HitableComp.shield = 0.0f; damageRemain -= absorb; } if (HitableComp.armor > damageRemain * Ballisitcs.armormod) { HitableComp.armor -= damageRemain * Ballisitcs.armormod; } else { float absorb = HitableComp.armor / Ballisitcs.armormod; HitableComp.armor = 0.0f; damageRemain -= absorb; } if (HitableComp.health > damageRemain * Ballisitcs.healthmod) { HitableComp.health -= damageRemain * Ballisitcs.healthmod; } else { if (other.gameObject.tag == "Tank") { // Destroy tanks tankScript.Destruction(); } else { Destroy(HitableComp.ObjToRemove); } } // Destroy Projectile Destroy(transform.root.gameObject); } }
void Start() { transform.Find("Turret/Camera").gameObject.SetActive(isPlayer); transform.Find("Minimap camera").gameObject.SetActive(isPlayer); transform.Find("HUD").gameObject.SetActive(isPlayer); transform.Find("Minimap object/Number").GetComponent <TextMesh> ().text = (index + 1).ToString(); transform.Find("Minimap object").GetComponent <MeshRenderer> ().material.color = (isPlayer) ? Color.green : Color.red; Color c = (isPlayer) ? new Color32(44, 55, 200, 1) : new Color32(200, 55, 44, 1); foreach (Transform o in transform.Find("Base/Colored")) { o.GetComponent <MeshRenderer> ().material.color = c; } transform.Find("Turret").GetComponent <MeshRenderer> ().material.color = c; if (isPlayer) { controller = gameObject.AddComponent <PlayerControllerScript> (); } else { controller = gameObject.AddComponent <EnemyControllerScript> (); controller.GetComponent <EnemyControllerScript> ().easy = StaticData.easy; } gc = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameControllerScript> (); tms = GetComponent <TankMovementScript> (); ss = GetComponent <ShootScript> (); }
// Collision of Trees void OnTriggerEnter2D(Collider2D other) { if (other.gameObject.tag == "Tank") { obst.isShaking = true; TankMovementScript tankScript = other.gameObject.GetComponent <TankMovementScript> (); tankScript.MakeVisible(); } }
// Collision of Stones void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "Tank") { obst.isShaking = true; TankMovementScript tankScript = collision.gameObject.GetComponent <TankMovementScript> (); tankScript.MakeVisible(); } }