Beispiel #1
0
 public void OnWormDeath(WormInfo worm)
 {
     if (wormsTeam1.Find(a => a == worm))
     {
         wormsTeam1.Remove(worm);
         OnNbPlayerRefresh(TeamState.Team1);
     }
     else if (wormsTeam2.Find(a => a == worm))
     {
         wormsTeam2.Remove(worm);
         OnNbPlayerRefresh(TeamState.Team2);
     }
 }
Beispiel #2
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.collider.CompareTag("Worm"))
        {
            if (collision.collider.GetComponent <WormCharacter>().IsDead)
            {
                return;
            }

            switch (crateType)
            {
            case CrateType.Ammo:
                int           rand = Random.Range(0, DatabaseManager.Instance.Db.ListWeapons.Count);
                WormInventory worm = collision.collider.GetComponent <WormInventory>();

                for (int i = 0; i < worm.listWeaponInventory.Count; i++)
                {
                    if (rand == i)
                    {
                        worm.listWeaponInventory[i].NbLeft += Random.Range(1, 3);
                    }
                }
                break;

            case CrateType.Heal:
                WormInfo wormInfo = collision.collider.GetComponent <WormInfo>();
                wormInfo.Life += 30;
                break;
            }
            Destroy(gameObject);
        }
        else if (collision.collider.CompareTag("Map"))
        {
            onGroundRenderer.gameObject.SetActive(true);
            inAirRenderer.gameObject.SetActive(false);
        }
    }
Beispiel #3
0
 private void Start()
 {
     wormCharacter = GetComponent <WormCharacter>();
     wormState     = GetComponent <WormInfo>();
 }
Beispiel #4
0
 public virtual void AmmoBehaviourDamage(Vector2 directionFromClosestPoint, WormInfo toDamage)
 {
     toDamage.WormBehaviourDamage(directionFromClosestPoint, Damage);
 }