FaceWindowPane.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using UnityEngine;
  2. namespace MeidoPhotoStudio.Plugin;
  3. public class FaceWindowPane : BaseMainWindowPane
  4. {
  5. private readonly MeidoManager meidoManager;
  6. private readonly MaidFaceSliderPane maidFaceSliderPane;
  7. private readonly MaidFaceBlendPane maidFaceBlendPane;
  8. private readonly MaidSwitcherPane maidSwitcherPane;
  9. private readonly SaveFacePane saveFacePane;
  10. private readonly Toggle saveFaceToggle;
  11. private bool saveFaceMode;
  12. public FaceWindowPane(MeidoManager meidoManager, MaidSwitcherPane maidSwitcherPane)
  13. {
  14. this.meidoManager = meidoManager;
  15. this.maidSwitcherPane = maidSwitcherPane;
  16. maidFaceSliderPane = AddPane(new MaidFaceSliderPane(this.meidoManager));
  17. maidFaceBlendPane = AddPane(new MaidFaceBlendPane(this.meidoManager));
  18. saveFacePane = AddPane(new SaveFacePane(this.meidoManager));
  19. saveFaceToggle = new(Translation.Get("maidFaceWindow", "savePaneToggle"));
  20. saveFaceToggle.ControlEvent += (_, _) =>
  21. saveFaceMode = !saveFaceMode;
  22. }
  23. public override void Draw()
  24. {
  25. tabsPane.Draw();
  26. maidSwitcherPane.Draw();
  27. maidFaceBlendPane.Draw();
  28. scrollPos = GUILayout.BeginScrollView(scrollPos);
  29. maidFaceSliderPane.Draw();
  30. GUI.enabled = meidoManager.HasActiveMeido;
  31. saveFaceToggle.Draw();
  32. GUI.enabled = true;
  33. if (saveFaceMode)
  34. saveFacePane.Draw();
  35. GUILayout.EndScrollView();
  36. }
  37. public override void UpdatePanes()
  38. {
  39. if (!meidoManager.HasActiveMeido)
  40. return;
  41. if (!ActiveWindow)
  42. return;
  43. meidoManager.ActiveMeido.StopBlink();
  44. base.UpdatePanes();
  45. }
  46. protected override void ReloadTranslation() =>
  47. saveFaceToggle.Label = Translation.Get("maidFaceWindow", "savePaneToggle");
  48. }