MaidFreeLookPane.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using UnityEngine;
  2. namespace COM3D2.MeidoPhotoStudio.Plugin
  3. {
  4. internal class MaidFaceLookPane : BasePane
  5. {
  6. private MeidoManager meidoManager;
  7. private Slider lookXSlider;
  8. private Slider lookYSlider;
  9. public MaidFaceLookPane(MeidoManager meidoManager)
  10. {
  11. this.meidoManager = meidoManager;
  12. this.lookXSlider = new Slider(Translation.Get("freeLook", "x"), -0.6f, 0.6f);
  13. this.lookXSlider.ControlEvent += (s, a) => SetMaidLook();
  14. this.lookYSlider = new Slider(Translation.Get("freeLook", "y"), 0.5f, -0.55f);
  15. this.lookYSlider.ControlEvent += (s, a) => SetMaidLook();
  16. }
  17. protected override void ReloadTranslation()
  18. {
  19. this.lookXSlider.Label = Translation.Get("freeLook", "x");
  20. this.lookYSlider.Label = Translation.Get("freeLook", "y");
  21. }
  22. public void SetMaidLook()
  23. {
  24. if (updating) return;
  25. TBody body = this.meidoManager.ActiveMeido.Maid.body0;
  26. body.offsetLookTarget = new Vector3(lookYSlider.Value, 1f, lookXSlider.Value);
  27. }
  28. public void SetBounds()
  29. {
  30. float left = 0.5f;
  31. float right = -0.55f;
  32. if (this.meidoManager.ActiveMeido.Stop)
  33. {
  34. left *= 0.6f;
  35. right *= 0.6f;
  36. }
  37. this.lookYSlider.SetBounds(left, right);
  38. }
  39. public override void UpdatePane()
  40. {
  41. TBody body = this.meidoManager.ActiveMeido.Maid.body0;
  42. this.updating = true;
  43. this.SetBounds();
  44. this.lookXSlider.Value = body.offsetLookTarget.z;
  45. this.lookYSlider.Value = body.offsetLookTarget.x;
  46. this.updating = false;
  47. }
  48. public override void Draw()
  49. {
  50. GUI.enabled = this.meidoManager.HasActiveMeido && this.meidoManager.ActiveMeido.FreeLook;
  51. GUILayout.BeginHorizontal();
  52. lookXSlider.Draw();
  53. lookYSlider.Draw();
  54. GUILayout.EndHorizontal();
  55. GUI.enabled = true;
  56. }
  57. }
  58. }