public bool AddAmmo(WeaponManager.ItemTypes weaponType, int amount) { print("adding " + amount + " ammo for " + weaponType); switch (weaponType) { case WeaponManager.ItemTypes.MachineGunBullets: { weaponType = WeaponManager.ItemTypes.MachineGun; break; } } if (ammo.ContainsKey(weaponType)) { ammo[weaponType] += amount; } else { ammo.Add(weaponType, amount); } if (AmmoAdded != null) { AmmoAdded(weaponType); } return(true); }
public void EquipWeapon(int slot) { if (slot <= maxWeapons) { print("equipping weapon " + weapons[slot].ToString()); currentWeapon = (WeaponManager.ItemTypes)weapons[slot]; if (WeaponEquipped != null) { WeaponEquipped(currentWeapon, slot); } } }
public bool AddWeapon(WeaponManager.ItemTypes weaponType, int slot = -1) { print("adding weapon " + weaponType.ToString()); if (slot > 0 && (slot <= maxWeapons) && weapons.ContainsKey(slot)) { weapons[slot] = weaponType; } else if (slot < 0 && weapons.Keys.Count < maxWeapons) { print("no slot specified, current weapons: " + weapons.Count.ToString()); var lastKey = weapons.Keys.Count; weapons.Add(lastKey + 1, weaponType); slot = lastKey + 1; } if (weapons.Count == 1) { EquipWeapon(slot); } return(false); }
void WeaponEquipped(WeaponManager.ItemTypes weapon, int slot) { var cam = GameObject.Find("PlayerCamera"); if (cam != null) { var existingWeapon = GameObject.Find("CurrentWeapon"); if (existingWeapon != null) { Destroy(existingWeapon); } GameObject gun = null; switch (weapon) { case WeaponManager.ItemTypes.MachineGun: { gun = (GameObject)Instantiate(Resources.Load("MachineGun"), cam.transform, false); break; } case WeaponManager.ItemTypes.RailGun: { gun = (GameObject)Instantiate(Resources.Load("RailGun"), cam.transform, false); break; } } if (gun != null) { gun.name = "CurrentWeapon"; gun.transform.localPosition = new Vector3(0.2f, -0.171f, 0.212f); gun.transform.localEulerAngles = new Vector3(0, 91.0f, 0); weaponRaycast = gun.GetComponent <RaycastShoot>(); weaponRaycast.ShotFired += new RaycastShoot.ShotFiredEventHandler(ShotFired); } UpdateAmmo(); } }
private void AmmoAdded(WeaponManager.ItemTypes weaponType) { UpdateAmmo(); }