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"); }