|
@@ -7,29 +7,48 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
|
|
|
private MeidoManager meidoManager;
|
|
|
private Slider lookXSlider;
|
|
|
private Slider lookYSlider;
|
|
|
+ private Toggle headToCamToggle;
|
|
|
+ private Toggle eyeToCamToggle;
|
|
|
|
|
|
public MaidFaceLookPane(MeidoManager meidoManager)
|
|
|
{
|
|
|
this.meidoManager = meidoManager;
|
|
|
- this.lookXSlider = new Slider(Translation.Get("freeLook", "x"), -0.6f, 0.6f);
|
|
|
+ this.lookXSlider = new Slider(Translation.Get("freeLookPane", "xSlider"), -0.6f, 0.6f);
|
|
|
this.lookXSlider.ControlEvent += (s, a) => SetMaidLook();
|
|
|
|
|
|
- this.lookYSlider = new Slider(Translation.Get("freeLook", "y"), 0.5f, -0.55f);
|
|
|
+ this.lookYSlider = new Slider(Translation.Get("freeLookPane", "ySlider"), 0.5f, -0.55f);
|
|
|
this.lookYSlider.ControlEvent += (s, a) => SetMaidLook();
|
|
|
|
|
|
+ this.headToCamToggle = new Toggle(Translation.Get("freeLookPane", "headToCamToggle"));
|
|
|
+ this.headToCamToggle.ControlEvent += (s, a) => SetHeadToCam(headToCamToggle.Value, eye: false);
|
|
|
+
|
|
|
+ this.eyeToCamToggle = new Toggle(Translation.Get("freeLookPane", "eyeToCamToggle"));
|
|
|
+ this.eyeToCamToggle.ControlEvent += (s, a) => SetHeadToCam(eyeToCamToggle.Value, eye: true);
|
|
|
}
|
|
|
|
|
|
protected override void ReloadTranslation()
|
|
|
{
|
|
|
- this.lookXSlider.Label = Translation.Get("freeLook", "x");
|
|
|
- this.lookYSlider.Label = Translation.Get("freeLook", "y");
|
|
|
+ this.lookXSlider.Label = Translation.Get("freeLookPane", "xSlider");
|
|
|
+ this.lookYSlider.Label = Translation.Get("freeLookPane", "ySlider");
|
|
|
+ this.headToCamToggle.Label = Translation.Get("freeLookPane", "headToCamToggle");
|
|
|
+ this.eyeToCamToggle.Label = Translation.Get("freeLookPane", "eyeToCamToggle");
|
|
|
+ }
|
|
|
+
|
|
|
+ public void SetHeadToCam(bool value, bool eye = false)
|
|
|
+ {
|
|
|
+ if (updating) return;
|
|
|
+
|
|
|
+ Meido meido = this.meidoManager.ActiveMeido;
|
|
|
+
|
|
|
+ if (eye) meido.EyeToCam = value;
|
|
|
+ else meido.HeadToCam = value;
|
|
|
}
|
|
|
|
|
|
public void SetMaidLook()
|
|
|
{
|
|
|
if (updating) return;
|
|
|
|
|
|
- TBody body = this.meidoManager.ActiveMeido.Maid.body0;
|
|
|
+ TBody body = this.meidoManager.ActiveMeido.Body;
|
|
|
body.offsetLookTarget = new Vector3(lookYSlider.Value, 1f, lookXSlider.Value);
|
|
|
}
|
|
|
|
|
@@ -47,11 +66,13 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
|
|
|
|
|
|
public override void UpdatePane()
|
|
|
{
|
|
|
- TBody body = this.meidoManager.ActiveMeido.Maid.body0;
|
|
|
+ Meido meido = this.meidoManager.ActiveMeido;
|
|
|
this.updating = true;
|
|
|
this.SetBounds();
|
|
|
- this.lookXSlider.Value = body.offsetLookTarget.z;
|
|
|
- this.lookYSlider.Value = body.offsetLookTarget.x;
|
|
|
+ this.lookXSlider.Value = meido.Body.offsetLookTarget.z;
|
|
|
+ this.lookYSlider.Value = meido.Body.offsetLookTarget.x;
|
|
|
+ this.eyeToCamToggle.Value = meido.EyeToCam;
|
|
|
+ this.headToCamToggle.Value = meido.HeadToCam;
|
|
|
this.updating = false;
|
|
|
}
|
|
|
|
|
@@ -59,8 +80,15 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
|
|
|
{
|
|
|
GUI.enabled = this.meidoManager.HasActiveMeido && this.meidoManager.ActiveMeido.FreeLook;
|
|
|
GUILayout.BeginHorizontal();
|
|
|
- lookXSlider.Draw();
|
|
|
- lookYSlider.Draw();
|
|
|
+ this.lookXSlider.Draw();
|
|
|
+ this.lookYSlider.Draw();
|
|
|
+ GUILayout.EndHorizontal();
|
|
|
+
|
|
|
+ GUI.enabled = this.meidoManager.HasActiveMeido;
|
|
|
+
|
|
|
+ GUILayout.BeginHorizontal();
|
|
|
+ this.eyeToCamToggle.Draw();
|
|
|
+ this.headToCamToggle.Draw();
|
|
|
GUILayout.EndHorizontal();
|
|
|
|
|
|
GUI.enabled = true;
|