Ejemplo n.º 1
0
        public UnloadSceneOperation unloadSceneAsync(string scenePath, Action callback = null)
        {
            if (localDic.ContainsKey(scenePath))
            {
                unregisterLocal(localDic[scenePath]);
            }
            else
            {
                return(null);
            }
            foreach (LocalManager local in locals)
            {
                foreach (Manager manager in local.managers)
                {
                    manager.onSceneUnload(scenePath);
                }
            }
            UnloadSceneOperation operation = new UnloadSceneOperation(scenePath);

            operation.onSceneUnloaded += Operation_onSceneUnloaded;
            operation.onSceneUnloaded += o =>
            {
                callback?.Invoke();
            };
            return(operation);
        }
Ejemplo n.º 2
0
 private void Operation_onSceneUnloaded(UnloadSceneOperation operation)
 {
     checkLocals();
     foreach (LocalManager local in locals)
     {
         foreach (Manager manager in local.managers)
         {
             manager.onSceneUnloaded(operation.scenePath);
         }
     }
 }