|
@@ -10,7 +10,7 @@ public class KupaCtrl
|
|
|
this.m_body0 = body0;
|
|
|
for (int i = 0; i < this.m_morphId.Length; i++)
|
|
|
{
|
|
|
- this.m_morphId[i] = -1;
|
|
|
+ this.m_morphMozaId[i] = (this.m_morphId[i] = -1);
|
|
|
}
|
|
|
if (this.m_morph.hash.ContainsKey("openkupa"))
|
|
|
{
|
|
@@ -49,6 +49,31 @@ public class KupaCtrl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public void AddMozaMorph(TMorph morphMoza)
|
|
|
+ {
|
|
|
+ this.m_morphMoza = morphMoza;
|
|
|
+ if (this.m_morphMoza.hash.ContainsKey("openkupa"))
|
|
|
+ {
|
|
|
+ this.m_morphMozaId[0] = (int)this.m_morphMoza.hash["openkupa"];
|
|
|
+ }
|
|
|
+ if (this.m_morphMoza.hash.ContainsKey("openvagina"))
|
|
|
+ {
|
|
|
+ this.m_morphMozaId[1] = (int)this.m_morphMoza.hash["openvagina"];
|
|
|
+ }
|
|
|
+ if (this.m_morphMoza.hash.ContainsKey("openanal"))
|
|
|
+ {
|
|
|
+ this.m_morphMozaId[2] = (int)this.m_morphMoza.hash["openanal"];
|
|
|
+ }
|
|
|
+ if (this.m_morphMoza.hash.ContainsKey("chinkos"))
|
|
|
+ {
|
|
|
+ this.m_morphMozaId[3] = (int)this.m_morphMoza.hash["chinkos"];
|
|
|
+ }
|
|
|
+ if (this.m_morphMoza.hash.ContainsKey("chinkof"))
|
|
|
+ {
|
|
|
+ this.m_morphMozaId[4] = (int)this.m_morphMoza.hash["chinkof"];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public void FinishAll()
|
|
|
{
|
|
|
for (int i = 0; i < this.m_taskList.Count; i++)
|
|
@@ -57,6 +82,10 @@ public class KupaCtrl
|
|
|
}
|
|
|
this.m_taskList.Clear();
|
|
|
this.m_morph.FixBlendValues();
|
|
|
+ if (this.m_morphMoza != null)
|
|
|
+ {
|
|
|
+ this.m_morphMoza.FixBlendValues();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public void ResetAll()
|
|
@@ -66,10 +95,18 @@ public class KupaCtrl
|
|
|
if (this.m_morphId[i] != -1)
|
|
|
{
|
|
|
this.m_morph.SetBlendValues(this.m_morphId[i], 0f);
|
|
|
+ if (this.m_morphMoza != null && this.m_morphMozaId[i] != -1)
|
|
|
+ {
|
|
|
+ this.m_morphMoza.SetBlendValues(this.m_morphMozaId[i], 0f);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
this.m_taskList.Clear();
|
|
|
this.m_morph.FixBlendValues();
|
|
|
+ if (this.m_morphMoza != null)
|
|
|
+ {
|
|
|
+ this.m_morphMoza.FixBlendValues();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public void KupaStart(KupaCtrl.OPEN reg, float trans, float delay, float val, bool add = false)
|
|
@@ -80,7 +117,7 @@ public class KupaCtrl
|
|
|
}
|
|
|
if (this.m_morphId[(int)reg] != -1)
|
|
|
{
|
|
|
- this.m_taskList.Add(new KupaCtrl.Task(this.m_morph, this.m_morphId[(int)reg], reg, trans, delay, val));
|
|
|
+ this.m_taskList.Add(new KupaCtrl.Task(this.m_morph, this.m_morphMoza, this.m_morphId[(int)reg], this.m_morphMozaId[(int)reg], reg, trans, delay, val));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -103,7 +140,7 @@ public class KupaCtrl
|
|
|
array[2] = array[1].Find("chinko_nub");
|
|
|
if (this.m_morphId[(int)reg] != -1)
|
|
|
{
|
|
|
- this.m_taskList.Add(new KupaCtrl.Target(this.m_morph, this.m_morphId[(int)reg], reg, this.m_trans[(int)reg], array, val, speedIn, sppedOut, outVal, lengthRatio));
|
|
|
+ this.m_taskList.Add(new KupaCtrl.Target(this.m_morph, this.m_morphMoza, this.m_morphId[(int)reg], this.m_morphMozaId[(int)reg], reg, this.m_trans[(int)reg], array, val, speedIn, sppedOut, outVal, lengthRatio));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -128,7 +165,7 @@ public class KupaCtrl
|
|
|
Transform src = CMT.SearchObjName(targetMaid.body0.m_trBones, this.m_targetBoneName[(int)target], true);
|
|
|
if (this.m_morphId[(int)reg] != -1)
|
|
|
{
|
|
|
- this.m_taskList.Add(new KupaCtrl.Target(this.m_morph, this.m_morphId[(int)reg], reg, src, array, destVal, speedIn, sppedOut, outVal, lengthRatio));
|
|
|
+ this.m_taskList.Add(new KupaCtrl.Target(this.m_morph, this.m_morphMoza, this.m_morphId[(int)reg], this.m_morphMozaId[(int)reg], reg, src, array, destVal, speedIn, sppedOut, outVal, lengthRatio));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -151,6 +188,10 @@ public class KupaCtrl
|
|
|
if (this.m_morphId[(int)reg] != -1)
|
|
|
{
|
|
|
this.m_morph.SetBlendValues(this.m_morphId[(int)reg], 0f);
|
|
|
+ if (this.m_morphMoza != null && this.m_morphMozaId[(int)reg] != -1)
|
|
|
+ {
|
|
|
+ this.m_morphMoza.SetBlendValues(this.m_morphMozaId[(int)reg], 0f);
|
|
|
+ }
|
|
|
}
|
|
|
this.m_taskList.RemoveAll((KupaCtrl.ATask i) => i.m_reg == reg);
|
|
|
}
|
|
@@ -165,16 +206,24 @@ public class KupaCtrl
|
|
|
if (flag)
|
|
|
{
|
|
|
this.m_morph.FixBlendValues();
|
|
|
+ if (this.m_morphMoza != null)
|
|
|
+ {
|
|
|
+ this.m_morphMoza.FixBlendValues();
|
|
|
+ }
|
|
|
}
|
|
|
this.m_taskList.RemoveAll((KupaCtrl.ATask i) => !i.IsVisible());
|
|
|
}
|
|
|
|
|
|
public TMorph m_morph;
|
|
|
|
|
|
+ public TMorph m_morphMoza;
|
|
|
+
|
|
|
public TBody m_body0;
|
|
|
|
|
|
private int[] m_morphId = new int[5];
|
|
|
|
|
|
+ private int[] m_morphMozaId = new int[5];
|
|
|
+
|
|
|
private string[] m_targetBoneName = new string[]
|
|
|
{
|
|
|
"Mouth",
|
|
@@ -206,10 +255,12 @@ public class KupaCtrl
|
|
|
|
|
|
private abstract class ATask
|
|
|
{
|
|
|
- public ATask(TMorph morph, int id, KupaCtrl.OPEN reg)
|
|
|
+ public ATask(TMorph morph, TMorph morphMoza, int id, int mozaId, KupaCtrl.OPEN reg)
|
|
|
{
|
|
|
this.m_morph = morph;
|
|
|
+ this.m_morphMoza = morphMoza;
|
|
|
this.m_id = id;
|
|
|
+ this.m_mozaId = mozaId;
|
|
|
this.m_reg = reg;
|
|
|
}
|
|
|
|
|
@@ -223,6 +274,10 @@ public class KupaCtrl
|
|
|
public virtual void ForceReset()
|
|
|
{
|
|
|
this.m_morph.SetBlendValues(this.m_id, 0f);
|
|
|
+ if (this.m_morphMoza != null && this.m_mozaId != -1)
|
|
|
+ {
|
|
|
+ this.m_morphMoza.SetBlendValues(this.m_mozaId, 0f);
|
|
|
+ }
|
|
|
this.m_visible = false;
|
|
|
}
|
|
|
|
|
@@ -230,8 +285,12 @@ public class KupaCtrl
|
|
|
|
|
|
protected TMorph m_morph;
|
|
|
|
|
|
+ protected TMorph m_morphMoza;
|
|
|
+
|
|
|
protected int m_id;
|
|
|
|
|
|
+ protected int m_mozaId;
|
|
|
+
|
|
|
public KupaCtrl.OPEN m_reg;
|
|
|
|
|
|
protected bool m_visible;
|
|
@@ -239,7 +298,7 @@ public class KupaCtrl
|
|
|
|
|
|
private class Task : KupaCtrl.ATask
|
|
|
{
|
|
|
- public Task(TMorph morph, int id, KupaCtrl.OPEN reg, float trans, float delay, float val) : base(morph, id, reg)
|
|
|
+ public Task(TMorph morph, TMorph morphMoza, int id, int mozaId, KupaCtrl.OPEN reg, float trans, float delay, float val) : base(morph, morphMoza, id, mozaId, reg)
|
|
|
{
|
|
|
this.m_transTime = trans;
|
|
|
this.m_delayTime = delay;
|
|
@@ -257,6 +316,10 @@ public class KupaCtrl
|
|
|
public override void ForceFinish()
|
|
|
{
|
|
|
this.m_morph.SetBlendValues(this.m_id, this.m_distVal);
|
|
|
+ if (this.m_morphMoza != null && this.m_mozaId != -1)
|
|
|
+ {
|
|
|
+ this.m_morphMoza.SetBlendValues(this.m_mozaId, this.m_distVal);
|
|
|
+ }
|
|
|
this.m_visible = false;
|
|
|
}
|
|
|
|
|
@@ -297,6 +360,10 @@ public class KupaCtrl
|
|
|
if (num4 != this.m_morph.GetBlendValues(this.m_id))
|
|
|
{
|
|
|
this.m_morph.SetBlendValues(this.m_id, num4);
|
|
|
+ if (this.m_morphMoza != null && this.m_mozaId != -1)
|
|
|
+ {
|
|
|
+ this.m_morphMoza.SetBlendValues(this.m_mozaId, num4);
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
@@ -321,7 +388,7 @@ public class KupaCtrl
|
|
|
|
|
|
private class Target : KupaCtrl.ATask
|
|
|
{
|
|
|
- public Target(TMorph morph, int id, KupaCtrl.OPEN reg, Transform src, Transform[] target, float val = 1f, float speedIn = 5f, float sppedOut = 5f, float outVal = 0f, float lengthRatio = 1f) : base(morph, id, reg)
|
|
|
+ public Target(TMorph morph, TMorph morphMoza, int id, int mozaId, KupaCtrl.OPEN reg, Transform src, Transform[] target, float val = 1f, float speedIn = 5f, float sppedOut = 5f, float outVal = 0f, float lengthRatio = 1f) : base(morph, morphMoza, id, mozaId, reg)
|
|
|
{
|
|
|
this.m_src = src;
|
|
|
this.m_target = target;
|
|
@@ -343,6 +410,10 @@ public class KupaCtrl
|
|
|
public override void ForceReset()
|
|
|
{
|
|
|
this.m_morph.SetBlendValues(this.m_id, 0f);
|
|
|
+ if (this.m_morphMoza != null && this.m_mozaId != -1)
|
|
|
+ {
|
|
|
+ this.m_morphMoza.SetBlendValues(this.m_mozaId, 0f);
|
|
|
+ }
|
|
|
this.m_visible = false;
|
|
|
}
|
|
|
|
|
@@ -431,6 +502,10 @@ public class KupaCtrl
|
|
|
if (num13 != this.m_morph.GetBlendValues(this.m_id))
|
|
|
{
|
|
|
this.m_morph.SetBlendValues(this.m_id, num13);
|
|
|
+ if (this.m_morphMoza != null && this.m_mozaId != -1)
|
|
|
+ {
|
|
|
+ this.m_morphMoza.SetBlendValues(this.m_mozaId, num13);
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|