public ShopInventoryEntry(ShipPartType shipPartType, ShipPartAvailability shipPartAvailability, ItemVariety itemVariety) { this.shipPartType = shipPartType; this.itemVariety = itemVariety; this.availability = shipPartAvailability; id = shipPartType.ToString() + " " + shipPartAvailability.ToString() + " " + itemVariety.ToString(); }
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; }
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; }
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"); } }
public ShipItemData(ShipPartType shipTypePart) { this.shipTypePart = shipTypePart; }
private GameObject GetRandomPart(ShipPartType type) { var typedParts = parts[type]; return typedParts[Random.Range(0, typedParts.Count)]; }
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; }