Beispiel #1
0
 private void IgnoreTransformUpdates(RectTransform rectTransform)
 {
     if (rectTransform)
     {
         TransformSerializer.Ignore(rectTransform);
     }
 }
Beispiel #2
0
        // Building

        private static GameObject BuildTransformFromRecord
        (
            Dictionary <string, Transform> objectMap,
            TransformSerializer serializer
        )
        {
            Transform parent = null;

            if (!objectMap.TryGetValue(serializer.parentName, out parent))
            {
                Debug.LogError("親が見つかりませんでした: " + serializer.parentName);
                return(null);
            }

            var objectTransform = GetChildByName(parent, serializer.name);

            if (objectTransform == null)
            {
                objectTransform = CreateNewGameObject(parent, serializer.name);
                if (objectTransform == null)
                {
                    return(null);
                }
            }

            // Don't change the transform if it belongs to the base skeleton
            //var skeletonDefinition = SkeletonDefinition.LoadDefaultSkeleton();
            //if (!skeletonDefinition.AllBones.Contains(serializer.name))
            //{
            objectTransform.localScale       = serializer.scale;
            objectTransform.localEulerAngles = serializer.eulerAngles;
            objectTransform.localPosition    = serializer.position;
            //}
            return(objectTransform.gameObject);
        }
        private static bool VerifyTransformRecord
        (
            TransformSerializer transformSerializer,
            IEnumerable <string> validParentNames
        )
        {
            var isRecordValid = true;
            var objectName    = transformSerializer.name;

            if (objectName.Length == 0)
            {
                // Todo: Need more details...
                Debug.LogError("コライダー名が指定されていないものがあります");
                isRecordValid = false;
            }

            var parentName = transformSerializer.parentName;

            if (parentName.Length == 0)
            {
                Debug.LogError(objectName + " : 親名が指定されていません");
                isRecordValid = false;
            }
            else if (!validParentNames.Contains(parentName))
            {
                Debug.LogError(objectName + " : 親が見つかりません: " + parentName);
                isRecordValid = false;
            }

            return(isRecordValid);
        }
Beispiel #4
0
        private static bool VerifyTransformRecord
        (
            TransformSerializer transformSerializer,
            IEnumerable <string> validParentNames,
            out DynamicsSetup.ParseMessage error
        )
        {
            error = null;
            var objectName = transformSerializer.name;

            if (objectName.Length == 0)
            {
                // Todo: Need more details...
                error = new DynamicsSetup.ParseMessage("コライダー名が指定されていないものがあります");
            }

            var parentName = transformSerializer.parentName;

            if (parentName.Length == 0)
            {
                error = new DynamicsSetup.ParseMessage(objectName + " : 親名が指定されていません");
            }
            else if (!validParentNames.Contains(parentName))
            {
                error = new DynamicsSetup.ParseMessage(objectName + " : 親が見つかりません: " + parentName);
            }

            return(error == null);
        }
#pragma warning restore 0649

        private static GameObject SetupTransformFromRecord
        (
            GameObject rootObject,
            Dictionary <string, Transform> objectMap,
            TransformSerializer serializer
        )
        {
            Transform parent = null;

            if (!objectMap.TryGetValue(serializer.parentName, out parent))
            {
                Debug.LogError("親が見つかりませんでした: " + serializer.parentName);
                return(null);
            }

            var objectTransform = GetChildByName(parent, serializer.name);

            if (objectTransform == null)
            {
                objectTransform = CreateNewGameObject(parent, serializer.name);
                if (objectTransform == null)
                {
                    return(null);
                }
            }

            // Don't change the transform if it is a bone
            var skinBoneNames = GameObjectUtil.GetAllBones(rootObject)
                                .Select(bone => bone.name);

            if (!skinBoneNames.Contains(serializer.name))
            {
                objectTransform.localScale       = serializer.scale;
                objectTransform.localEulerAngles = serializer.eulerAngles;
                objectTransform.localPosition    = serializer.position;
            }
            return(objectTransform.gameObject);
        }