我正在使用C#创建一个游戏。每个关卡由多个瓷砖组成,每个瓷砖都属于不同的类型,如草地、木墙等。
理想情况下,我想创建一个基类“Tile”,并从中继承来创建每种类型的瓷砖类。我希望每个瓷砖类的属性都是某种静态/常量/等成员,因为每种类型的瓷砖只会有相同的属性。也就是说,我不希望100个瓷砖都有一个属性,这些属性都具有相同的值,这似乎效率低下。
但在C#中无法实现这样的需求。有没有什么方法可以实现我想要的效果?
我的备选方案是将其分成两棵树:一个只包含“Tile”类,表示实例;另一个是“TileType”,我会为每种类型实例化一个对象,并通过某种“TileTypeCollection”访问它们。但这种方法感觉很奇怪,我更愿意采用第一种方式。
处理这种情况时是否有任何一般性的指导方针?
理想情况下,我想创建一个基类“Tile”,并从中继承来创建每种类型的瓷砖类。我希望每个瓷砖类的属性都是某种静态/常量/等成员,因为每种类型的瓷砖只会有相同的属性。也就是说,我不希望100个瓷砖都有一个属性,这些属性都具有相同的值,这似乎效率低下。
但在C#中无法实现这样的需求。有没有什么方法可以实现我想要的效果?
我的备选方案是将其分成两棵树:一个只包含“Tile”类,表示实例;另一个是“TileType”,我会为每种类型实例化一个对象,并通过某种“TileTypeCollection”访问它们。但这种方法感觉很奇怪,我更愿意采用第一种方式。
处理这种情况时是否有任何一般性的指导方针?