Example #1
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="ware">ウェア情報</param>
        /// <param name="shipType">艦船種別</param>
        /// <param name="macro">マクロ名</param>
        /// <param name="size">サイズ</param>
        /// <param name="mass">質量</param>
        /// <param name="drag">抗力</param>
        /// <param name="inertia">慣性</param>
        /// <param name="hull">船体強度</param>
        /// <param name="people">船員数</param>
        /// <param name="missileStorage">ミサイル搭載量</param>
        /// <param name="droneStorage">ドローン搭載量</param>
        /// <param name="cargoSize">カーゴサイズ</param>
        /// <param name="shipHanger">艦船のハンガー情報</param>
        /// <param name="loadouts">ロードアウト情報</param>
        /// <param name="equipments">装備一覧</param>
        public Ship(
            IWare ware,
            IShipType shipType,
            string macro,
            IX4Size size,
            double mass,
            Drag drag,
            Inertia inertia,
            long hull,
            long people,
            long missileStorage,
            long droneStorage,
            long cargoSize,
            IReadOnlyDictionary <string, IShipHanger> shipHanger,
            IReadOnlyDictionary <string, IReadOnlyList <IShipLoadout> > loadouts,
            IReadOnlyDictionary <string, IWareEquipment> equipments
            )
        {
            ID            = ware.ID;
            Name          = ware.Name;
            WareGroup     = ware.WareGroup;
            TransportType = ware.TransportType;
            Description   = ware.Description;
            Volume        = ware.Volume;
            MinPrice      = ware.MinPrice;
            AvgPrice      = ware.AvgPrice;
            MaxPrice      = ware.MaxPrice;
            Owners        = ware.Owners;
            Productions   = ware.Productions;
            Resources     = ware.Resources;
            Tags          = ware.Tags;
            WareEffects   = ware.WareEffects;

            ShipType       = shipType;
            MacroName      = macro;
            Size           = size;
            Mass           = mass;
            Drag           = drag;
            Inertia        = inertia;
            Hull           = hull;
            People         = people;
            MissileStorage = missileStorage;
            DroneStorage   = droneStorage;
            CargoSize      = cargoSize;
            ShipHanger     = shipHanger;
            Loadouts       = loadouts;
            Equipments     = equipments;
        }
Example #2
0
 /// <summary>
 /// 現在装備可能な個数を取得する
 /// </summary>
 /// <param name="type">装備ID</param>
 /// <param name="size">装備サイズ</param>
 /// <returns>装備IDと装備サイズに対応する装備があと何個装備できるか</returns>
 public int GetEquippableCount(IEquipmentType type, IX4Size size)
 => Ware.Equipments.Values.Count(x =>