unity3d中对枚举的使用--高度提取接口方法

欢迎加入unity3d技术乐园群.群内讨论交流游戏制作和虚拟现实.我们在起航,没有任何保留的交流技术,创建一个技术乐园,携手共同发展.群号:106864335

这次讲下枚举的使用. 

首要目的:平时为了制作一些通用工具,或者高度提取接口.并具有高度的可扩展性.就用到这些了.

枚举在提取接口的使用是非常方便的.单对于架构来说.用到枚举,就涉及到Switch遍历的使用.并且switch对于可扩展行性是极大的悲剧.并且很难避免.所以就想到一些其它的解决方案.

1.首先要引入命名空间.

using System;

2.枚举作为一个非常好用的参数.可以获取到枚举内所有的枚举字符串数组.下面用代码来解释详细的内容吧.

    void Awake()
    {
        InitTest();
    }
    Array tes;
    string[] str;
    public enum Test
    {
        我是测试1,
        我是测试2,
        我是测试3,
        我是测试4
    }
    void InitTest()
    {
        Test test1 = Test.我是测试1;
        str = Enum.GetNames(test1.GetType());   //获得枚举中所有的枚举对象的字符串数组
        tes = Enum.GetValues(test1.GetType());	//获得枚举中所有的枚举对象
        foreach (Test item in tes)
        {
            Debug.Log(item);
        }
        foreach (string item in str)
        {
            Debug.Log(item);
        }
    }
3.有了所有的枚举对象集合.如果要扩展原有功能时,只需要在枚举中添加新对象就可以了.后续使用,全部通过对集合使用即可.遍历的话,只要对集合操作,会方便很多.当然,有些需要switch,执行不同功能的地方.switch还是避免不了的.这样只是极大的方便了我们对架构的一些设计.

你可能感兴趣的:(unity3d小技巧)