IEnumerator coroutineLoading(string levelName, dfProgressBar bar, ISwitchPanelBehaviour switchPanel) { async = Application.LoadLevelAsync(levelName); again: if (async.isDone) { Debug.Log("completed"); if (switchPanel != null) { switchPanel.Switch(); } } else { Debug.Log("LoadNewLevel: async.progress=" + async.progress); if (bar != null) { bar.Value = async.progress; } yield return(new WaitForEndOfFrame()); goto again; } }
public LevelFactory(string levelName, dfProgressBar loadingBar, ISwitchPanelBehaviour panelBehaviour) { _loaders = new List <LevelLoader> { new ReloadCurrent(levelName, loadingBar, panelBehaviour), new LoadNewLevel(levelName, loadingBar, panelBehaviour), }; }
protected virtual void Start() { if (loadingBar != null) { loadingBar.Hide(); } switchPanelBehaviour = new Switchable(ToHidePanel, ToShowPanel); }
protected LevelLoader(string levelName, dfProgressBar _loadingBar, ISwitchPanelBehaviour _switchableBehaviour) { LevelName = levelName; loadingBar = _loadingBar; switchableBehaviour = _switchableBehaviour; }
public LoadNewLevel(string levelName, dfProgressBar _loadingBar, ISwitchPanelBehaviour _switchableBehaviour) : base(levelName, _loadingBar, _switchableBehaviour) { }
public ReloadCurrent(string levelName, dfProgressBar _loadingBar, ISwitchPanelBehaviour _switchableBehaviour) : base(levelName, _loadingBar, _switchableBehaviour) { }