示例#1
0
        public void Reload(IFileStore store)
        {
            var kvp = new KeyValuePairs();

            using (var reader = store.OpenTextFile(m_path))
            {
                kvp.Load(reader);
            }

            Lifetime    = kvp.GetFloat("lifetime", 5.0f);
            EmitterRate = kvp.GetFloat("emitter_rate", 1.0f);

            Position      = kvp.GetVector("position", Vector3.Zero);
            PositionRange = kvp.GetVector("position_range", Vector3.Zero);
            Velocity      = kvp.GetVector("velocity", Vector3.Zero);
            VelocityRange = kvp.GetVector("velocity_range", Vector3.Zero);
            Gravity       = kvp.GetVector("gravity", new Vector3(0.0f, -9.8f, 0.0f));
            Radius        = kvp.GetFloat("radius", 0.125f);
            FinalRadius   = kvp.GetFloat("final_radius", Radius);

            var colour = kvp.GetColour("colour", Vector3.One);
            var alpha  = kvp.GetFloat("alpha", 1.0f);

            Colour = new Vector4(colour, alpha);

            var finalColour = kvp.GetColour("final_colour", colour);
            var finalAlpha  = kvp.GetFloat("final_alpha", alpha);

            FinalColour = new Vector4(finalColour, finalAlpha);

            Texture = kvp.GetString("texture", "white.png");
        }