/// <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); }
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