public void Init() { systems = new List <IGameSystem>(); achievementSystem = new AchievementSystem(); campSystem = new CampSystem(); CharacterSystem = new CharacterSystem(); EnergySystem = new EnergySystem(); EventSystem = new GameEventSystem(); StageSystem = new StageSystem(); CampInfoUI = new CampInfoUI(); gamePauseUI = new GamePauseUI(); GameStateInfoUI = new GameStateInfoUI(); soldierInfoUI = new SoldierInfoUI(); systems.Add(achievementSystem); systems.Add(campSystem); systems.Add(CharacterSystem); systems.Add(EnergySystem); systems.Add(EventSystem); systems.Add(StageSystem); systems.Add(CampInfoUI); systems.Add(gamePauseUI); systems.Add(GameStateInfoUI); systems.Add(soldierInfoUI); systems.ForEach(s => s.Init()); var memento = CareTaker.RetrieveMemento(); //取回备忘录 achievementSystem.RestoreMemento(memento); //根据备忘录,恢复成就系统 }