欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

甜品消消乐 02 甜品的类型枚举、结构体、字典的创建

程序员文章站 2022-04-22 20:48:44
甜品的类型枚举,结构体,字典的创建(1)枚举类型。// 甜品对象的种类把道具相关用枚举的方式写出来 public enum ChessType { EMPTY, // 空 NORMAL, // 一般类型 BARRIER, // 障碍 ROW_CLEAR, // 行消除 COLUMN_CLEAR, // 列消...

甜品的类型枚举,结构体,字典的创建

(1)枚举类型。
// 甜品对象的种类
把道具相关用枚举的方式写出来

    public enum ChessType
    {
        EMPTY,              // 空
        NORMAL,             // 一般类型
        BARRIER,            // 障碍
        ROW_CLEAR,          // 行消除
        COLUMN_CLEAR,       // 列消除
        RAINBOWCHESS,       // 彩虹
        COUNT               // 标记类型
    }

(2)预制体字典。
//甜品预制体的字典,我们可以通过甜品的种类来得到对应的甜品游戏物体

 public Dictionary<SweetsType, GameObject> sweetPrefabDict;

(3)定义结构体使其显示在unity的inspector面板中。

// 结构体可序列化,可在unity中*修改
    [System.Serializable]
    public struct SweetPrefab
    {
        public SweetsType type;
        public GameObject prefab;
    }

(4)结构体数组,存储所有甜品对象的类型,使其显示在unity的inspector面板中,可以进行修改。
// 结构体数组

public SweetPrefab[] sweetPrefabs;

甜品消消乐 02 甜品的类型枚举、结构体、字典的创建
(5)预制体字典的实例化。将结构体中的值赋给字典。
在Start方法中。
// 字典的实例化

    void Start()
    {
        //字典的实例化
        sweetPrefabDict = new Dictionary<SweetsType, GameObject>();
        for (int i = 0; i < sweetPrefabs.Length; i++)
        {
            if (!sweetPrefabDict.ContainsKey(sweetPrefabs[i].type))
            {
                // 传入键值
                sweetPrefabDict.Add(sweetPrefabs[i].type, sweetPrefabs[i].prefab);
            }
        }
    }

整体如下:
甜品消消乐 02 甜品的类型枚举、结构体、字典的创建

本文地址:https://blog.csdn.net/weixin_43992968/article/details/107607761