示例#1
0
        // 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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }