private void UpdateEnemyFleetInstant() { BattleManager bm = KCDatabase.Instance.Battle; BattleData bd; switch (bm.BattleMode & BattleManager.BattleModes.BattlePhaseMask) { case BattleManager.BattleModes.NightOnly: case BattleManager.BattleModes.NightDay: bd = bm.BattleNight; break; default: bd = bm.BattleDay; break; } TextFormation.Text = Constants.GetFormationShort((int)bd.Data.api_formation[1]); TextFormation.Visible = true; TextAirSuperiority.Text = Calculator.GetAirSuperiority(((int[])bd.Data.api_ship_ke).Skip(1).ToArray(), (int[][])bd.Data.api_eSlot).ToString(); TextAirSuperiority.Visible = true; TableEnemyMember.SuspendLayout(); for (int i = 0; i < ControlMember.Length; i++) { int shipID = (int)bd.Data.api_ship_ke[i + 1]; ControlMember[i].Update(shipID, shipID != -1 ? (int[])bd.Data.api_eSlot[i] : null); if (shipID != -1) { ControlMember[i].UpdateEquipmentToolTip(shipID, (int[])bd.Data.api_eSlot[i], (int)bd.Data.api_ship_lv[i + 1], (int)bd.Data.api_eParam[i][0], (int)bd.Data.api_eParam[i][1], (int)bd.Data.api_eParam[i][2], (int)bd.Data.api_eParam[i][3]); } } TableEnemyMember.ResumeLayout(); TableEnemyMember.Visible = true; PanelEnemyFleet.Visible = true; BasePanel.Visible = true; //checkme }
private void UpdateEnemyFleet(int fleetID) { TextEventDetail.Text = string.Format("敵艦隊ID : {0}", fleetID); var efleet = RecordManager.Instance.EnemyFleet; if (!efleet.Record.ContainsKey(fleetID)) { //unknown TextEnemyFleetName.Text = "(敵艦隊情報不明)"; TextFormation.Visible = false; TextAirSuperiority.Visible = false; TableEnemyMember.Visible = false; } else { var fdata = efleet[fleetID]; TextEnemyFleetName.Text = fdata.FleetName; TextFormation.Text = Constants.GetFormationShort(fdata.Formation); TextFormation.Visible = true; TextAirSuperiority.Text = Calculator.GetAirSuperiority(fdata.FleetMember).ToString(); TextAirSuperiority.Visible = true; TableEnemyMember.SuspendLayout(); for (int i = 0; i < ControlMember.Length; i++) { ControlMember[i].Update(fdata.FleetMember[i]); } TableEnemyMember.ResumeLayout(); TableEnemyMember.Visible = true; } PanelEnemyFleet.Visible = true; }
public FormCompass(FormMain parent) { InitializeComponent(); MainFontColor = Color.FromArgb(0x00, 0x00, 0x00); SubFontColor = Color.FromArgb(0x88, 0x88, 0x88); ControlHelper.SetDoubleBuffered(BasePanel); ControlHelper.SetDoubleBuffered(TableEnemyFleet); ControlHelper.SetDoubleBuffered(TableEnemyMember); TableEnemyMember.SuspendLayout(); ControlMembers = new TableEnemyMemberControl[6]; for (int i = 0; i < ControlMembers.Length; i++) { ControlMembers[i] = new TableEnemyMemberControl(this, TableEnemyMember, i); } TableEnemyMember.ResumeLayout(); TableEnemyCandidate.SuspendLayout(); ControlCandidates = new TableEnemyCandidateControl[6]; for (int i = 0; i < ControlCandidates.Length; i++) { ControlCandidates[i] = new TableEnemyCandidateControl(this, TableEnemyCandidate, i); } //row/column style init for (int y = 0; y < TableEnemyCandidate.RowCount; y++) { var rs = new RowStyle(SizeType.AutoSize); if (TableEnemyCandidate.RowStyles.Count <= y) { TableEnemyCandidate.RowStyles.Add(rs); } else { TableEnemyCandidate.RowStyles[y] = rs; } } for (int x = 0; x < TableEnemyCandidate.ColumnCount; x++) { var cs = new ColumnStyle(SizeType.AutoSize); if (TableEnemyCandidate.ColumnStyles.Count <= x) { TableEnemyCandidate.ColumnStyles.Add(cs); } else { TableEnemyCandidate.ColumnStyles[x] = cs; } } TableEnemyCandidate.ResumeLayout(); //BasePanel.SetFlowBreak( TextMapArea, true ); BasePanel.SetFlowBreak(TextDestination, true); //BasePanel.SetFlowBreak( TextEventKind, true ); BasePanel.SetFlowBreak(TextEventDetail, true); TextDestination.ImageList = ResourceManager.Instance.Equipments; TextEventKind.ImageList = ResourceManager.Instance.Equipments; TextEventDetail.ImageList = ResourceManager.Instance.Equipments; TextFormation.ImageList = ResourceManager.Instance.Icons; TextAirSuperiority.ImageList = ResourceManager.Instance.Equipments; TextAirSuperiority.ImageIndex = (int)ResourceManager.EquipmentContent.CarrierBasedFighter; ConfigurationChanged(); Icon = ResourceManager.ImageToIcon(ResourceManager.Instance.Icons.Images[(int)ResourceManager.IconContent.FormCompass]); }
private void UpdateEnemyFleetInstant(bool isPractice = false) { BattleManager bm = KCDatabase.Instance.Battle; BattleData bd; switch (bm.BattleMode & BattleManager.BattleModes.BattlePhaseMask) { case BattleManager.BattleModes.NightOnly: case BattleManager.BattleModes.NightDay: bd = bm.BattleNight; break; default: bd = bm.BattleDay; break; } int[] enemies = bd.Initial.EnemyMembers; int[][] slots = bd.Initial.EnemySlots; int[] levels = bd.Initial.EnemyLevels; int[][] parameters = bd.Initial.EnemyParameters; int[] hps = bd.Initial.MaxHPs; _enemyFleetCandidate = null; _enemyFleetCandidateIndex = -1; if ((bm.BattleMode & BattleManager.BattleModes.BattlePhaseMask) != BattleManager.BattleModes.Practice) { var efcurrent = EnemyFleetRecord.EnemyFleetElement.CreateFromCurrentState(); var efrecord = RecordManager.Instance.EnemyFleet[efcurrent.FleetID]; if (efrecord != null) { TextEnemyFleetName.Text = efrecord.FleetName; } TextEventDetail.Text = "敵艦隊ID: " + efcurrent.FleetID.ToString("x8"); ToolTipInfo.SetToolTip(TextEventDetail, null); } TextFormation.Text = Constants.GetFormationShort((int)bd.Searching.FormationEnemy); //TextFormation.ImageIndex = (int)ResourceManager.IconContent.BattleFormationEnemyLineAhead + bd.Searching.FormationEnemy - 1; TextFormation.Visible = true; { int air = Calculator.GetAirSuperiority(enemies, slots); TextAirSuperiority.Text = isPractice ? air.ToString() + " ~ " + Calculator.GetAirSuperiorityAtMaxLevel(enemies, slots).ToString() : air.ToString(); ToolTipInfo.SetToolTip(TextAirSuperiority, GetAirSuperiorityString(isPractice ? 0 : air)); TextAirSuperiority.Visible = true; } TableEnemyMember.SuspendLayout(); for (int i = 0; i < ControlMembers.Length; i++) { int shipID = enemies[i]; ControlMembers[i].Update(shipID, shipID != -1 ? slots[i] : null); if (shipID != -1) { ControlMembers[i].UpdateEquipmentToolTip(shipID, slots[i], levels[i], hps[i + 6], parameters[i][0], parameters[i][1], parameters[i][2], parameters[i][3]); } } TableEnemyMember.ResumeLayout(); TableEnemyMember.Visible = true; PanelEnemyFleet.Visible = true; PanelEnemyCandidate.Visible = false; BasePanel.Visible = true; //checkme }
private void UpdateEnemyFleetInstant(bool isPractice = false) { BattleManager bm = KCDatabase.Instance.Battle; BattleData bd = bm.FirstBattle; int[] enemies = bd.Initial.EnemyMembers; int[][] slots = bd.Initial.EnemySlots; int[] levels = bd.Initial.EnemyLevels; int[][] parameters = bd.Initial.EnemyParameters; int[] hps = bd.Initial.EnemyMaxHPs; _enemyFleetCandidate = null; _enemyFleetCandidateIndex = -1; if (!bm.IsPractice) { var efcurrent = EnemyFleetRecord.EnemyFleetElement.CreateFromCurrentState(); var efrecord = RecordManager.Instance.EnemyFleet[efcurrent.FleetID]; if (efrecord != null) { TextEnemyFleetName.Text = efrecord.FleetName; TextEnemyFleetName.Font = Utility.Configuration.Config.UI.JapFont; TextEventDetail.Text = "Exp: " + efrecord.ExpShip; } ToolTipInfo.SetToolTip(TextEventDetail, "敌舰队 ID: " + efcurrent.FleetID.ToString("x16")); } TextFormation.Text = Constants.GetFormationShort((int)bd.Searching.FormationEnemy); //TextFormation.ImageIndex = (int)ResourceManager.IconContent.BattleFormationEnemyLineAhead + bd.Searching.FormationEnemy - 1; TextFormation.Visible = true; { int air = Calculator.GetAirSuperiority(enemies, slots); TextAirSuperiority.Text = isPractice ? air.ToString() + " ~ " + Calculator.GetAirSuperiorityAtMaxLevel(enemies, slots).ToString() : air.ToString(); ToolTipInfo.SetToolTip(TextAirSuperiority, GetAirSuperiorityString(isPractice ? 0 : air)); TextAirSuperiority.Visible = true; } TableEnemyMember.SuspendLayout(); for (int i = 0; i < ControlMembers.Length; i++) { int shipID = enemies[i]; ControlMembers[i].Update(shipID, shipID != -1 ? slots[i] : null); if (shipID != -1) ControlMembers[i].UpdateEquipmentToolTip(shipID, slots[i], levels[i], hps[i], parameters[i][0], parameters[i][1], parameters[i][2], parameters[i][3]); } TableEnemyMember.ResumeLayout(); TableEnemyMember.Visible = true; PanelEnemyFleet.Visible = true; PanelEnemyCandidate.Visible = false; BasePanel.Visible = true; //checkme }