private void UpdatePage(bool setFade) { if (setFade) { SetFade(); } if (_campaignFile.Stages == null || _page < 0 || _page >= _campaignFile.Stages.Length) { return; } CampaignStageInfo stage = _campaignFile.Stages[_page]; //if (stage.House < 0 || (int)stage.House >= _iconSprite.Length) { return; } this.SuspendDrawing(); spPrevPage.Enabled = false; spNextPage.Enabled = false; ColorImage(stage.CampaignColorMap); ClearIcons(); spTitle.Text = _campaignFile.Stages[_page].Name; this.ResumeDrawing(); if (setFade) { spTerritories.FadeCycleCompleted = () => UpdateIcons(stage); } else { UpdateIcons(stage); } }
private void UpdateIcons(CampaignStageInfo stage) { this.SuspendDrawing(); for (int i = 0; i < stage.Missions.Length; i++) { CampaignMissionInfo mission = stage.Missions[i]; AddIcon((int)mission.House, _missions[stage][i], mission.RegionID, mission.UnitDescription ?? stage.UnitDescription); } spPrevPage.Enabled = _page > 0; spNextPage.Enabled = _page < _campaignFile.Stages.Length - 1; this.ResumeDrawing(); spTerritories.FadeCycleCompleted = null; }