Пример #1
0
 /// <summary>
 /// Function called when the enemy character's health reaches zero
 /// </summary>
 public override void Die()
 {
     // Drop ammo upon death
     if (Character.Weapon.TotalAmmo > 0)
     {
         if (UnityEngine.Random.Range(0, 10) % 2 == 0)
         {
             GameObject  instantiatedDroppedAmmo = ObjectPooler.instance.SpawnFromPool("DroppedAmmo", Character.transform.position, Quaternion.identity);
             DroppedAmmo droppedAmmo             = instantiatedDroppedAmmo.GetComponent <DroppedAmmo>();
             droppedAmmo.Ammo = (Character.Weapon.TotalAmmo < 25) ? 25 : Character.Weapon.TotalAmmo;
         }
     }
     ExperienceSystem.instance.AddPlayerExperience(12);
     Destroy(Character.gameObject);
     Destroy(this);
 }
Пример #2
0
    public void Display()
    {
        for (int j = 0; j < GameManagerScript.statDisplay.Count; j++)
        {
            GameManagerScript.statDisplay[j].gameObject.SetActive(true);
            GameManagerScript.statDisplay[j].GetComponent <Outline>().effectColor = Color.HSVToRGB(.585f, 1, 1);
        }

        DroppedAmmo droppedAmmo = gameObject.GetComponent <DroppedAmmo>();
        int         i           = 0;

        GameManagerScript.statDisplay[i].text = "[" + droppedAmmo.AmmoStats.ItemName + "]";
        i++;
        GameManagerScript.statDisplay[i].text = "Quantity: " + droppedAmmo.AmmoStats.Quantity.ToString("n0");
        i++;
        switch (droppedAmmo.AmmoStats.AmmoTypes)
        {
        case BaseAmmo.AmmoType.HandgunAmmo:
            GameManagerScript.statDisplay[i].text = "Weight: " + (droppedAmmo.AmmoStats.Quantity * PlayerStats.hgAmmoWeight).ToString("n0") + " lbs";
            if (PlayerStats.curWeight + (droppedAmmo.AmmoStats.Quantity * PlayerStats.hgAmmoWeight) > PlayerStats.maxWeight)
            {
                GameManagerScript.statDisplay[i].GetComponent <Outline>().effectColor = Color.red;
            }
            break;

        case BaseAmmo.AmmoType.ShotgunShells:
            GameManagerScript.statDisplay[i].text = "Weight: " + (droppedAmmo.AmmoStats.Quantity * PlayerStats.sgAmmoWeight).ToString("n0") + " lbs";
            if (PlayerStats.curWeight + (droppedAmmo.AmmoStats.Quantity * PlayerStats.sgAmmoWeight) > PlayerStats.maxWeight)
            {
                GameManagerScript.statDisplay[i].GetComponent <Outline>().effectColor = Color.red;
            }
            break;

        case BaseAmmo.AmmoType.MachinegunAmmo:
            GameManagerScript.statDisplay[i].text = "Weight: " + (droppedAmmo.AmmoStats.Quantity * PlayerStats.mgAmmoWeight).ToString("n0") + " lbs";
            if (PlayerStats.curWeight + (droppedAmmo.AmmoStats.Quantity * PlayerStats.mgAmmoWeight) > PlayerStats.maxWeight)
            {
                GameManagerScript.statDisplay[i].GetComponent <Outline>().effectColor = Color.red;
            }
            break;

        case BaseAmmo.AmmoType.RifleAmmo:
            GameManagerScript.statDisplay[i].text = "Weight: " + (droppedAmmo.AmmoStats.Quantity * PlayerStats.rifleAmmoWeight).ToString("n0") + " lbs";
            if (PlayerStats.curWeight + (droppedAmmo.AmmoStats.Quantity * PlayerStats.rifleAmmoWeight) > PlayerStats.maxWeight)
            {
                GameManagerScript.statDisplay[i].GetComponent <Outline>().effectColor = Color.red;
            }
            break;

        case BaseAmmo.AmmoType.AssaultRifleAmmo:
            GameManagerScript.statDisplay[i].text = "Weight: " + (droppedAmmo.AmmoStats.Quantity * PlayerStats.arAmmoWeight).ToString("n0") + " lbs";
            if (PlayerStats.curWeight + (droppedAmmo.AmmoStats.Quantity * PlayerStats.arAmmoWeight) > PlayerStats.maxWeight)
            {
                GameManagerScript.statDisplay[i].GetComponent <Outline>().effectColor = Color.red;
            }
            break;

        case BaseAmmo.AmmoType.MagnumAmmo:
            GameManagerScript.statDisplay[i].text = "Weight: " + (droppedAmmo.AmmoStats.Quantity * PlayerStats.magnumAmmoWeight).ToString("n0") + " lbs";
            if (PlayerStats.curWeight + (droppedAmmo.AmmoStats.Quantity * PlayerStats.magnumAmmoWeight) > PlayerStats.maxWeight)
            {
                GameManagerScript.statDisplay[i].GetComponent <Outline>().effectColor = Color.red;
            }
            break;

        case BaseAmmo.AmmoType.ExplosiveRounds:
            GameManagerScript.statDisplay[i].text = "Weight: " + (droppedAmmo.AmmoStats.Quantity * PlayerStats.explosiveAmmoWeight).ToString("n0") + " lbs";
            if (PlayerStats.curWeight + (droppedAmmo.AmmoStats.Quantity * PlayerStats.explosiveAmmoWeight) > PlayerStats.maxWeight)
            {
                GameManagerScript.statDisplay[i].GetComponent <Outline>().effectColor = Color.red;
            }
            break;
        }
        i++;
        while (i < (GameManagerScript.statDisplay.Count - 1))
        {
            GameManagerScript.statDisplay[i].gameObject.SetActive(false);
            i++;
        }
    } //end of display function