Я создаю игру на C #.Каждый уровень состоит из нескольких плиток.Каждая плитка имеет определенный тип, например, пол из травы, деревянная стена и т. Д.
В идеале я хотел бы иметь один базовый класс «Плитка» и наследовать его для создания классов для каждого типа плитки.Мне бы хотелось, чтобы свойства тайла были своего рода статическим / const / etc членом подкласса, поскольку каждый тип тайла всегда будет иметь одинаковые свойства.Т.е. я не хочу, чтобы у 100 плиток было свойство, которое имеет одинаковое значение, что кажется довольно неэффективным.
Проблема в том, что вы не можете сделать это в C #.Есть ли способы достичь того, чего я хочу?
Моя альтернативная идея состояла в том, чтобы разделить все это на деревья, один с единственным классом "Tile", который представляет экземпляр, и другой "TileType", из которого я создаю экземпляр.объект для каждого типа и, возможно, доступ к ним через какой-то "TileTypeCollection".Это кажется странным, и я предпочел бы сделать это в первую очередь.
Существуют ли какие-либо общие рекомендации при работе с такой ситуацией?