private void loadPortraitTypes() { logger.Info("Loading PortraitTypes."); object previouslySelectedBasePortrait = null; object previouslySelectedOverridePortrait = null; if (cbPortraitTypes.SelectedItem != null) { previouslySelectedBasePortrait = cbPortraitTypes.Items[cbPortraitTypes.SelectedIndex]; } if (cbCulturePortraitTypes.SelectedItem != null) { previouslySelectedOverridePortrait = cbCulturePortraitTypes.Items[cbCulturePortraitTypes.SelectedIndex]; } cbPortraitTypes.Items.Clear(); cbCulturePortraitTypes.Items.Clear(); loader.LoadPortraits(); if (loader.GetActivePortraitData().PortraitTypes.Count == 0) { logger.Fatal("No portrait types found."); return; } cbCulturePortraitTypes.Items.Add(""); // Empty = no override foreach (KeyValuePair <string, PortraitType> pair in loader.GetActivePortraitData().PortraitTypes) { PortraitType portraitType = pair.Value; String portraitName = portraitType.Name.Replace("PORTRAIT_", ""); if (portraitType.IsBasePortraitType()) { cbPortraitTypes.Items.Add(portraitName); } cbCulturePortraitTypes.Items.Add(portraitName); } if (previouslySelectedBasePortrait != null) { cbPortraitTypes.SelectedIndex = cbPortraitTypes.Items.IndexOf(previouslySelectedBasePortrait); } if (previouslySelectedOverridePortrait != null) { cbCulturePortraitTypes.SelectedIndex = cbCulturePortraitTypes.Items.IndexOf(previouslySelectedOverridePortrait); } if (cbPortraitTypes.SelectedIndex == -1) { cbPortraitTypes.SelectedIndex = 0; } if (cbCulturePortraitTypes.SelectedIndex == -1) { cbCulturePortraitTypes.SelectedIndex = 0; } portrait.SetPortraitType(getSelectedPortraitType()); }