zoukankan      html  css  js  c++  java
  • (转载)Unity中解析ini配置文件----INIParser

    大家好,我是孙广东。   转载请注明出处:http://blog.csdn.net/u010019717

    更全的内容请看我的游戏蛮牛地址:http://www.unitymanual.com/space-uid-18602.html  ??

    Ini files

    这个库可处理ini文件。 请注意,该文件可以是任何扩展名(如.txt)只要 文件内容是正确格式。

    [Player]
    name=Arnold
    avatar=2
    ; This section stored hi-scores
    [Hi-score]
    Top1=32900
    Top2=12000
    Top3=4700

    那怎么使用这个库呢?

    1. 添加 “INIParser.cs” 到 Unity.
    2. 声明一个 INIParser 对象并使用它.

    INIParser ini = new INIParser();
    ini.Open(“C:/Test.ini”);
    ini.WriteValue(“Player”,“Name”,“Arnold”);
    ini.Close();

    多个Ini文件时

        请注意,对于每个INIParser实例,你在任何一个时间只能有一个open的ini文件,你可以打开下一个ini文件,但是之前您必须使用Close()。

    INIParser ini = new INIParser();
    ini.Open(“C:/Test.ini”);
    ini.WriteValue(“Player”,“Name”,“Arnold”);
    ini.WriteValue(“Hi-score”,“Top3”,1000);
    ini.Close();
    ini.Open(“C:/Test2.ini”);
    ini.WriteValue(“Position”,“x”,2);
    ini.WriteValue(“Position”,“y”,3);
    ini.Close();

    Methods方法

    Open(string path)

    Open ini_file关于 reading 和 writing. 如果这个文件不存在将被创建。. 一旦你完成了reading/writing 记得调用函数 Close( )。来保存这个ini文件的所有改变。

    Open(TextAsset asset)

    Open 一个 TextAsset 作为 ini_file. 如果做了任何更改,则副本将保存在Persistent Data Path持久性数据的路径下。这个函数会一直看着Persistent Data Path持久数据路径,如果有任何修改的TextAsset的副本,实际上看游戏中的文本资源包之前首先看到在Persistent Data Path持久数据路径的变化。

    OpenFromString(string str)

    从字符串创建ini文件和打开它用于进行读/写。正确格式化的字符串作为ini文件(即:sections部分,keys键和values值) 否则将无法正确创建ini文件。注意,这个ini文件是暂时的,只存在于内存中。但是你可以使用ToString()返回的字符串可以被保存到服务器或磁盘的完整的ini文件。

    string ToString(string str)

    返回完整的  ini file 字符串。

    Close()

    一旦你完成读取或写入任何打开的ini文件,应调用此方法。ini文件数据存储在内存中,直到调用此方法,这一数据被写入到磁盘。

    string ReadValue(string section, string key, string default)

    (重载: bool, int, long, double, byte[], DateTime)

    从ini_file中读取值。 如果值不存在,(默认值)将被返回。

    WriteValue(string section, string key, string value)
    (overload: bool, int, long, double, byte[], DateTime)
    写入 一个值到 ini_file

    SectionDelete(string section)

    删除整个ini文件的section部分,这也将删除与之关联的所有键/值对。

    bool IsSectionExists(string section)

    检查是否存在ini文件中的section 节。您不需要检查,以防止错误,因为如果你ReadValue从一个不存在的section 节,ReadValue将只返回默认值。然而,有时它可以是有用的如果ini文件已保存的具体数据。

    KeyDelete(string section, string key)

    删除被选择的  key (还有和它相关的 value) 从 ini file.中

    bool IsKeyExists(string section, string key)

    检查以查看是否有指定的键存在于ini文件。您不需要检查,以防止错误,因为如果你ReadValue一个不存在的节,ReadValue将只返回默认值。然而,有时它可以是有用的如果ini文件已保存的具体数据。

    Open(TextAsset asset)

    TextAsset 是read-only, 所以任何的修改是放在sandbox area 沙箱区域(persistentDataPath).

  • 相关阅读:
    k8s 使用 Init Container 确保依赖的服务已经启动
    asp.net core 从 3.0 到 3.1
    Github原生CI/CD,初尝Github Actions
    [nginx]编译安装及安全优化
    [nginx]盗链和防盗链场景模拟实现
    [nginx]location语法
    [nginx]站点目录及文件访问控制
    [svc]nginx限制客户端上传附件的大小
    [sql]mysql指引(整理中...)-对db的分类
    [sql]mysql参数(配置)手册
  • 原文地址:https://www.cnblogs.com/backlighting/p/5061467.html
Copyright © 2011-2022 走看看