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

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

代码如下
 

   public Dictionary 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();
        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);
    }

效果如下
Unity中Dictionary序列化,可以在Inspector面板中看到_第1张图片

你可能感兴趣的:(字典序列化)