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

c#类/结构对象的静态列表,c#,class,unity3d,struct,C#,Class,Unity3d,Struct,我在玩Unity,但我不太熟悉C。 我想我想要的是相当简单的,但不是一个以英语为母语的人,我想我错过了正确的关键字来搜索它 我想要的是一个只收集少量数据的类(或结构): public class Biome { string name; Color color; float base height; (...) } 然后我想要一个预定义的对象列表。像海洋、草地、森林。这些应该很容易在代码中访问,因为我需要很多信息。如果可能的话,充其量只能通过他们的名字访问他们。此外,我

我在玩Unity,但我不太熟悉C。 我想我想要的是相当简单的,但不是一个以英语为母语的人,我想我错过了正确的关键字来搜索它

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

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


我该如何做,或者是否有它的名称,以便我可以成功地搜索它

在类上放置可序列化标记,并创建该类型的公共成员。现在,当您将组件添加到游戏对象并在层次结构中选择它时,您的数据将在inspector中可编辑。比如说-

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;
    ...

}

当你说一个预定义的对象列表时,你的确切意思是什么?这些对象是Biome类的实例还是Biome类的成员?有没有办法拥有静态成员?就像C#的颜色类,其中颜色是类和颜色。黑色总是一样的吗?静态成员这个词对吗?我真的很难找到合适的关键字来搜索东西。是的,你也可以拥有
静态
常量
成员,你可以像Colors.Black一样访问这些成员。请记住,
const
成员始终是静态的。因此,您可以将一个成员指定为
static
const
而不是两者都指定。