public PhysicsMaterialFactory()
        {
            materials = new Dictionary<string, PhysicsMaterial>();
            defaultMat = new PhysicsMaterial();

            ReadMaterialsFromFiles();
        }
        /// <summary>
        /// Go through our media/physicsmaterials/ directory and find all of the material definitions we have, then make objects out
        /// of them and add them to our dictionary.
        /// </summary>
        public void ReadMaterialsFromFiles()
        {
            // since we can run this whenever (like when we're tweaking files), we want to clear this first
            materials.Clear();

            // get all of the filenames of the files in media/physicsmaterials
            IEnumerable<string> files = Directory.EnumerateFiles("media/physicsmaterials/", "*.physmat");

            foreach (string filename in files) {
                // rev up those files
                ConfigFile cfile = new ConfigFile();
                cfile.Load(filename, "=", true);

                ConfigFile.SectionIterator sectionIterator = cfile.GetSectionIterator();
                while (sectionIterator.MoveNext()) {
                    string matname = sectionIterator.CurrentKey;

                    PhysicsMaterial mat = new PhysicsMaterial {
                        Friction = float.Parse(cfile.GetSetting("Friction", matname, PhysicsMaterial.DEFAULT_FRICTION.ToString()), culture),
                        Bounciness = float.Parse(cfile.GetSetting("Bounciness", matname, PhysicsMaterial.DEFAULT_BOUNCINESS.ToString()), culture),
                        AngularDamping = float.Parse(cfile.GetSetting("AngularDamping", matname, PhysicsMaterial.DEFAULT_ANGULAR_DAMPING.ToString()), culture),
                        LinearDamping = float.Parse(cfile.GetSetting("LinearDamping", matname, PhysicsMaterial.DEFAULT_LINEAR_DAMPING.ToString()), culture),
                    };

                    materials[matname] = mat;
                }

                cfile.Dispose();
                sectionIterator.Dispose();
            }
        }