Пример #1
0
        public override void LoadFromResponse(string apiname, dynamic data)
        {
            base.LoadFromResponse(apiname, (object)data);

            NightInitial        = new PhaseNightInitial(this, "夜戦開始", false);
            FriendlySupportInfo = new PhaseFriendlySupportInfo(this, "友軍艦隊");
            FriendlyShelling    = new PhaseFriendlyShelling(this, "友軍艦隊援護");
            NightSupport        = new PhaseSupport(this, "夜間支援攻撃", true);
            NightBattle         = new PhaseNightBattle(this, "第一次夜戦", 1);
            NightBattle2        = new PhaseNightBattle(this, "第二次夜戦", 2);


            if (NextToDay)
            {
                JetBaseAirAttack = new PhaseJetBaseAirAttack(this, "噴式基地航空隊攻撃");
                JetAirBattle     = new PhaseJetAirBattle(this, "噴式航空戦");
                BaseAirAttack    = new PhaseBaseAirAttack(this, "基地航空隊攻撃");
                Support          = new PhaseSupport(this, "支援攻撃");
                // ここに友軍艦隊航空攻撃が来るかわからない
                AirBattle      = new PhaseAirBattle(this, "航空戦");
                OpeningASW     = new PhaseOpeningASW(this, "先制対潜");
                OpeningTorpedo = new PhaseTorpedo(this, "先制雷撃", 0);
                Shelling1      = new PhaseShelling(this, "第一次砲撃戦", 1, "1");
                Shelling2      = new PhaseShelling(this, "第二次砲撃戦", 2, "2");
                Torpedo        = new PhaseTorpedo(this, "雷撃戦", 3);
            }

            foreach (var phase in GetPhases())
            {
                phase.EmulateBattle(_resultHPs, _attackDamages);
            }
        }
Пример #2
0
        private static void OutputFriendlySupportData(StringBuilder sb, PhaseFriendlySupportInfo p)
        {
            for (int i = 0; i < p.FriendlyMembersInstance.Length; i++)
            {
                var ship = p.FriendlyMembersInstance[i];

                if (ship == null)
                {
                    continue;
                }

                sb.AppendFormat("#{0}: {1} {2} Lv. {3} HP: {4} / {5} - 火力{6}, 雷装{7}, 対空{8}, 装甲{9}\r\n",
                                i + 1,
                                ship.ShipTypeName, p.FriendlyMembersInstance[i].NameWithClass, p.FriendlyLevels[i],
                                p.FriendlyInitialHPs[i], p.FriendlyMaxHPs[i],
                                p.FriendlyParameters[i][0], p.FriendlyParameters[i][1], p.FriendlyParameters[i][2], p.FriendlyParameters[i][3]);

                sb.Append(" ");
                sb.AppendLine(string.Join(", ", p.FriendlySlots[i]
                                          .Concat(new[] { p.FriendlyExpansionSlots?[i] ?? -1 })
                                          .Select(id => KCDatabase.Instance.MasterEquipments[id])
                                          .Where(eq => eq != null)
                                          .Select(eq => eq.Name)));
            }
        }
Пример #3
0
        public override void LoadFromResponse(string apiname, dynamic data)
        {
            base.LoadFromResponse(apiname, (object)data);

            NightInitial        = new PhaseNightInitial(this, "夜戦開始", false);
            FriendlySupportInfo = new PhaseFriendlySupportInfo(this, "友軍艦隊");
            FriendlyShelling    = new PhaseFriendlyShelling(this, "友軍艦隊援護");
            // 支援なし?
            NightBattle = new PhaseNightBattle(this, "夜戦", 0);

            foreach (var phase in GetPhases())
            {
                phase.EmulateBattle(_resultHPs, _attackDamages);
            }
        }
Пример #4
0
        public override void LoadFromResponse(string apiname, dynamic data)
        {
            base.LoadFromResponse(apiname, (object)data);

            JetBaseAirAttack    = new PhaseJetBaseAirAttack(this, "噴式基地航空隊攻撃");
            JetAirBattle        = new PhaseJetAirBattle(this, "噴式航空戦");
            BaseAirAttack       = new PhaseBaseAirAttack(this, "基地航空隊攻撃");
            FriendlySupportInfo = new PhaseFriendlySupportInfo(this, "友軍艦隊");
            FriendlyAirBattle   = new PhaseFriendlyAirBattle(this, "友軍支援航空攻撃");
            AirBattle           = new PhaseAirBattle(this, "第一次航空戦");
            Support             = new PhaseSupport(this, "支援攻撃");
            AirBattle2          = new PhaseAirBattle(this, "第二次航空戦", "2");

            foreach (var phase in GetPhases())
            {
                phase.EmulateBattle(_resultHPs, _attackDamages);
            }
        }
        public override void LoadFromResponse(string apiname, dynamic data)
        {
            base.LoadFromResponse(apiname, (object)data);

            JetBaseAirAttack    = new PhaseJetBaseAirAttack(this, "噴式基地航空隊攻撃");
            JetAirBattle        = new PhaseJetAirBattle(this, "噴式航空戦");
            BaseAirAttack       = new PhaseBaseAirAttack(this, "基地航空隊攻撃");
            FriendlySupportInfo = new PhaseFriendlySupportInfo(this, "友軍艦隊");
            FriendlyAirBattle   = new PhaseFriendlyAirBattle(this, "友軍支援航空攻撃");
            AirBattle           = new PhaseAirBattle(this, "航空戦");
            Support             = new PhaseSupport(this, "支援攻撃");
            OpeningASW          = new PhaseOpeningASW(this, "先制対潜");
            OpeningTorpedo      = new PhaseTorpedo(this, "先制雷撃", 0);
            Shelling1           = new PhaseShelling(this, "第一次砲撃戦", 1, "1");
            Torpedo             = new PhaseTorpedo(this, "雷撃戦", 2);
            Shelling2           = new PhaseShelling(this, "第二次砲撃戦", 3, "2");
            Shelling3           = new PhaseShelling(this, "第三次砲撃戦", 4, "3");

            foreach (var phase in GetPhases())
            {
                phase.EmulateBattle(_resultHPs, _attackDamages);
            }
        }