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);
    }
Beispiel #4
0
    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();
        }
    }
Beispiel #5
0
 private void AmmoAdded(WeaponManager.ItemTypes weaponType)
 {
     UpdateAmmo();
 }