Рассмотрите плитки и слои из легенды о Зельде: связь с прошлым.Что было бы идеальным способом сохранить эту карту в редакторе плиток?В настоящее время я использую многомерный массив прямоугольников в качестве одного слоя.Список этих слоев листов состоит из карты.Каждый прямоугольник соответствует прямоугольнику из набора плиток.Однако проблема заключается в том, что редактирование размера карты (ширина, высота и количество слоев) должно быть разрешено при редактировании карты.
В настоящее время, когда кто-то редактирует размеры карты, я просто создаю новый массивс указанными размерами.Это работает нормально, но теперь, когда я добавляю поддержку Undo и Redo, это начинает усложнять ситуацию, потому что каждый раз, когда пользователь меняет размеры карты, я должен сохранять копию всей карты перед каждым изменением.Теперь я рассматриваю другие способы.
Было бы лучше иметь размер карты MAX и просто создать массив такого размера при запуске, чтобы мне не приходилось так часто создавать новые массивы и копировать данные?А как насчет того, чтобы использовать List of List вместо многомерного массива?
Я не уверен, что я чувствую по поводу моей текущей настройки.Первоначально я был в порядке с этим, но теперь у меня есть вторые мысли.В настоящее время я вообще не замечаю замедления, так что, возможно, я делаю преждевременную оптимизацию (что, конечно, плохо), и мне следует просто забыть обо всем этом посте.Я не уверен.Я хотел бы услышать, что вы все думаете.