C# Unity-获取资源中的所有字体及其在枚举中的字体权重?

C# Unity-获取资源中的所有字体及其在枚举中的字体权重?,c#,unity3d,enums,fonts,C#,Unity3d,Enums,Fonts,但是我想知道什么是最有效的治疗方法 正在将Resources文件夹中的所有可用字体放入名为FontFamily 在名为fontwweight 就像Adobe程序一样 我可以使用(font)Resources.Load(“Inter Black slnt=0”)从资源中获取单个字体文件但是,我只想为所有Inter字体文件显示Inter,为我的enumFontFamily中的所有Arial等显示Arial 然后,我需要查看为FontFamily中的每个字体提供了哪些权重,并相应地更新FontWe

但是我想知道什么是最有效的治疗方法

  • 正在将Resources文件夹中的所有可用字体放入名为
    FontFamily

  • 在名为
    fontwweight

  • 就像Adobe程序一样

    我可以使用
    (font)Resources.Load(“Inter Black slnt=0”)从资源中获取单个字体文件
    但是,我只想为所有Inter字体文件显示
    Inter
    ,为我的enum
    FontFamily
    中的所有Arial等显示
    Arial

    然后,我需要查看为
    FontFamily
    中的每个字体提供了哪些权重,并相应地更新
    FontWeight
    枚举。也就是说,如果我有Arial Bold、Arial Regular和Arial Light,
    FontFamily
    将包含Bold、Regular和Light


    我能想到的唯一方法是运行for循环,拆分我找到的所有字体文件的名称,但我想知道是否有更有效/性能更好的方法来实现这一点。如何填充这些字体枚举?

    您能大致解释一下您所说的
    enum fontwweight
    enum fontfamine
    是什么意思吗。。。如果你是指一个实际的,那么它是预编译的,并且你没有在那里得到你的值…@derHugo你不能在运行时更改/填充枚举?你可以在编辑器脚本中,然后让整个代码重新编译。。但这绝对不是小事。。在运行时,因此在编译之后。枚举基本上是关键字和值之间的预编译常量映射。。在编译时,枚举引用被替换为值的数字文本…因此,您试图实现的具体目标有点不清楚