コード例 #1
0
ファイル: IO.cs プロジェクト: LiquideBleu/Effekseer
        public static XmlElement SaveToElement(XmlDocument doc, string element_name, Value.Vector3D value, bool isClip)
        {
            var e = doc.CreateElement(element_name);
            var x = SaveToElement(doc, "X", value.X, isClip);
            var y = SaveToElement(doc, "Y", value.Y, isClip);
            var z = SaveToElement(doc, "Z", value.Z, isClip);

            if (x != null)
            {
                e.AppendChild(x);
            }
            if (y != null)
            {
                e.AppendChild(y);
            }
            if (z != null)
            {
                e.AppendChild(z);
            }

            var d_ind = Core.Dynamic.Equations.GetIndex(value.DynamicEquation);

            if (d_ind >= 0)
            {
                var d = doc.CreateTextElement("DynamicEquation", d_ind.ToString());
                e.AppendChild(d);
            }

            return(e.ChildNodes.Count > 0 ? e : null);
        }
コード例 #2
0
ファイル: OptionValues.cs プロジェクト: kou-yeung/Effekseer
        public OptionValues()
        {
            BackgroundColor = new Value.Color(0, 0, 0, 255);
            BackgroundImage = new Value.PathForImage("画像ファイル (*.png)|*.png", false, "");
            GridColor = new Value.Color(255, 255, 255, 255);

            IsGridShown = new Value.Boolean(true);
            IsXYGridShown = new Value.Boolean(false);
            IsXZGridShown = new Value.Boolean(true);
            IsYZGridShown = new Value.Boolean(false);

            GridLength = new Value.Float(2, float.MaxValue, 0.1f);
            LightDirection = new Value.Vector3D(1, 1, 1, 1, -1, 1, -1, 1, -1, 0.1f, 0.1f, 0.1f);
            LightColor = new Value.Color(215, 215, 215, 255);
            LightAmbientColor = new Value.Color(40, 40, 40, 255);
            Magnification = new Value.Float(1, float.MaxValue, 0.00001f);
            FPS = new Value.Enum<FPSType>(FPSType._60FPS);
            Coordinate = new Value.Enum<CoordinateType>(CoordinateType.Right);

            ColorSpace = new Value.Enum<ColorSpaceType>(ColorSpaceType.GammaSpace);

            MouseRotInvX = new Value.Boolean(false);
            MouseRotInvY = new Value.Boolean(false);
            MouseSlideInvX = new Value.Boolean(false);
            MouseSlideInvY = new Value.Boolean(false);

            GuiLanguage = new Value.Enum<Language>(Core.Language);
        }
コード例 #3
0
ファイル: OptionValues.cs プロジェクト: yczxf/Effekseer
        public OptionValues()
        {
            RenderingMode   = new Value.Enum <RenderMode>(RenderMode.Normal);
            BackgroundColor = new Value.Color(0, 0, 0, 255);
            GridColor       = new Value.Color(255, 255, 255, 255);

            IsGridShown   = new Value.Boolean(true);
            IsXYGridShown = new Value.Boolean(false);
            IsXZGridShown = new Value.Boolean(true);
            IsYZGridShown = new Value.Boolean(false);

            GridLength            = new Value.Float(2, float.MaxValue, 0.1f);
            LightDirection        = new Value.Vector3D(1, 1, 1, 1, -1, 1, -1, 1, -1, 0.1f, 0.1f, 0.1f);
            LightColor            = new Value.Color(215, 215, 215, 255);
            LightAmbientColor     = new Value.Color(40, 40, 40, 255);
            Magnification         = new Value.Float(1, float.MaxValue, 0.00001f);
            ExternalMagnification = new Value.Float(1, float.MaxValue, 0.00001f);
            FPS        = new Value.Enum <FPSType>(FPSType._60FPS);
            Coordinate = new Value.Enum <CoordinateType>(CoordinateType.Right);

            ColorSpace = new Value.Enum <ColorSpaceType>(ColorSpaceType.GammaSpace);

            MouseRotInvX   = new Value.Boolean(false);
            MouseRotInvY   = new Value.Boolean(false);
            MouseSlideInvX = new Value.Boolean(false);
            MouseSlideInvY = new Value.Boolean(false);

            DistortionType = new Value.Enum <DistortionMethodType>(DistortionMethodType.Current);

            // Switch the language according to the OS settings
            GuiLanguage = new Value.Enum <Language>(LanguageGetter.GetLanguage());
        }
コード例 #4
0
        public EffectBehaviorValues()
        {
            Location = new Value.Vector3D();
            Rotation = new Value.Vector3D();
            Scale    = new Value.Vector3D(1.0f, 1.0f, 1.0f);

            LocationVelocity = new Value.Vector3D();
            RotationVelocity = new Value.Vector3D();
            ScaleVelocity    = new Value.Vector3D();

            RemovedTime = new Value.IntWithInifinite(0, true, int.MaxValue, 0);

            CountX = new Value.Int(1, int.MaxValue, 1);
            CountY = new Value.Int(1, int.MaxValue, 1);
            CountZ = new Value.Int(1, int.MaxValue, 1);

            Distance = new Value.Float(5.0f, float.MaxValue, 0.0f);

            TimeSpan = new Value.Int(0);
            ColorAll = new Value.Color(255, 255, 255, 255);

            TargetLocation = new Value.Vector3D();

            PlaybackSpeed = new Value.Float(1.0f, float.MaxValue, 0.0f, 0.1f);
        }
コード例 #5
0
ファイル: IO.cs プロジェクト: LiquideBleu/Effekseer
        public static void LoadFromElement(XmlElement e, Value.Vector3D value, bool isClip)
        {
            var e_x = e["X"] as XmlElement;
            var e_y = e["Y"] as XmlElement;
            var e_z = e["Z"] as XmlElement;
            var e_d = e["DynamicEquation"] as XmlElement;

            if (e_x != null)
            {
                LoadFromElement(e_x, value.X, isClip);
            }
            if (e_y != null)
            {
                LoadFromElement(e_y, value.Y, isClip);
            }
            if (e_z != null)
            {
                LoadFromElement(e_z, value.Z, isClip);
            }

            if (e_d != null)
            {
                var ind = e_d.GetTextAsInt();
                if (0 <= ind && ind < Core.Dynamic.Equations.Values.Count)
                {
                    var d = Core.Dynamic.Equations.Values[ind];
                    value.SetDynamicEquation(d);
                    value.IsDynamicEquationEnabled = true;
                }
            }
        }
コード例 #6
0
        public OptionValues()
        {
            BackgroundColor = new Value.Color(0, 0, 0, 255);
            BackgroundImage = new Value.PathForImage("画像ファイル (*.png)|*.png", false, "");
            GridColor       = new Value.Color(255, 255, 255, 255);

            IsGridShown   = new Value.Boolean(true);
            IsXYGridShown = new Value.Boolean(false);
            IsXZGridShown = new Value.Boolean(true);
            IsYZGridShown = new Value.Boolean(false);

            GridLength        = new Value.Float(2, float.MaxValue, 0.1f);
            LightDirection    = new Value.Vector3D(1, 1, 1, 1, -1, 1, -1, 1, -1, 0.1f, 0.1f, 0.1f);
            LightColor        = new Value.Color(215, 215, 215, 255);
            LightAmbientColor = new Value.Color(40, 40, 40, 255);
            Magnification     = new Value.Float(1, float.MaxValue, 0.00001f);
            FPS        = new Value.Enum <FPSType>(FPSType._60FPS);
            Coordinate = new Value.Enum <CoordinateType>(CoordinateType.Right);

            ColorSpace = new Value.Enum <ColorSpaceType>(ColorSpaceType.GammaSpace);

            MouseRotInvX   = new Value.Boolean(false);
            MouseRotInvY   = new Value.Boolean(false);
            MouseSlideInvX = new Value.Boolean(false);
            MouseSlideInvY = new Value.Boolean(false);
        }
コード例 #7
0
        public LocalForceField(int number)
        {
            this.number = number;
            Type        = new Value.Enum <LocalForceFieldType>();
            Power       = new Value.Float(1.0f, float.MaxValue, float.MinValue, 0.1f);
            Position    = new Value.Vector3D();
            Rotation    = new Value.Vector3D();

            Force      = new ForceFieldForce();
            Wind       = new ForceFieldWind();
            Vortex     = new ForceFieldVortex();
            Turbulence = new LocalForceFieldTurbulence();
            Drag       = new ForceFieldDrag();

            Falloff = new ForceFieldFalloff();
        }
コード例 #8
0
        public EffectBehaviorValues()
        {
            Location = new Value.Vector3D();
            Rotation = new Value.Vector3D();
            Scale = new Value.Vector3D(1.0f, 1.0f, 1.0f);

            LocationVelocity = new Value.Vector3D();
            RotationVelocity = new Value.Vector3D();
            ScaleVelocity = new Value.Vector3D();

            RemovedTime = new Value.IntWithInifinite(0, true, int.MaxValue, 0);

            CountX = new Value.Int(1, int.MaxValue, 1);
            CountY = new Value.Int(1, int.MaxValue, 1);
            CountZ = new Value.Int(1, int.MaxValue, 1);

            Distance = new Value.Float(5.0f, float.MaxValue, 0.0f);
            TargetLocation = new Value.Vector3D();
        }
コード例 #9
0
        public static void LoadFromElement(XmlElement e, Value.Vector3D value, bool isClip)
        {
            var e_x = e["X"] as XmlElement;
            var e_y = e["Y"] as XmlElement;
            var e_z = e["Z"] as XmlElement;

            if (e_x != null)
            {
                LoadFromElement(e_x, value.X, isClip);
            }
            if (e_y != null)
            {
                LoadFromElement(e_y, value.Y, isClip);
            }
            if (e_z != null)
            {
                LoadFromElement(e_z, value.Z, isClip);
            }
        }
コード例 #10
0
        public OptionValues()
        {
            RenderingMode       = new Value.Enum <RenderMode>(RenderMode.Normal);
            BackgroundColor     = new Value.Color(0, 0, 0, 255);
            LasyBackgroundImage = new Lazy <Value.PathForImage>(() => { return(new Value.PathForImage(Properties.Resources.ImageFilter, false, "")); });
            GridColor           = new Value.Color(255, 255, 255, 255);

            IsGridShown   = new Value.Boolean(true);
            IsXYGridShown = new Value.Boolean(false);
            IsXZGridShown = new Value.Boolean(true);
            IsYZGridShown = new Value.Boolean(false);

            GridLength            = new Value.Float(2, float.MaxValue, 0.1f);
            LightDirection        = new Value.Vector3D(1, 1, 1, 1, -1, 1, -1, 1, -1, 0.1f, 0.1f, 0.1f);
            LightColor            = new Value.Color(215, 215, 215, 255);
            LightAmbientColor     = new Value.Color(40, 40, 40, 255);
            Magnification         = new Value.Float(1, float.MaxValue, 0.00001f);
            ExternalMagnification = new Value.Float(1, float.MaxValue, 0.00001f);
            FPS        = new Value.Enum <FPSType>(FPSType._60FPS);
            Coordinate = new Value.Enum <CoordinateType>(CoordinateType.Right);

            ColorSpace = new Value.Enum <ColorSpaceType>(ColorSpaceType.GammaSpace);

            MouseRotInvX   = new Value.Boolean(false);
            MouseRotInvY   = new Value.Boolean(false);
            MouseSlideInvX = new Value.Boolean(false);
            MouseSlideInvY = new Value.Boolean(false);

            DistortionType = new Value.Enum <DistortionMethodType>(DistortionMethodType.Current);

            // Switch the language according to the OS settings
            var culture = System.Globalization.CultureInfo.CurrentCulture;

            if (culture.Name == "ja-JP")
            {
                GuiLanguage = new Value.Enum <Language>(Language.Japanese);
            }
            else
            {
                GuiLanguage = new Value.Enum <Language>(Language.English);
            }
        }
コード例 #11
0
        public static XmlElement SaveToElement(XmlDocument doc, string element_name, Value.Vector3D value, bool isClip)
        {
            var e = doc.CreateElement(element_name);
            var x = SaveToElement(doc, "X", value.X, isClip);
            var y = SaveToElement(doc, "Y", value.Y, isClip);
            var z = SaveToElement(doc, "Z", value.Z, isClip);

            if (x != null)
            {
                e.AppendChild(x);
            }
            if (y != null)
            {
                e.AppendChild(y);
            }
            if (z != null)
            {
                e.AppendChild(z);
            }

            return(e.ChildNodes.Count > 0 ? e : null);
        }
コード例 #12
0
ファイル: LocationValues.cs プロジェクト: kou-yeung/Effekseer
 internal FixedParamater()
 {
     Location = new Value.Vector3D(0, 0, 0);
 }
コード例 #13
0
ファイル: ScaleValues.cs プロジェクト: zei1314nn/Effekseer
 internal FixedParamater()
 {
     Scale = new Value.Vector3D(1, 1, 1);
 }
コード例 #14
0
 public SphereParamater()
 {
     Radius = new Value.Float(1);
     Location = new Value.Vector3D();
 }
コード例 #15
0
 public SphereParamater()
 {
     Radius   = new Value.Float(1);
     Location = new Value.Vector3D();
 }
コード例 #16
0
ファイル: ScaleValues.cs プロジェクト: saihe/Effekseer
 internal FixedParamater()
 {
     Scale = new Value.Vector3D(1, 1, 1);
 }
コード例 #17
0
        public void ApplyMaterial(Utl.MaterialInformation info)
        {
            bool isChanged = false;

            var previous_selfSummary = selfSummary;
            var previous_selfDetail  = selfDetail;

            if (info.Names.ContainsKey(Core.Language))
            {
                selfSummary = info.Names[Core.Language];
            }
            else
            {
                selfSummary = "";
            }


            if (info.Descriptions.ContainsKey(Core.Language))
            {
                selfDetail = info.Descriptions[Core.Language];
            }
            else
            {
                selfDetail = "";
            }

            if (previous_selfSummary != selfSummary)
            {
                isChanged = true;
            }
            if (previous_selfDetail != selfDetail)
            {
                isChanged = true;
            }

            HashSet <ValueStatus> usedValueStatuses = new HashSet <ValueStatus>();
            HashSet <object>      finished          = new HashSet <object>();

            foreach (var withNameFlag in new[] { false, true })
            {
                foreach (var texture in info.Textures)
                {
                    if (finished.Contains(texture))
                    {
                        continue;
                    }

                    var key = StatusKey.From(texture);

                    Func <string> getName = () =>
                    {
                        var ret = "";
                        if (texture.Summaries.ContainsKey(Core.Language))
                        {
                            ret = texture.Summaries[Core.Language];
                        }

                        if (string.IsNullOrEmpty(ret))
                        {
                            ret = texture.Name;
                        }

                        if (string.IsNullOrEmpty(ret))
                        {
                            ret = texture.UniformName;
                        }

                        return(ret);
                    };

                    Func <string> getDesc = () =>
                    {
                        var ret = "";
                        if (texture.Descriptions.ContainsKey(Core.Language))
                        {
                            ret = texture.Descriptions[Core.Language];
                        }

                        return(ret);
                    };

                    ValueStatus status      = null;
                    string      defaultPath = Utils.Misc.GetAbsolutePath(Path.AbsolutePath, texture.DefaultPath);

                    var foundValue = FindValue(key.ToString(), usedValueStatuses, withNameFlag);
                    if (foundValue != null)
                    {
                        status = foundValue;
                        if (status.IsShown != texture.IsParam)
                        {
                            status.IsShown = texture.IsParam;
                            isChanged      = true;
                        }

                        // update default path
                        if (texture.IsParam)
                        {
                            if ((foundValue.Value as Value.PathForImage).AbsolutePath == string.Empty)
                            {
                                (foundValue.Value as Value.PathForImage).SetAbsolutePathDirectly(defaultPath);
                                isChanged = true;
                            }

                            (foundValue.Value as Value.PathForImage).SetDefaultAbsolutePath(defaultPath);
                        }
                        else
                        {
                            if ((foundValue.Value as Value.PathForImage).AbsolutePath != defaultPath)
                            {
                                (foundValue.Value as Value.PathForImage).SetAbsolutePathDirectly(defaultPath);
                                isChanged = true;
                            }

                            (foundValue.Value as Value.PathForImage).SetDefaultAbsolutePath(defaultPath);
                        }
                    }
                    else
                    {
                        // create only when value is not found even if withName flag is true
                        if (!withNameFlag)
                        {
                            continue;
                        }

                        status = new ValueStatus();
                        var value = new Value.PathForImage(rcValues.BasePath, Resources.GetString("ImageFilter"), true, texture.DefaultPath);
                        status.Value    = value;
                        status.IsShown  = texture.IsParam;
                        status.Priority = texture.Priority;
                        valueStatuses.Add(status);

                        if (!string.IsNullOrEmpty(defaultPath))
                        {
                            value.SetAbsolutePathDirectly(defaultPath);
                        }

                        isChanged = true;
                    }

                    if (status.Name != getName())
                    {
                        isChanged = true;
                    }
                    if (status.Description != getDesc())
                    {
                        isChanged = true;
                    }

                    status.Key         = key;
                    status.Name        = getName();
                    status.Description = getDesc();
                    usedValueStatuses.Add(status);
                    finished.Add(texture);
                }

                foreach (var uniform in info.Uniforms)
                {
                    if (finished.Contains(uniform))
                    {
                        continue;
                    }

                    var key = StatusKey.From(uniform);

                    Func <string> getName = () =>
                    {
                        var ret = "";
                        if (uniform.Summaries.ContainsKey(Core.Language))
                        {
                            ret = uniform.Summaries[Core.Language];
                        }

                        if (string.IsNullOrEmpty(ret))
                        {
                            ret = uniform.Name;
                        }

                        if (string.IsNullOrEmpty(ret))
                        {
                            ret = uniform.UniformName;
                        }

                        return(ret);
                    };

                    Func <string> getDesc = () =>
                    {
                        var ret = "";
                        if (uniform.Descriptions.ContainsKey(Core.Language))
                        {
                            ret = uniform.Descriptions[Core.Language];
                        }

                        return(ret);
                    };

                    ValueStatus status = null;

                    var foundValue = FindValue(key.ToString(), usedValueStatuses, withNameFlag);
                    if (foundValue != null)
                    {
                        status = foundValue;

                        status.IsShown = true;
                        isChanged      = true;

                        if (uniform.Type == 0)
                        {
                            (status.Value as Value.Float).ChangeDefaultValue(uniform.DefaultValues[0]);
                        }
                        else if (uniform.Type == 1)
                        {
                            (status.Value as Value.Vector2D).ChangeDefaultValue(uniform.DefaultValues[0], uniform.DefaultValues[1]);
                        }
                        else if (uniform.Type == 2)
                        {
                            (status.Value as Value.Vector3D).ChangeDefaultValue(uniform.DefaultValues[0], uniform.DefaultValues[1], uniform.DefaultValues[2]);
                        }
                        else
                        {
                            (status.Value as Value.Vector4D).ChangeDefaultValue(uniform.DefaultValues[0], uniform.DefaultValues[1], uniform.DefaultValues[2], uniform.DefaultValues[3]);
                        }
                    }
                    else
                    {
                        // create only when value is not found even if withName flag is true
                        if (!withNameFlag)
                        {
                            continue;
                        }

                        if (uniform.Type == 0)
                        {
                            status = new ValueStatus();
                            var value = new Value.Float(uniform.DefaultValues[0]);
                            value.SetValueDirectly(uniform.DefaultValues[0]);
                            status.Value    = value;
                            status.IsShown  = true;
                            status.Priority = uniform.Priority;
                            valueStatuses.Add(status);
                            isChanged = true;
                        }
                        else if (uniform.Type == 1)
                        {
                            status = new ValueStatus();
                            var value = new Value.Vector2D(uniform.DefaultValues[0], uniform.DefaultValues[1]);
                            value.X.SetValueDirectly(uniform.DefaultValues[0]);
                            value.Y.SetValueDirectly(uniform.DefaultValues[1]);
                            status.Value    = value;
                            status.IsShown  = true;
                            status.Priority = uniform.Priority;
                            valueStatuses.Add(status);
                            isChanged = true;
                        }
                        else if (uniform.Type == 2)
                        {
                            status = new ValueStatus();
                            var value = new Value.Vector3D(uniform.DefaultValues[0], uniform.DefaultValues[1], uniform.DefaultValues[2]);
                            value.X.SetValueDirectly(uniform.DefaultValues[0]);
                            value.Y.SetValueDirectly(uniform.DefaultValues[1]);
                            value.Z.SetValueDirectly(uniform.DefaultValues[2]);
                            status.Value    = value;
                            status.IsShown  = true;
                            status.Priority = uniform.Priority;
                            valueStatuses.Add(status);
                            isChanged = true;
                        }
                        else
                        {
                            status = new ValueStatus();
                            var value = new Value.Vector4D(uniform.DefaultValues[0], uniform.DefaultValues[1], uniform.DefaultValues[2], uniform.DefaultValues[3]);
                            value.X.SetValueDirectly(uniform.DefaultValues[0]);
                            value.Y.SetValueDirectly(uniform.DefaultValues[1]);
                            value.Z.SetValueDirectly(uniform.DefaultValues[2]);
                            value.W.SetValueDirectly(uniform.DefaultValues[3]);
                            status.Value    = value;
                            status.IsShown  = true;
                            status.Priority = uniform.Priority;
                            valueStatuses.Add(status);
                            isChanged = true;
                        }
                    }

                    if (status.Name != getName())
                    {
                        isChanged = true;
                    }
                    if (status.Description != getDesc())
                    {
                        isChanged = true;
                    }

                    status.Key         = key;
                    status.Name        = getName();
                    status.Description = getDesc();
                    usedValueStatuses.Add(status);
                    finished.Add(uniform);
                }
            }

            foreach (var kts in valueStatuses)
            {
                if (!usedValueStatuses.Contains(kts))
                {
                    var status = kts;
                    if (status.IsShown)
                    {
                        status.IsShown = false;
                        isChanged      = true;
                    }
                }
            }

            if (info.CustomData.Count() > 0)
            {
                rcValues.CustomData1.Fixed4.ChangeDefaultValue(
                    info.CustomData[0].DefaultValues[0],
                    info.CustomData[0].DefaultValues[1],
                    info.CustomData[0].DefaultValues[2],
                    info.CustomData[0].DefaultValues[3]);
            }

            if (info.CustomData.Count() > 1)
            {
                rcValues.CustomData2.Fixed4.ChangeDefaultValue(
                    info.CustomData[1].DefaultValues[0],
                    info.CustomData[1].DefaultValues[1],
                    info.CustomData[1].DefaultValues[2],
                    info.CustomData[1].DefaultValues[3]);
            }

            if (isChanged && OnChanged != null)
            {
                OnChanged(this, null);
            }
        }
コード例 #18
0
 internal ForceFieldGravity()
 {
     Gravity = new Value.Vector3D(0, 0, 0);
 }
コード例 #19
0
 public EnvironmentLightingValues()
 {
     LightDirection    = new Value.Vector3D(1, 1, 1, 1, -1, 1, -1, 1, -1, 0.1f, 0.1f, 0.1f);
     LightColor        = new Value.Color(215, 215, 215, 255);
     LightAmbientColor = new Value.Color(40, 40, 40, 255);
 }
コード例 #20
0
 internal GravityParamater()
 {
     Gravity = new Value.Vector3D(0, 0, 0);
 }
コード例 #21
0
 internal FixedParamater()
 {
     Rotation = new Value.Vector3D(0, 0, 0);
 }
コード例 #22
0
 internal GravityParamater()
 {
     Gravity = new Value.Vector3D(0, 0, 0);
 }