c#类/结构对象的静态列表

时间:2017-05-03 13:31:18

标签: c# class unity3d struct

我和Unity一起玩,但我对C#不太熟悉。 我认为我想要的是相当容易的,但不是母语为英语的人我错过了正确的关键词来搜索它,我想。

我想要的是一个只收集一些数据的类(或结构?):

public class Biome {
    string name;
    Color color;
    float base height; (...)
}

然后我想要一个预定义的对象列表。像海洋,草地,森林。这些应该可以在代码中轻松访问,因为我需要很多信息。如果可能的话,充其量只能通过他们的名字访问。此外,我希望列表可以在Unity编辑器中显示,以便我可以更改值(调整颜色等)。

我该怎么做或有名称,以便我可以成功搜索它?

1 个答案:

答案 0 :(得分:0)

将serializable标记放在您的类上并创建该类型的公共成员。现在,当您将组件添加到游戏对象并在层次结构中选择它时,您的数据将在检查器中可编辑。例如 -

public class MyComponent : MonoBehaviour
{
    // Declare your serializable data
    [System.Serializable]
    public class Biome {
        public string name;
        public Color color;
        public float height;
    }

    // Create public members of your custom type
    public Biome Ocean;
    public Biome Meadow;
    public Biome Forest;
    ...

}