Это логично правильно использовать, но нечитаемо для всех, включая вас. Итак, давайте вспомним формат здесь:
List<
List<
Map<int, List<int>>
>
>
Самая глубокая и самая маленькая единица - Map<int, List<int>>
. Это немного уродливо, но вы все равно можете использовать это. Однако вам нужно List
для этого уродливого юнита, поэтому вы должны дать ему class
, чтобы сделать его более понятным.
class Round {
Map<int, List<int>> monsterIdPerRound; // <round 1, monster 0, 1, 2, 0, 3...>
}
И код может быть:
List<
List<Round>
>
-
Вас это устраивает? Если бы не было, мы могли бы сделать это гораздо более понятным, как показано ниже:
// FightManager, arrange the fight with a lot of predefined round of fights.
class FightManager {
List<Round> rounds;
}
Теперь код должен быть:
List<FightManager>
-
Это легко поддерживать,Если спросить, что такое List<FightManager>
? Это все тот же способ придать Ему значение.
class LevelManager {
List<FightManager> fightManagers;
LevelManager(this.fightManagers);
}
--
List<FightManager> fightManagers = new List<FightManager>();
// prepare datas...
fightManager.add(getSwordOnlyFightManager());
fightManager.add(getMagicOnlyFightManager());
fightManager.add(getArcherOnlyFightManager());
fightManager.add(getBossFightManager());
fightManager.add(getRandomFightManager());
LevelManager(fightManagers);
Пора вернуться к исходному формату и спросить, какой код вы хотите сохранить или сохранить кодирование?
List<
List<
Map<int, List<int>>
>
>
или
LevelManager
Надеюсь, вы не возражаете, я сделал игровой пример для объяснения кода.