Ejemplo n.º 1
0
        protected virtual ISceneBehaviour LoadCustomSceneBehaviour(SPSceneManager manager)
        {
            if (_sceneBehaviourType != null)
            {
                var result = SceneBehaviour.SceneLoadedInstance;
                if (result != null && TypeUtil.IsType(result.GetType(), _sceneBehaviourType))
                {
                    return(result);
                }
                if (manager == null)
                {
                    return(null);
                }

                var go = new GameObject("SceneBehaviour." + _sceneBehaviourType.Name);
                result = go.AddComponent(_sceneBehaviourType) as ISceneBehaviour;
                go.transform.parent        = manager.transform;
                go.transform.localPosition = Vector3.zero;
                return(result);
            }
            else
            {
                return(SceneBehaviour.SceneLoadedInstance);
            }
        }
 public void Start(SPSceneManager manager, ISceneLoadOptions options, ISceneBehaviour lastScene)
 {
     _manager   = manager;
     _options   = options;
     _lastScene = lastScene;
     _routine   = manager.StartRadicalCoroutine(this.DoLoad()); //GameLoopEntry.Hook.StartRadicalCoroutine(this.DoLoad(), RadicalCoroutineDisableMode.Default);
 }
 public SceneLoadingEventArgs(SPSceneManager manager, ISceneLoadOptions loadOptions)
 {
     _manager = manager;
     _options = loadOptions;
 }
 void ISceneLoadOptions.OnSceneStarted(SPSceneManager manager, SceneLoadingEventArgs e)
 {
     this.OnSceneStarted(manager, e);
 }
 protected virtual void OnSceneStarted(SPSceneManager manager, SceneLoadingEventArgs e)
 {
 }
 void ISceneLoadOptions.OnBeforeSceneLoaded(SPSceneManager manager, SceneLoadingEventArgs e)
 {
     this.OnBeforeSceneLoaded(manager, e);
 }
 protected virtual void OnBeforeSceneLoaded(SPSceneManager manager, SceneLoadingEventArgs e)
 {
 }
 ISceneBehaviour ISceneLoadOptions.LoadCustomSceneBehaviour(SPSceneManager manager)
 {
     return(this.LoadCustomSceneBehaviour(manager));
 }
 protected virtual ISceneBehaviour LoadCustomSceneBehaviour(SPSceneManager manager)
 {
     return(SceneBehaviour.SceneLoadedInstance);
 }
 Scene ISceneLoadOptions.GetScene(SPSceneManager manager)
 {
     return(this.GetScene(manager));
 }
 protected virtual Scene GetScene(SPSceneManager manager)
 {
     return(_scene);
 }