public override void LoadFromResponse(string apiname, dynamic data)
        {
            base.LoadFromResponse(apiname, (object)data);

            NightInitial    = new PhaseNightInitial(this, "夜戦開始", false);
            FriendlySupport = new PhaseFriendlySupport(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);
            }
        }
        public override void LoadFromResponse(string apiname, dynamic data)
        {
            base.LoadFromResponse(apiname, (object)data);

            NightInitial = new PhaseNightInitial(this, "夜戦開始", false);
            NightBattle  = new PhaseNightBattle(this, "夜戦", 0);

            NightBattle.EmulateBattle(_resultHPs, _attackDamages);
        }
        public override void LoadFromResponse(string apiname, dynamic data)
        {
            base.LoadFromResponse(apiname, (object)data);

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

            foreach (var phase in GetPhases())
            {
                phase.EmulateBattle(_resultHPs, _attackDamages);
            }
        }
Example #4
0
		/// <summary>
		/// 夜戦における各種表示を設定します。
		/// </summary>
		/// <param name="hp">戦闘開始前のHP。</param>
		/// <param name="isCombined">連合艦隊かどうか。</param>
		/// <param name="bd">戦闘データ。</param>
		private void SetNightBattleEvent(PhaseNightInitial pd)
		{

			FleetData fleet = pd.FriendFleet;

			//味方探照灯判定
			{
				int index = pd.SearchlightIndexFriend;

				if (index != -1)
				{
					ShipData ship = fleet.MembersInstance[index];

					AirStage1Friend.Text = "#" + (index + (pd.IsFriendEscort ? 6 : 0) + 1);
					AirStage1Friend.ForeColor = SystemColors.ControlText;
					AirStage1Friend.ImageAlign = ContentAlignment.MiddleLeft;
					AirStage1Friend.ImageIndex = (int)ResourceManager.EquipmentContent.Searchlight;
					ToolTipInfo.SetToolTip(AirStage1Friend, "探照灯照射: " + ship.NameWithLevel);
				}
				else
				{
					ToolTipInfo.SetToolTip(AirStage1Friend, null);
				}
			}

			//敵探照灯判定
			{
				int index = pd.SearchlightIndexEnemy;
				if (index != -1)
				{
					AirStage1Enemy.Text = "#" + (index + (pd.IsEnemyEscort ? 6 : 0) + 1);
					AirStage1Enemy.ForeColor = SystemColors.ControlText;
					AirStage1Enemy.ImageAlign = ContentAlignment.MiddleLeft;
					AirStage1Enemy.ImageIndex = (int)ResourceManager.EquipmentContent.Searchlight;
					ToolTipInfo.SetToolTip(AirStage1Enemy, "探照灯照射: " + pd.SearchlightEnemyInstance.NameWithClass);
				}
				else
				{
					ToolTipInfo.SetToolTip(AirStage1Enemy, null);
				}
			}


			//夜間触接判定
			if (pd.TouchAircraftFriend != -1)
			{
				SearchingFriend.Text = "夜間触接";
				SearchingFriend.ImageIndex = (int)ResourceManager.EquipmentContent.Seaplane;
				SearchingFriend.ImageAlign = ContentAlignment.MiddleLeft;
				ToolTipInfo.SetToolTip(SearchingFriend, "夜間触接中: " + KCDatabase.Instance.MasterEquipments[pd.TouchAircraftFriend].Name);
			}
			else
			{
				ToolTipInfo.SetToolTip(SearchingFriend, null);
			}

			if (pd.TouchAircraftEnemy != -1)
			{
				SearchingEnemy.Text = "夜間触接";
				SearchingEnemy.ImageIndex = (int)ResourceManager.EquipmentContent.Seaplane;
				SearchingFriend.ImageAlign = ContentAlignment.MiddleLeft;
				ToolTipInfo.SetToolTip(SearchingEnemy, "夜間触接中: " + KCDatabase.Instance.MasterEquipments[pd.TouchAircraftEnemy].Name);
			}
			else
			{
				ToolTipInfo.SetToolTip(SearchingEnemy, null);
			}

			//照明弾投射判定
			{
				int index = pd.FlareIndexFriend;

				if (index != -1)
				{
					AirStage2Friend.Text = "#" + (index + 1);
					AirStage2Friend.ForeColor = SystemColors.ControlText;
					AirStage2Friend.ImageAlign = ContentAlignment.MiddleLeft;
					AirStage2Friend.ImageIndex = (int)ResourceManager.EquipmentContent.Flare;
					ToolTipInfo.SetToolTip(AirStage2Friend, "照明弾投射: " + pd.FlareFriendInstance.NameWithLevel);

				}
				else
				{
					ToolTipInfo.SetToolTip(AirStage2Friend, null);
				}
			}

			{
				int index = pd.FlareIndexEnemy;

				if (index != -1)
				{
					AirStage2Enemy.Text = "#" + (index + 1);
					AirStage2Enemy.ForeColor = SystemColors.ControlText;
					AirStage2Enemy.ImageAlign = ContentAlignment.MiddleLeft;
					AirStage2Enemy.ImageIndex = (int)ResourceManager.EquipmentContent.Flare;
					ToolTipInfo.SetToolTip(AirStage2Enemy, "照明弾投射: " + pd.FlareEnemyInstance.NameWithClass);
				}
				else
				{
					ToolTipInfo.SetToolTip(AirStage2Enemy, null);
				}
			}
		}