Exemple #1
0
    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);
        }
    }
Exemple #2
0
    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> ();
    }
Exemple #3
0
 // Collision of Trees
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.gameObject.tag == "Tank")
     {
         obst.isShaking = true;
         TankMovementScript tankScript = other.gameObject.GetComponent <TankMovementScript> ();
         tankScript.MakeVisible();
     }
 }
Exemple #4
0
 // Collision of Stones
 void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.tag == "Tank")
     {
         obst.isShaking = true;
         TankMovementScript tankScript = collision.gameObject.GetComponent <TankMovementScript> ();
         tankScript.MakeVisible();
     }
 }