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); }
private static void UpdateDebugLinesState(BoobsEditor self) { if (_debugLines != null) { bool flag = self != null && self.GizmosEnabled(); _debugLines.SetActive(flag); } }
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 ); }
public static void SelectionChanged(BoobsEditor self) { UpdateDebugLinesState(self); }