// endLevel public void endLevel() { ScreenSystem screenSystem = (ScreenSystem)_systemManager.getSystem(SystemType.Screen); foreach (string levelUid in _levelsData.Keys) { List <int> entitiesToPreserve = new List <int>(); entitiesToPreserve.Add(PlayerSystem.PLAYER_ID); _entityManager.killAllEntities(levelUid, entitiesToPreserve); //_regionGoals.Clear(); //_eventGoals.Clear(); //_completedGoals.Clear(); } ResourceManager.clearCache(); _renderSystem = null; currentLevelUid = null; screenSystem.removeScreen(_game.levelScreen); _systemManager.remove(SystemType.Input); _systemManager.remove(SystemType.Physics); _systemManager.remove(SystemType.Camera); _systemManager.remove(SystemType.Event); _systemManager.remove(SystemType.Render); _systemManager.remove(SystemType.Rope); _systemManager.remove(SystemType.Fluid); _systemManager.remove(SystemType.Tree); _systemManager.remove(SystemType.CharacterMovement); _systemManager.remove(SystemType.Explosion); _game.openWorldMap(); _scriptManager.onReturnToWorldMap(currentLevelUid, this); }
public void endDialogue(string levelUid) { ScreenSystem screenSystem = _systemManager.getSystem(SystemType.Screen) as ScreenSystem; LevelScreen levelScreen = screenSystem.getScreen(ScreenType.Level) as LevelScreen; _entityManager.removeComponent(levelUid, _currentEntityA, ComponentType.InDialogue); _entityManager.removeComponent(levelUid, _currentEntityB, ComponentType.InDialogue); levelScreen.removeDialoguePane(_currentDialogueComponent); }
public void beginDialogue(string levelUid, int entityA, int entityB, CharacterDialogueComponent dialogueComponent) { ScreenSystem screenSystem = _systemManager.getSystem(SystemType.Screen) as ScreenSystem; LevelScreen levelScreen = screenSystem.getScreen(ScreenType.Level) as LevelScreen; _currentEntityA = entityA; _currentEntityB = entityB; _currentDialogueComponent = dialogueComponent; _entityManager.addComponent(levelUid, entityA, new InDialogueComponent()); _entityManager.addComponent(levelUid, entityB, new InDialogueComponent()); levelScreen.addDialoguePane(dialogueComponent); }