Unity中Dictionary序列化,可以在Inspector面板中看到

这里用到了一个字典替代,相当于把字典看成了struct结构,当然也可以看成一个类

代码如下
 

   public Dictionary<FruitType, GameObject> FruitPrefabDict;

    public enum FruitType
    {
        apple,
        orange,
        banana
    }
    [System.Serializable]
    public struct FruitPrefab
    {
        public FruitType type;
        public GameObject prefab;
    }
    public FruitPrefab[] FruitsPrefabs;
 
    public void ShowDic()
    {
        // 字典内容
        FruitPrefabDict = new Dictionary<FruitType, GameObject>();
        for (int i = 0; i < FruitsPrefabs.Length; i++)
        {
           // FruitType t = (FruitType)Enum.Parse(typeof(FruitType), sweetPrefabs[i].type, false);
            FruitType t = FruitsPrefabs[i].type;
            if (!FruitPrefabDict.ContainsKey(t))
            {
                FruitPrefabDict.Add(t, FruitsPrefabs[i].prefab);
            }
            else
            {
                Debug.LogError("key" + "有重复");
            }
        }
        Debug.Log(FruitPrefabDict.Count);
    }

效果如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1208409371

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值