Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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);
                    }
                }
            }
        }
Exemplo n.º 6
0
        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);
                    }
                }
            }
        }