Example #1
0
 public ShopInventoryEntry(ShipPartType shipPartType, ShipPartAvailability shipPartAvailability, ItemVariety itemVariety)
 {
     this.shipPartType = shipPartType;
     this.itemVariety  = itemVariety;
     this.availability = shipPartAvailability;
     id = shipPartType.ToString() + " " + shipPartAvailability.ToString() + " " + itemVariety.ToString();
 }
Example #2
0
        public ShopInventoryEntry(String id)
        {
            MatchCollection matches = Regex.Matches(id, @"\w+");

            shipPartType = MathFunctions.ParseEnum <ShipPartType>(matches[0].ToString());
            availability = MathFunctions.ParseEnum <ShipPartAvailability>(matches[1].ToString());
            itemVariety  = MathFunctions.ParseEnum <ItemVariety>(matches[2].ToString());
            this.id      = id;
        }
Example #3
0
 public ShipPart(
     ShipPartName name,
     ShipPartType type,
     int rank,
     TierName tierName,
     Dictionary <ShipClassName, int> classes,
     ShipPartSpell spell,
     Dictionary <ShipParameterName, float> parameters
     )
 {
     Name       = name;
     Type       = type;
     Rank       = rank;
     TierName   = tierName;
     Classes    = classes;
     Spell      = spell;
     Parameters = parameters;
 }
Example #4
0
        public static ShipPart RetrievePartFromEnum(ShipPartType shipPartEnum, Game1 Game, ItemVariety variety = ItemVariety.Regular)
        {
            switch (shipPartEnum)
            {
            case ShipPartType.LongShot:                 return(new LongShotWeapon(Game, variety));

            case ShipPartType.BasicLaser:               return(new BasicLaserWeapon(Game, variety));

            case ShipPartType.DualLaser:                return(new DualLaserWeapon(Game, variety));

            case ShipPartType.SpreadBullet:             return(new SpreadBulletWeapon(Game, variety));

            case ShipPartType.Beam:                     return(new BeamWeapon(Game, variety));

            case ShipPartType.MultipleShot:             return(new MultipleShotWeapon(Game, variety));

            case ShipPartType.WaveBeam:                 return(new WaveBeamWeapon(Game, variety));

            case ShipPartType.BallisticLaser:           return(new BallisticLaserWeapon(Game, variety));

            case ShipPartType.FragmentMissile:          return(new FragmentMissileWeapon(Game, variety));

            case ShipPartType.Burster:                  return(new BursterWeapon(Game, variety));

            case ShipPartType.AdvancedLaser:            return(new AdvancedLaserWeapon(Game, variety));

            case ShipPartType.ProximityLaser:           return(new ProximityLaserWeapon(Game, variety));

            case ShipPartType.AdvancedBeam:             return(new AdvancedBeamWeapon(Game, variety));

            case ShipPartType.FlameShot:                return(new FlameShotWeapon(Game, variety));

            case ShipPartType.Turret:                   return(new TurretWeapon(Game, variety));

            case ShipPartType.FieldDamage:              return(new FieldDamageWeapon(Game, variety));

            case ShipPartType.SideMissiles:             return(new SideMissilesWeapon(Game, variety));

            case ShipPartType.HomingMissile:            return(new HomingMissileWeapon(Game, variety));

            case ShipPartType.Disruptor:                return(new DisruptorWeapon(Game, variety));

            case ShipPartType.MineLayer:                return(new MineLayerWeapon(Game, variety));

            case ShipPartType.RegularBomb:              return(new RegularBombWeapon(Game, variety));

            case ShipPartType.PunyTurret:               return(new PunyTurretWeapon(Game, variety));

            case ShipPartType.BasicPlating:             return(new BasicPlating(Game, variety));

            case ShipPartType.RegularPlating:           return(new RegularPlating(Game, variety));

            case ShipPartType.AdvancedPlating:          return(new AdvancedPlating(Game, variety));

            case ShipPartType.HeavyPlating:             return(new HeavyPlating(Game, variety));

            case ShipPartType.LightPlating:             return(new LightPlating(Game, variety));

            case ShipPartType.BasicEnergyCell:          return(new BasicEnergyCell(Game, variety));

            case ShipPartType.RegularEnergyCell:        return(new RegularEnergyCell(Game, variety));

            case ShipPartType.AdvancedEnergyCell:       return(new AdvancedEnergyCell(Game, variety));

            case ShipPartType.WeaponBoostEnergyCell:    return(new WeaponBoostEnergyCell(Game, variety));

            case ShipPartType.ShieldBoostEnergyCell:    return(new ShieldBoostEnergyCell(Game, variety));

            case ShipPartType.BasicShield:              return(new BasicShield(Game, variety));

            case ShipPartType.RegularShield:            return(new RegularShield(Game, variety));

            case ShipPartType.AdvancedShield:           return(new AdvancedShield(Game, variety));

            case ShipPartType.CollisionShield:          return(new CollisionShield(Game, variety));

            case ShipPartType.BulletShield:             return(new BulletShield(Game, variety));

            default:
                throw new ArgumentException("Undefined enum value! Check enum in DataEnums-class");
            }
        }
Example #5
0
 public ShipItemData(ShipPartType shipTypePart)
 {
     this.shipTypePart = shipTypePart;
 }
Example #6
0
 private GameObject GetRandomPart(ShipPartType type)
 {
     var typedParts = parts[type];
     return typedParts[Random.Range(0, typedParts.Count)];
 }
Example #7
0
 private GameObject GetFromPartPool(ShipPartType type)
 {
     if (!partPool.ContainsKey(type) || partPool[type].Count == 0)
         return null;
     var typedParts = partPool[type];
     var part = typedParts[Random.Range(0, typedParts.Count)];
     typedParts.Remove(part);
     return part;
 }