Exemplo n.º 1
0
        public static Weapon Create(Fighter fighter, int slotId, WeaponData.WeaponDataEntry weaponData)
        {
            switch (weaponData.Type)
            {
            case WeaponData.WeaponType.MachineGun:
                return(new MachineGun(fighter, slotId, weaponData));

            case WeaponData.WeaponType.Laser:
                return(new Laser(fighter, slotId, weaponData));

            default:
                Debug.LogError($"Invalid weapon type {weaponData.Type}!");
                return(null);
            }
        }
Exemplo n.º 2
0
        public override void Complete()
        {
            int winnerType = VoteHelper.GetWinner(_weaponTypeVotes);

            WeaponData.WeaponDataEntry weaponData = DataManager.Instance.GameData.Weapons.Entries.GetOrDefault(winnerType);
            if (null == weaponData)
            {
                return;
            }

            Weapon = WeaponFactory.Create(Fighter, SlotData.Id, weaponData);
            if (null != Weapon)
            {
                Weapon.Strength = _weaponTypeVotes[winnerType];
            }
        }
Exemplo n.º 3
0
 protected Weapon(Fighter fighter, int slotId, WeaponData.WeaponDataEntry weaponData)
 {
     Fighter    = fighter;
     SlotId     = slotId;
     WeaponData = weaponData;
 }
Exemplo n.º 4
0
 public MachineGun(Fighter fighter, int slotId, WeaponData.WeaponDataEntry weaponData)
     : base(fighter, slotId, weaponData)
 {
 }
Exemplo n.º 5
0
 public Laser(Fighter fighter, int slotId, WeaponData.WeaponDataEntry weaponData)
     : base(fighter, slotId, weaponData)
 {
 }