我有一个基类:
class Tile{}
很少有其他延伸瓷砖的
class Free : Tile{}
class Wall : Tile{}
每个图块都有自己的纹理,它不是字符串,而是必须在初始化时加载的 Texture2D。我想代码看起来与此类似,但我不确定如何正确创建它:
class Tile{
static Texture2D texture; //Static will use less ram because it will be same for inherited class?
static string texture_path; //This is set by inherited class
public Tile(){
if(texture==null)
texture = LoadTexture(texture_path);
}
}
class Free : Tile{
static string texture_path = "Content/wall.png";
}
换句话说,所有免费瓷砖都有相同的纹理,所有墙瓷砖都有相同的纹理——这就是我认为我应该使用静态的原因。
如何正确执行此操作?