字典的应用以及在unity上序列化显示
public enum ColorType //枚举类型
{
YELLOW,
PURPLE,
RED,
BLUE,
GREEN,
PINK,
}
//定义名为colorDic的字典,<>内存放两种类型,表示两者为一一对应关系
private Dictionary<ColorType,Sprite> colorDic;
对于字典的赋值,采用先设置一个结构体数组,在inspector上手动将sprite和color匹配起来,最后把结构体数组的内容加到字典中
[System.Serializable] //在unity面板上序列化显示
public struct colorSprite //写成结构体的形式
{
public ColorType color;
public Sprite sprite;
}
public colorSprite[] colorSprites; //结构体数组
此时unity面板上显示,size是自己设置,选择颜色并将相应素材拖入Sprite中(对结构体数组赋值)
在unity里设置添加成功后,将结构体数组中的元素压入字典中 (注意下面的代码要写在函数里
//实例化字典
colorDic = new Dictionary<ColorType, Sprite>();
for(int i=0;i<colorSprites.Length;i++)
{
//字典中是否有了此种颜色
if(!colorDic.ContainsKey(colorSprites[i].color))
{
colorDic.Add(colorSprites[i].color,colorSprites[i].sprite);
//压入字典中
}
}`
更多推荐
unity中Dictionary使用笔记
发布评论