public static void RestoreBone(GameObject obj, Transform bone) { BackUpBoneData orNullBoneData = BackUpData.GetOrNullBoneData(obj, bone); bool flag = orNullBoneData == null; if (!flag) { bool changedPos = orNullBoneData.changedPos; if (changedPos) { bone.localPosition = orNullBoneData.position; } bool changedRot = orNullBoneData.changedRot; if (changedRot) { bone.localRotation = orNullBoneData.rotation; } bool changedScl = orNullBoneData.changedScl; if (changedScl) { bone.localScale = orNullBoneData.scale; } BackUpObjectData orNullObjectData = BackUpData.GetOrNullObjectData(obj); orNullObjectData.boneDataDic.Remove(bone); } }
public static void RefreshObject(GameObject obj) { BackUpObjectData orNullObjectData = BackUpData.GetOrNullObjectData(obj); bool flag = orNullObjectData == null; if (!flag) { orNullObjectData.boneDataDic = (from kvp in orNullObjectData.boneDataDic where kvp.Key != null && (kvp.Value.changedPos || kvp.Value.changedRot || kvp.Value.changedScl) select kvp).ToDictionary((KeyValuePair <Transform, BackUpBoneData> kvp) => kvp.Key, (KeyValuePair <Transform, BackUpBoneData> kvp) => kvp.Value); } }
public static BackUpBoneData GetOrNullBoneData(GameObject obj, Transform bone) { BackUpBoneData result = null; BackUpObjectData orNullObjectData = BackUpData.GetOrNullObjectData(obj); bool flag = orNullObjectData != null && orNullObjectData.boneDataDic.ContainsKey(bone); if (flag) { result = orNullObjectData.boneDataDic[bone]; } return(result); }
public static void RestoreObject(GameObject obj) { BackUpObjectData orNullObjectData = BackUpData.GetOrNullObjectData(obj); bool flag = orNullObjectData == null; if (!flag) { List <Transform> list = new List <Transform>(orNullObjectData.boneDataDic.Keys); foreach (Transform transform in list) { bool flag2 = !transform; if (!flag2) { BackUpData.RestoreBone(obj, transform); } } BackUpData.objectDataDic.Remove(obj); } }
public static void RestoreScale(GameObject obj, Transform bone) { BackUpBoneData orNullBoneData = BackUpData.GetOrNullBoneData(obj, bone); bool flag = orNullBoneData == null; if (!flag) { bool changedScl = orNullBoneData.changedScl; if (changedScl) { bone.localScale = orNullBoneData.scale; bool flag2 = orNullBoneData.changedPos || orNullBoneData.changedRot; if (flag2) { orNullBoneData.changedScl = false; } else { BackUpData.GetOrNullObjectData(obj).boneDataDic.Remove(bone); } } } }
public static void RestorePosition(GameObject obj, Transform bone) { BackUpBoneData orNullBoneData = BackUpData.GetOrNullBoneData(obj, bone); bool flag = orNullBoneData == null; if (!flag) { bool changedPos = orNullBoneData.changedPos; if (changedPos) { bone.localPosition = orNullBoneData.position; bool flag2 = orNullBoneData.changedRot || orNullBoneData.changedScl; if (flag2) { orNullBoneData.changedPos = false; } else { BackUpData.GetOrNullObjectData(obj).boneDataDic.Remove(bone); } } } }