예제 #1
0
 public void Load <T>(string sceneName, Action <T> onComplete) where T : ISceneManager
 {
     AdditiveScenesLoader.LoadAdditively(sceneName, scene =>
     {
         var sceneManager  = FindMonoTypeOnSceneRoot <T>(scene);
         var sceneDelegate = FindMonoTypeOnSceneRoot <ISceneDelegate>(scene);
         if (sceneDelegate != null)
         {
             sceneDelegate.ActivateScene(() =>
             {
                 onComplete?.Invoke(sceneManager);
             });
         }
         else
         {
             onComplete?.Invoke(sceneManager);
         }
     });
 }
 public void Load <T>(string sceneName, Action <Scene, T> onComplete) where T : ISceneManager
 {
     AdditiveScenesLoader.LoadAdditively(sceneName, loadOperationArgs =>
     {
         if (loadOperationArgs.Status == OperationStatus.Success)
         {
             var sceneManager  = FindMonoTypeOnSceneRoot <T>(loadOperationArgs.Scene);
             var sceneDelegate = FindMonoTypeOnSceneRoot <ISceneDelegate>(loadOperationArgs.Scene);
             if (sceneDelegate != null)
             {
                 sceneDelegate.ActivateScene(() =>
                 {
                     onComplete?.Invoke(loadOperationArgs.Scene, sceneManager);
                 });
             }
             else
             {
                 onComplete?.Invoke(loadOperationArgs.Scene, sceneManager);
             }
         }
         else
         {
             onComplete?.Invoke(default, default);