DragPointPane.cs 2.7 KB

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