예제 #1
0
        private void OnLevelChange(LevelZonesID nextZone, LevelChangeType LevelChangeType)
        {
            isNewZoneLoading = true;

            List <AsyncOperation> chunkOperations = null;

            if (LevelChangeType == LevelChangeType.PUZZLE_TO_PUZZLE)
            {
                chunkOperations = LevelManagerEventManager.Get().OnPuzzleToPuzzleLevel(nextZone);
            }
            else if (LevelChangeType == LevelChangeType.FROM_STARTMENU)
            {
                chunkOperations = LevelManagerEventManager.Get().OnStartMenuToLevel(nextZone);
            }

            foreach (var chunkOperation in chunkOperations)
            {
                chunkOperation.allowSceneActivation = false;
            }

            Coroutiner.Instance.StopAllCoroutines();
            Coroutiner.Instance.StartCoroutine(this.SceneTrasitionOperation(chunkOperations, nextZone));
        }
예제 #2
0
 private void OnLevelChunkTriggerExit(CoreInteractiveObject Other)
 {
     LevelManagerEventManager.Get().OnChunkLevelExit(this);
 }