美文网首页
每日一学30——Unity中的配置文件(.asset)

每日一学30——Unity中的配置文件(.asset)

作者: ShawnWeasley | 来源:发表于2020-08-13 14:19 被阅读0次

    学习来源:https://blog.csdn.net/candycat1992/article/details/52181814

    在没有.asset之前我们的配置文件通常用一个简短的json/txt之类的或者直接在场景里面填序列化的值,但是.asset大大方便了我们生成一些配置文件,可以填写不同环境的服务器地址啊之类的,交付给运维之后给个配置文件填写的方法就可以不管线上环境了~



    用法很简单,直接继承ScriptableObject,然后使用CreateAssetMenu就可以创建:

    using UnityEngine;
    [CreateAssetMenu(menuName = "创建Config配置")]
    public class Config : ScriptableObject
    {
        [Header("服务环境")]
        public ServerEnvironment m_ServerEnvironment = ServerEnvironment.开发环境;
        [Header("开发服务地址")]
        public string m_DevelopmentServiceAddress;
        [Header("测试服务地址")]
        public string m_TestServiceAddress;
        [Header("生产服务地址")]
        public string m_ProductionServiceAddress;
    }
    
    public enum ServerEnvironment
    {
        开发环境,
        测试环境,
        生产环境
    }
    

    然后找个文件夹右击创建:


    image.png

    创建后:


    image.png

    创建完成后读取配置:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Test : MonoBehaviour
    {
        void Start()
        {
            Config config = Resources.Load<Config>("Data/Config");
            Debug.Log(config.m_ServerEnvironment);
            switch (config.m_ServerEnvironment)
            {
                case ServerEnvironment.开发环境:
                    Debug.Log("开发环境地址:" + config.m_DevelopmentServiceAddress);
                    break;
                case ServerEnvironment.测试环境:
                    Debug.Log("测试环境地址:" + config.m_TestServiceAddress);
                    break;
                case ServerEnvironment.生产环境:
                    Debug.Log("生产环境地址:" + config.m_ProductionServiceAddress);
                    break;
                default: break;
            }
        }
    }
    

    当然了,需要改成Assetbudle加密再加载的也可以操作。

    相关文章

      网友评论

          本文标题:每日一学30——Unity中的配置文件(.asset)

          本文链接:https://www.haomeiwen.com/subject/ecvbdktx.html