예제 #1
0
        private static string GetValue(object instance, Type fieldType, FieldInfo field)
        {
            string result = null;
            object val    = field.GetValue(instance);

            if (val == null)
            {
                return(null);
            }

            if (fieldType == typeof(Shader) || fieldType == typeof(Texture2D))
            {
                return(null);
            }

            if (fieldType.IsPrimitive)
            {
                result = val.ToString();
            }
            else if (fieldType.IsEnum)
            {
                result = ((int)val).ToString();
            }
            else if (fieldType == typeof(Vector3))
            {
                Vector3 v3 = (Vector3)val;
                result = Util.ConvertVector3ToString(v3);
            }
            else if (fieldType == typeof(Color) || fieldType == typeof(Color32))
            {
                Color32 color = (Color)val;
                result = Util.ConvertColor32ToString(color);
            }
            else if (fieldType == typeof(AnimationCurve))
            {
                AnimationCurve curve = (AnimationCurve)val;
                result = Util.ConvertAnimationCurveToString(curve);
            }
            else if (fieldType == typeof(Transform))
            {
                Vector3 v3 = ((Transform)val).position;
                result = Util.ConvertVector3ToString(v3);
            }

            return(result);
        }
예제 #2
0
        public static XElement SaveLights()
        {
            var xml = new XElement("Lights");

            foreach (LightInfo light in lights)
            {
                var elem = new XElement("Light",
                                        new XElement("Position", Util.ConvertVector3ToString(light.position)),
                                        new XElement("EulerAngles", Util.ConvertVector3ToString(light.eulerAngles)),
                                        new XElement("Intensity", light.intensity.ToString()),
                                        new XElement("Range", light.range.ToString()),
                                        new XElement("SpotAngle", light.spotAngle.ToString()),
                                        new XElement("Color", Util.ConvertColor32ToString((Color32)light.color)),
                                        new XElement("Type", ((int)light.type).ToString()),
                                        new XElement("Enabled", light.enabled.ToString()));
                xml.Add(elem);
            }
            return(xml);
        }