DragPointPane.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using UnityEngine;
  2. namespace MeidoPhotoStudio.Plugin;
  3. public class DragPointPane : BasePane
  4. {
  5. private enum Setting { Prop, Maid, Background, Size }
  6. private readonly Toggle propsCubeToggle;
  7. private readonly Toggle smallCubeToggle;
  8. private readonly Toggle maidCubeToggle;
  9. private readonly Toggle bgCubeToggle;
  10. private string header;
  11. public DragPointPane()
  12. {
  13. header = Translation.Get("movementCube", "header");
  14. propsCubeToggle = new(Translation.Get("movementCube", "props"), PropManager.CubeActive);
  15. propsCubeToggle.ControlEvent += (_, _) =>
  16. ChangeDragPointSetting(Setting.Prop, propsCubeToggle.Value);
  17. smallCubeToggle = new(Translation.Get("movementCube", "small"));
  18. smallCubeToggle.ControlEvent += (_, _) =>
  19. ChangeDragPointSetting(Setting.Size, smallCubeToggle.Value);
  20. maidCubeToggle = new(Translation.Get("movementCube", "maid"), MeidoDragPointManager.CubeActive);
  21. maidCubeToggle.ControlEvent += (_, _) =>
  22. ChangeDragPointSetting(Setting.Maid, maidCubeToggle.Value);
  23. bgCubeToggle = new(Translation.Get("movementCube", "bg"), EnvironmentManager.CubeActive);
  24. bgCubeToggle.ControlEvent += (_, _) =>
  25. ChangeDragPointSetting(Setting.Background, bgCubeToggle.Value);
  26. }
  27. public override void Draw()
  28. {
  29. MpsGui.Header(header);
  30. MpsGui.WhiteLine();
  31. GUILayout.BeginHorizontal();
  32. propsCubeToggle.Draw();
  33. smallCubeToggle.Draw();
  34. maidCubeToggle.Draw();
  35. bgCubeToggle.Draw();
  36. GUILayout.EndHorizontal();
  37. }
  38. protected override void ReloadTranslation()
  39. {
  40. header = Translation.Get("movementCube", "header");
  41. propsCubeToggle.Label = Translation.Get("movementCube", "props");
  42. smallCubeToggle.Label = Translation.Get("movementCube", "small");
  43. maidCubeToggle.Label = Translation.Get("movementCube", "maid");
  44. bgCubeToggle.Label = Translation.Get("movementCube", "bg");
  45. }
  46. private void ChangeDragPointSetting(Setting setting, bool value)
  47. {
  48. switch (setting)
  49. {
  50. case Setting.Prop:
  51. PropManager.CubeActive = value;
  52. break;
  53. case Setting.Background:
  54. EnvironmentManager.CubeActive = value;
  55. break;
  56. case Setting.Maid:
  57. MeidoDragPointManager.CubeActive = value;
  58. break;
  59. case Setting.Size:
  60. MeidoDragPointManager.CubeSmall = value;
  61. EnvironmentManager.CubeSmall = value;
  62. PropManager.CubeSmall = value;
  63. break;
  64. default:
  65. break;
  66. }
  67. }
  68. }