美文网首页
每日一学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