斗斗金 2022-08-31 13:25 采纳率: 50%
浏览 82
已结题

unity关于字典的问题

字典建立如何被其他物体调用
我本来想法是 建立一个ScriptableObject 来保存字典
但是我发现 ScriptableObject 不支持字典 不可以保存字典
那现在我用的办法就是在增加1个物体在程序上 然后物体保存脚本 来保存这个字典 如果调用就需要先查询这个物体 在调用字典
但是我感觉这样非常不正确并且没有解耦 使用也非常麻烦
所以我想问下 字典应该保存什么地方。然后被不同对象调用,还能解耦

  • 写回答

4条回答 默认 最新

  • 周周的Unity小屋 Unity3D领域优质创作者 2022-08-31 15:33
    关注

    你的字典可以在任何类上创建呀,如果你想要外部访问,声明为public;
    访问分几种情况:

    静态类:
    public static class A
    {
    public static Dictionary<int, string> Dic = new Dictionary<int, string>();
    }
    外部调用:A.Dic;
    
    普通类:
    public class A
    {
    public  Dictionary<int, string> Dic = new Dictionary<int, string>();
    }
    外部调用:
    A a=new A(){}
    a.Dic;
    
    单例类:
    public class A
    {
    public static A intance;
    public Dictionary<int, string> Dic = new Dictionary<int, string>();
    
    private void Awake(){}
    
    外部调用:A.Dic;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月9日
  • 已采纳回答 9月6日
  • 创建了问题 8月31日