| using System; | 
| using System.Collections; | 
| using System.Collections.Generic; | 
| using UnityEngine; | 
|   | 
|   | 
|   | 
| public class WorldMapSkip : SingletonMonobehaviour<WorldMapSkip> | 
|   | 
| { | 
|   | 
|     Action onSceneLoadCompleted; | 
|   | 
|     private void Awake() | 
|     { | 
|         StageLoad.Instance.onStageLoadFinish += OnStageLoadFinish; | 
|     } | 
|   | 
|     protected override void OnDestroy() | 
|     { | 
|         StageLoad.Instance.onStageLoadFinish -= OnStageLoadFinish; | 
|         base.OnDestroy(); | 
|     } | 
|   | 
|     private void OnStageLoadFinish() | 
|     { | 
|         StartCoroutine(OnStageLoadDelay()); | 
|     } | 
|   | 
|     public void PushCMD(Action _onSceneLoaded) | 
|     { | 
|         onSceneLoadCompleted = _onSceneLoaded; | 
|     } | 
|   | 
|     public void StopCMD() | 
|     { | 
|         onSceneLoadCompleted = null; | 
|     } | 
|   | 
|     IEnumerator OnStageLoadDelay() | 
|     { | 
|         yield return null; | 
|   | 
|         if (onSceneLoadCompleted != null) | 
|         { | 
|             onSceneLoadCompleted(); | 
|             onSceneLoadCompleted = null; | 
|         } | 
|     } | 
|   | 
|   | 
| } |