Esempio n. 1
0
        public void LoadFrom(BoobsEditor other)
        {
            PHPE._self.ExecuteDelayed(() =>
            {
                ChaControl charFemale  = this._target.ociChar.charInfo;
                ChaControl otherFemale = other._target.ociChar.charInfo;

                this._alternativeUpdateMode = other._alternativeUpdateMode;
                foreach (KeyValuePair <DynamicBone_Ver02, BoobData> kvp in other._dirtyDynamicBones)
                {
                    DynamicBone_Ver02 db = this.GetDynamicBone(other.GetID(kvp.Key));

                    if (db != null)
                    {
                        if (kvp.Value.originalEnabled.hasValue)
                        {
                            db.enabled = other.GetEnabled(kvp.Key);
                        }
                        if (kvp.Value.originalForce.hasValue)
                        {
                            db.Force = other.GetForce(kvp.Key);
                        }
                        if (kvp.Value.originalGravity.hasValue)
                        {
                            db.Gravity = other.GetGravity(kvp.Key);
                        }
                        this._dirtyDynamicBones.Add(db, new BoobData(kvp.Value));
                    }
                }
            }, 2);
        }
Esempio n. 2
0
 private static void UpdateDebugLinesState(BoobsEditor self)
 {
     if (_debugLines != null)
     {
         bool flag = self != null && self.GizmosEnabled();
         _debugLines.SetActive(flag);
     }
 }
Esempio n. 3
0
 public static void Populate()
 {
     ToolBox.TimelineCompatibility.AddInterpolableModelDynamic(
         owner: PHPEPlugin._name,
         id: "leftBoobEnabled",
         name: "Left Boob Enabled",
         interpolateBefore: (oci, parameter, leftValue, rightValue, factor) =>
     {
         BoobsEditor p = ((BoobsEditor)parameter);
         if (p.GetEnabled(p._leftBoob) != (bool)leftValue)
         {
             p.SetEnabled(((BoobsEditor)parameter)._leftBoob, (bool)leftValue);
         }
     },
         interpolateAfter: null,
         isCompatibleWithTarget: IsCompatibleWithTarget,
         getValue: (oci, parameter) => ((BoobsEditor)parameter).GetEnabled(((BoobsEditor)parameter)._leftBoob),
         readValueFromXml: (parameter, node) => node.ReadBool("value"),
         writeValueToXml: (parameter, writer, o) => writer.WriteValue("value", (bool)o),
         getParameter: GetParameter,
         readParameterFromXml: null,
         writeParameterToXml: null,
         checkIntegrity: CheckIntegrity
         );
     ToolBox.TimelineCompatibility.AddInterpolableModelDynamic(
         owner: PHPEPlugin._name,
         id: "leftBoobGravity",
         name: "Left Boob Gravity",
         interpolateBefore: (oci, parameter, leftValue, rightValue, factor) => ((BoobsEditor)parameter).SetGravity(((BoobsEditor)parameter)._leftBoob, Vector3.LerpUnclamped((Vector3)leftValue, (Vector3)rightValue, factor)),
         interpolateAfter: null,
         isCompatibleWithTarget: IsCompatibleWithTarget,
         getValue: (oci, parameter) => ((BoobsEditor)parameter).GetGravity(((BoobsEditor)parameter)._leftBoob),
         readValueFromXml: (parameter, node) => node.ReadVector3("value"),
         writeValueToXml: (parameter, writer, o) => writer.WriteValue("value", (Vector3)o),
         getParameter: GetParameter,
         readParameterFromXml: null,
         writeParameterToXml: null,
         checkIntegrity: CheckIntegrity
         );
     ToolBox.TimelineCompatibility.AddInterpolableModelDynamic(
         owner: PHPEPlugin._name,
         id: "leftBoobForce",
         name: "Left Boob Force",
         interpolateBefore: (oci, parameter, leftValue, rightValue, factor) => ((BoobsEditor)parameter).SetForce(((BoobsEditor)parameter)._leftBoob, Vector3.LerpUnclamped((Vector3)leftValue, (Vector3)rightValue, factor)),
         interpolateAfter: null,
         isCompatibleWithTarget: IsCompatibleWithTarget,
         getValue: (oci, parameter) => ((BoobsEditor)parameter).GetForce(((BoobsEditor)parameter)._leftBoob),
         readValueFromXml: (parameter, node) => node.ReadVector3("value"),
         writeValueToXml: (parameter, writer, o) => writer.WriteValue("value", (Vector3)o),
         getParameter: GetParameter,
         readParameterFromXml: null,
         writeParameterToXml: null,
         checkIntegrity: CheckIntegrity
         );
     ToolBox.TimelineCompatibility.AddInterpolableModelDynamic(
         owner: PHPEPlugin._name,
         id: "rightBoobEnabled",
         name: "Right Boob Enabled",
         interpolateBefore: (oci, parameter, leftValue, rightValue, factor) =>
     {
         BoobsEditor p = ((BoobsEditor)parameter);
         if (p.GetEnabled(p._rightBoob) != (bool)leftValue)
         {
             p.SetEnabled(((BoobsEditor)parameter)._rightBoob, (bool)leftValue);
         }
     },
         interpolateAfter: null,
         isCompatibleWithTarget: IsCompatibleWithTarget,
         getValue: (oci, parameter) => ((BoobsEditor)parameter).GetEnabled(((BoobsEditor)parameter)._rightBoob),
         readValueFromXml: (parameter, node) => node.ReadBool("value"),
         writeValueToXml: (parameter, writer, o) => writer.WriteValue("value", (bool)o),
         getParameter: GetParameter,
         readParameterFromXml: null,
         writeParameterToXml: null,
         checkIntegrity: CheckIntegrity
         );
     ToolBox.TimelineCompatibility.AddInterpolableModelDynamic(
         owner: PHPEPlugin._name,
         id: "rightBoobGravity",
         name: "Right Boob Gravity",
         interpolateBefore: (oci, parameter, leftValue, rightValue, factor) => ((BoobsEditor)parameter).SetGravity(((BoobsEditor)parameter)._rightBoob, Vector3.LerpUnclamped((Vector3)leftValue, (Vector3)rightValue, factor)),
         interpolateAfter: null,
         isCompatibleWithTarget: IsCompatibleWithTarget,
         getValue: (oci, parameter) => ((BoobsEditor)parameter).GetGravity(((BoobsEditor)parameter)._rightBoob),
         readValueFromXml: (parameter, node) => node.ReadVector3("value"),
         writeValueToXml: (parameter, writer, o) => writer.WriteValue("value", (Vector3)o),
         getParameter: GetParameter,
         readParameterFromXml: null,
         writeParameterToXml: null,
         checkIntegrity: CheckIntegrity
         );
     ToolBox.TimelineCompatibility.AddInterpolableModelDynamic(
         owner: PHPEPlugin._name,
         id: "rightBoobForce",
         name: "Right Boob Force",
         interpolateBefore: (oci, parameter, leftValue, rightValue, factor) => ((BoobsEditor)parameter).SetForce(((BoobsEditor)parameter)._rightBoob, Vector3.LerpUnclamped((Vector3)leftValue, (Vector3)rightValue, factor)),
         interpolateAfter: null,
         isCompatibleWithTarget: IsCompatibleWithTarget,
         getValue: (oci, parameter) => ((BoobsEditor)parameter).GetForce(((BoobsEditor)parameter)._rightBoob),
         readValueFromXml: (parameter, node) => node.ReadVector3("value"),
         writeValueToXml: (parameter, writer, o) => writer.WriteValue("value", (Vector3)o),
         getParameter: GetParameter,
         readParameterFromXml: null,
         writeParameterToXml: null,
         checkIntegrity: CheckIntegrity
         );
 }
Esempio n. 4
0
 public static void SelectionChanged(BoobsEditor self)
 {
     UpdateDebugLinesState(self);
 }