Exemple #1
0
            public static object OnConvertFromJSONElement(object obj, JSONElement node)
            {
                if (node == null)
                {
                    return(obj);
                }

                AnimationCurve curve = new AnimationCurve();

                JSONElement keyframesJSONElement = JSONUtils.FindChildWithAttributeValue(node, JSONConverter.kJSONFieldIdAttributeTag, "keyFrames");

                if (keyframesJSONElement != null)
                {
                    List <Keyframe> keyFrames = new List <Keyframe>();
                    foreach (JSONElement child in keyframesJSONElement.ChildNodes)
                    {
                        Keyframe keyFrame = new Keyframe();
                        keyFrame.inTangent   = JSONConverter.FieldObjectFromJSONElement <float>(child, "inTangent");
                        keyFrame.outTangent  = JSONConverter.FieldObjectFromJSONElement <float>(child, "outTangent");
                        keyFrame.tangentMode = JSONConverter.FieldObjectFromJSONElement <int>(child, "tangentMode");
                        keyFrame.time        = JSONConverter.FieldObjectFromJSONElement <float>(child, "time");
                        keyFrame.value       = JSONConverter.FieldObjectFromJSONElement <float>(child, "value");
                        keyFrames.Add(keyFrame);
                    }
                    curve.keys = keyFrames.ToArray();
                }

                return(curve);
            }
Exemple #2
0
            public static object OnConvertFromJSONElement(object obj, JSONElement node)
            {
                if (node == null)
                {
                    return(obj);
                }

                Vector2 vector = (Vector2)obj;

                vector.x = JSONConverter.FieldObjectFromJSONElement <float>(node, "x");
                vector.y = JSONConverter.FieldObjectFromJSONElement <float>(node, "y");

                return(vector);
            }
Exemple #3
0
            public static object OnConvertFromJSONElement(object obj, JSONElement node)
            {
                if (node == null)
                {
                    return(obj);
                }

                IntRange intRange = (IntRange)obj;

                intRange._min = JSONConverter.FieldObjectFromJSONElement <int>(node, "min");
                intRange._max = JSONConverter.FieldObjectFromJSONElement <int>(node, "max");

                return(intRange);
            }
Exemple #4
0
            public static object OnConvertFromJSONElement(object obj, JSONElement node)
            {
                if (node == null)
                {
                    return(obj);
                }

                FloatRange floatRange = (FloatRange)obj;

                floatRange._min = JSONConverter.FieldObjectFromJSONElement <float>(node, "min");
                floatRange._max = JSONConverter.FieldObjectFromJSONElement <float>(node, "max");

                return(floatRange);
            }
            public static object OnConvertFromJSONElement(object obj, JSONElement node)
            {
                if (node == null)
                {
                    return(obj);
                }

                Quaternion quaternion = (Quaternion)obj;

                Vector3 euler;

                euler.x = JSONConverter.FieldObjectFromJSONElement <float>(node, "x");
                euler.y = JSONConverter.FieldObjectFromJSONElement <float>(node, "y");
                euler.z = JSONConverter.FieldObjectFromJSONElement <float>(node, "z");

                return(Quaternion.Euler(euler));
            }
Exemple #6
0
            public static object OnConvertFromJSONElement(object obj, JSONElement node)
            {
                if (node == null)
                {
                    return(obj);
                }

                string valueName = JSONConverter.FieldObjectFromJSONElement <string>(node, "valueName");

                //First try to get value from string, If not possible, use the int value of the enum
                int valueInt;

                if (!ConvertFlagsFromString(obj, valueName, out valueInt))
                {
                    valueInt = JSONConverter.FieldObjectFromJSONElement <int>(node, "valueIndex");
                }

                return(Enum.ToObject(obj.GetType(), valueInt));
            }
Exemple #7
0
            public static object OnConvertFromJSONElement(object obj, JSONElement node)
            {
                if (node == null)
                {
                    return(obj);
                }

                Gradient gradient = new Gradient();

                JSONElement colorKeysJSONElement = JSONUtils.FindChildWithAttributeValue(node, JSONConverter.kJSONFieldIdAttributeTag, "colorKeys");

                if (colorKeysJSONElement != null)
                {
                    List <GradientColorKey> colorKeys = new List <GradientColorKey>();
                    foreach (JSONElement child in colorKeysJSONElement.ChildNodes)
                    {
                        GradientColorKey colorKey = new GradientColorKey();
                        colorKey.color = JSONConverter.FieldObjectFromJSONElement <Color>(child, "color");
                        colorKey.time  = JSONConverter.FieldObjectFromJSONElement <float>(child, "time");
                        colorKeys.Add(colorKey);
                    }
                    gradient.colorKeys = colorKeys.ToArray();
                }

                JSONElement alphaKeysJSONElement = JSONUtils.FindChildWithAttributeValue(node, JSONConverter.kJSONFieldIdAttributeTag, "alphaKeys");

                if (alphaKeysJSONElement != null)
                {
                    List <GradientAlphaKey> alphaKeys = new List <GradientAlphaKey>();
                    foreach (JSONElement child in alphaKeysJSONElement.ChildNodes)
                    {
                        GradientAlphaKey alphaKey = new GradientAlphaKey();
                        alphaKey.alpha = JSONConverter.FieldObjectFromJSONElement <float>(child, "alpha");
                        alphaKey.time  = JSONConverter.FieldObjectFromJSONElement <float>(child, "time");
                        alphaKeys.Add(alphaKey);
                    }
                    gradient.alphaKeys = alphaKeys.ToArray();
                }

                return(gradient);
            }
Exemple #8
0
            public static object OnConvertFromJSONElement(object obj, JSONElement node)
            {
                if (node == null)
                {
                    return(obj);
                }

                string valueName  = JSONConverter.FieldObjectFromJSONElement <string>(node, "valueName");
                int    valueIndex = JSONConverter.FieldObjectFromJSONElement <int>(node, "valueIndex");

                //First try to get value from string
                if (!string.IsNullOrEmpty(valueName) && Enum.IsDefined(obj.GetType(), valueName))
                {
                    return(Enum.Parse(obj.GetType(), valueName));
                }
                //If not possible, use the int value of the enum
                else
                {
                    return(Enum.ToObject(obj.GetType(), valueIndex));
                }
            }