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;
 }