zoukankan      html  css  js  c++  java
  • Unity读取 JSon配置文件

    一、记录

    只是记录,现在在项目中删除掉了。先保留下来,以飨来着!!当然有包括自己。

    二、读取配置的代码

    简单粗暴

    [ExecuteInEditMode]
        public class Config : MonoBehaviour
        {
            private static ConfigFile pConf = null;
            public static ConfigFile ConfReference
            {
                get
                {
                    if (pConf == null)
                    {
                        string filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "JsonConfig/Config.slqj");
                        if (string.IsNullOrEmpty(filePath))
                        {
                            return null;
                        }
    
                        if (File.Exists(filePath))
                        {
                            string text = File.ReadAllText(filePath);
    #if UNITY_EDITOR
                            Debug.Log(text);
    #else
                    Debug.logger.logEnabled = false;
    #endif
                            pConf = JsonUtility.FromJson<ConfigFile>(text);
                        }
                    }
                    return pConf;
                }
            }
        }
    
    
        [Serializable]
        public class ConfigFile
        {
            // server
            public string ServerIP;
            // gun    
            public int SecondGunAmmoNum;
            public int ThirdGunAmmoNum;
            //player
            public float MoveSpeedMultiplier;   // 移动速度倍率
            public float CamMinDamping;
            public int PlayerLifeNum;           // 玩家生命数
            public int PlayerHP;                // 玩家重生血值
            // HardwareConf
            public float DeadAreaThrold;
            public int FilterStep;              // 滤波步长
            public int joyStickIndex = 0;       // 开枪按键
            public float renderScale;           // 渲染缩放
            public bool IsUseOptics;            // 是否使用光学定位
            public bool IsUseDebug;             // 是否显示FPS 输入位置 玩家位置
            public int BlueEnemyCount;//蓝方敌人数量
            public int RedEnemyCount;//红方敌人数量
            public int GameReadyTime;//游戏准备倒计时
            public bool IsNetWorkVersion; // 是否为联网版本
        }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58

    三、保存Json文件

    代码:

     void Save2File()
            {
                string filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "JsonConfig/pConfig.json");
    
                string text = "";
                FileInfo file = new FileInfo(filePath);
    
                if (file.Exists)
                {
                    text = JsonUtility.ToJson(NetWorkManager.config);
                    StreamWriter w = new StreamWriter(filePath);
                    w.Write(text);
                    w.Close();
                }
    
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    ——–THE—————END——————— 

  • 相关阅读:
    Access操作必须使用一个可更新的查询
    SAP资料学习好地方
    Access关键词大全
    WPF零散笔记
    WPF:如何实现单实例的应用程序(Single Instance)
    WPF应用程序启动显示图片资源
    Drawable、Bitmap、Canvas和Paint的关系以及部分使用方法
    C#中一种可调用的异常处理方法
    easyui datagrid 点击列表头排序出现错乱的原因
    easyui datagrid 没数据时显示滚动条的解决方法
  • 原文地址:https://www.cnblogs.com/chenliyang/p/6558526.html
Copyright © 2011-2022 走看看