Пример #1
0
        public void Initialize(IWeaponSelectionModel weaponSelectionModel)
        {
            _weaponSelectionModel = weaponSelectionModel;
            OnPropertyChanged(Properties.IsMissile);
            OnPropertyChanged(Properties.IsWeaponSelected);

            SelectedCoilgunType = CoilgunTypes.FirstOrDefault();
            SelectedMissileType = MissileTypes.FirstOrDefault();
        }
Пример #2
0
        public void ReadFrom(BinaryReader r)
        {
            // 1st section

            Unknown1 = r.ReadByte();
            Unknown2 = r.ReadByte();

            MissilesType        = (MissileTypes)r.ReadByte();
            MissilesDriveSystem = (MissileDriveSystems)r.ReadByte();
            MissilesReloads     = r.ReadInt16();

            TotalTubesCount             = r.ReadInt16();
            TotalMissilesReadyAndStored = r.ReadInt16();
            TotalMissilesReady          = r.ReadInt16();
            TotalMissilesStored         = r.ReadInt16();

            MissileHardpoints = new MissileHardpoint[25];

            for (int i = 0; i < 25; i++)
            {
                MissileHardpoints[i].MissilesReady  = r.ReadInt16();
                MissileHardpoints[i].MissilesStored = r.ReadInt16();
                MissileHardpoints[i].TubesCount     = r.ReadInt16();
                MissileHardpoints[i].TubesCapacity  = r.ReadInt16();
            }

            GeneralMax  = r.ReadByte();
            GeneralBase = r.ReadByte();
            General     = r.ReadByte();

            Unknown3 = r.ReadBytes(Size_Unknown3);

            // 2nd section

            int c = r.ReadInt32();

            if (c == 0)
            {
                TransportItems = null;
            }
            else
            {
                TransportItems = new TransportItem[c];

                for (int i = 0; i < c; i++)
                {
                    TransportItems[i].Item  = (ScriptTransportItems)r.ReadInt32();
                    TransportItems[i].Count = r.ReadInt32();
                }
            }

            // 3rd section

            Unknown4 = r.ReadBytes(Size_Unknown4);

            // 4th section

            BoardingPartiesMax  = r.ReadByte();
            BoardingPartiesBase = r.ReadByte();
            BoardingParties     = r.ReadByte();

            TBombsMax  = r.ReadByte();
            TBombsBase = r.ReadByte();
            TBombs     = r.ReadByte();

            DamageControlMax  = r.ReadByte();
            DamageControlBase = r.ReadByte();
            DamageControl     = r.ReadByte();

            // 5th section

            FighterBays = new FighterBay[4];

            for (int i = 0; i < 4; i++)
            {
                FighterBays[i].FightersCount  = r.ReadByte();
                FighterBays[i].FightersLoaded = r.ReadByte();
                FighterBays[i].FightersMax    = r.ReadByte();
                FighterBays[i].Unknown        = r.ReadByte();

                Utils.ReadString(r, out FighterBays[i].FighterType);
                Utils.ReadString(r, out FighterBays[i].FighterSubType);
            }
        }
Пример #3
0
 public RangeAttack(Enemy being, float minDamage, float maxDamage, MissileTypes missileType, TimeSpan?cooldown = null) : base(AbilityTypes.Melee, being, cooldown ?? TimeSpan.Zero, TimeSpan.Zero, 0, "")
 {
     _minDamage   = minDamage;
     _maxDamage   = maxDamage;
     _missileType = missileType;
 }