本文整理汇总了C#中ConfigFile.Dispose方法的典型用法代码示例。如果您正苦于以下问题:C# ConfigFile.Dispose方法的具体用法?C# ConfigFile.Dispose怎么用?C# ConfigFile.Dispose使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConfigFile
的用法示例。
在下文中一共展示了ConfigFile.Dispose方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadWheelsFromFiles
/// <summary>
/// Go through our media/wheels/ directory and find all of the wheel definitions we have, then make dictionaries out of them
/// and add them to our one big dictionary.
/// </summary>
public void ReadWheelsFromFiles()
{
// since we can run this whenever (like when we're tweaking files), we want to clear our dictionary first
wheels.Clear();
// get all of the filenames of the files in media/wheels/
IEnumerable<string> files = Directory.EnumerateFiles("media/vehicles/", "*.wheel", SearchOption.AllDirectories);
foreach (string filename in files) {
// I forgot ogre had this functionality already built in
ConfigFile cfile = new ConfigFile();
cfile.Load(filename, "=", true);
// each .wheel file can have multiple [sections]. We'll use each section name as the wheel name
ConfigFile.SectionIterator sectionIterator = cfile.GetSectionIterator();
while (sectionIterator.MoveNext()) {
string wheelname = sectionIterator.CurrentKey;
// make a dictionary
var wheeldict = new Dictionary<string, float>();
// go over every property in the file and add it to the dictionary, parsing it as a float
foreach (KeyValuePair<string, string> pair in sectionIterator.Current) {
wheeldict.Add(pair.Key, float.Parse(pair.Value, culture));
}
wheels[wheelname] = wheeldict;
}
cfile.Dispose();
sectionIterator.Dispose();
}
}
示例2: 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();
}
}
示例3: InitResources
/// <summary>
/// Basically adds all of the resource locations but doesn't actually load anything.
/// </summary>
private static void InitResources()
{
ConfigFile file = new ConfigFile();
file.Load("media/plugins/resources.cfg", "\t:=", true);
ConfigFile.SectionIterator sectionIterator = file.GetSectionIterator();
while (sectionIterator.MoveNext()) {
string currentKey = sectionIterator.CurrentKey;
foreach (KeyValuePair<string, string> pair in sectionIterator.Current) {
string key = pair.Key;
string name = pair.Value;
ResourceGroupManager.Singleton.AddResourceLocation(name, key, currentKey);
}
}
file.Dispose();
sectionIterator.Dispose();
}
示例4: Initialise
/// <summary>
/// Creates the folder and file if they don't exist, and either prints some data to it (if it doesn't exist) or reads from it (if it does)
/// </summary>
public static void Initialise()
{
SetupDictionaries();
#if DEBUG
string pkPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Ponykart";
// if a folder doesn't exist there, create it
if (!Directory.Exists(pkPath))
Directory.CreateDirectory(pkPath);
string optionsPath = pkPath + "\\options.ini";
#else
string optionsPath = "options.ini";
#endif
// create it if the file doesn't exist, and write out some defaults
if (!File.Exists(optionsPath)) {
using (FileStream stream = File.Create(optionsPath)) {
using (StreamWriter writer = new StreamWriter(stream)) {
foreach (KeyValuePair<string, string> pair in defaults) {
writer.WriteLine(pair.Key + "=" + pair.Value);
}
}
}
ModelDetail = ModelDetailOption.Medium;
}
// otherwise we just read from it
else {
ConfigFile cfile = new ConfigFile();
cfile.Load(optionsPath, "=", true);
ConfigFile.SectionIterator sectionIterator = cfile.GetSectionIterator();
sectionIterator.MoveNext();
foreach (KeyValuePair<string, string> pair in sectionIterator.Current) {
dict[pair.Key] = pair.Value;
}
ModelDetail = (ModelDetailOption) Enum.Parse(typeof(ModelDetailOption), dict["ModelDetail"], true);
ShadowDetail = (ShadowDetailOption) Enum.Parse(typeof(ShadowDetailOption), dict["ShadowDetail"], true);
cfile.Dispose();
sectionIterator.Dispose();
}
#if DEBUG
// since we sometimes add new options, we want to make sure the .ini file has all of them
Save();
#endif
}