Пример #1
0
 public void Switch(int direction)
 {
     if (direction == 0)
     {
         return;
     }
     if (Guns.Count <= 1)
     {
         return;
     }
     if (EquippedGun == null)
     {
         EquippedGun = Guns [0];
         EquippedGun.OnEquip(gameObject);
         EquippedGun.equipped = true;
         return;
     }
     EquippedGun.equipped = false;
     EquippedGun.OnUnequip(gameObject);
     // Oh my god % is not actually modulo. Why would you do this C#???
     //EquippedGun = Guns [(Guns.IndexOf(EquippedGun)+direction)%Guns.Count];
     EquippedGun = Guns [(int)Helper.fmod(Guns.IndexOf(EquippedGun) + direction, Guns.Count)];
     EquippedGun.OnEquip(gameObject);
     EquippedGun.equipped = true;
 }
Пример #2
0
 void Awake()
 {
     foreach (GunBase gun in Guns)
     {
         gun.OnUnequip(gameObject);
         gun.equipped = false;
     }
     if (EquippedGun != null)
     {
         if (!Guns.Contains(EquippedGun))
         {
             Guns.Add(EquippedGun);
         }
         EquippedGun.OnEquip(gameObject);
         EquippedGun.equipped = true;
     }
 }
Пример #3
0
    void OnTriggerEnter(Collider other)
    {
        GunBase gun = other.gameObject.GetComponent <GunBase> ();

        if (gun != null && !Guns.Contains(gun))
        {
            Guns.Add(gun);
            if (EquippedGun == null)
            {
                EquippedGun = gun;
                EquippedGun.OnEquip(gameObject);
                EquippedGun.equipped = true;
            }
            else
            {
                other.gameObject.SetActive(false);
            }
        }
    }