using System.Collections.Generic; namespace MeidoPhotoStudio.Plugin { public class EffectsPane : BasePane { private readonly Dictionary effectPanes = new Dictionary(); private readonly List effectList = new List(); private readonly SelectionGrid effectToggles; private BasePane currentEffectPane; public BasePane this[string effectUI] { private get => effectPanes[effectUI]; set { effectPanes[effectUI] = value; effectList.Add(effectUI); effectToggles.SetItems(Translation.GetArray("effectsPane", effectList), 0); } } public EffectsPane() { effectToggles = new SelectionGrid(new[] { "dummy" /* thicc */ }); effectToggles.ControlEvent += (s, a) => SetEffectPane(effectList[effectToggles.SelectedItemIndex]); } protected override void ReloadTranslation() { effectToggles.SetItems(Translation.GetArray("effectsPane", effectList)); } private void SetEffectPane(string effectUI) { currentEffectPane = effectPanes[effectUI]; currentEffectPane.UpdatePane(); } public override void UpdatePane() => currentEffectPane.UpdatePane(); public override void Draw() { MpsGui.Header("Effects"); MpsGui.WhiteLine(); effectToggles.Draw(); MpsGui.BlackLine(); currentEffectPane.Draw(); } } }