public void Dispose() { gameProcessControl = null; if (currentProcess != null) { currentProcess.Dispose(); currentProcess = null; } }
public virtual void ActivateAloneProcess(Type type) { UniProcessModalEvent process = null; try { process = Activator.CreateInstance(type) as UniProcessModalEvent; } catch (System.Exception ex) { ShowExceptionError(ex); return; } try { UniProcessModalEvent oldprocess; if (aloneProcessList.TryGetValue((int)process.processType, out oldprocess)) { try { oldprocess.processStatus = UniProcessModalEvent.ProcessStatus.Status_Dispose; oldprocess.Dispose(); } catch (System.Exception ex) { ShowExceptionError(ex); } aloneProcessList.Remove((int)process.processType); } } catch (System.Exception ex) { ShowExceptionError(ex); } try { aloneProcessList.Add((int)process.processType, process); aloneProcessListModify = true; } catch (System.Exception ex) { ShowExceptionError(ex); } try { process.processStatus = UniProcessModalEvent.ProcessStatus.Status_Initialization; process.processControl = this; process.Initialization(); process.processStatus = UniProcessModalEvent.ProcessStatus.Status_Working; } catch (System.Exception ex) { ShowExceptionError(ex); process.OnProcessErr(); } }
public void SetCurrentProcess(UniProcessModalEvent process) { if (currentProcess != null) { try { UniProcessModalEvent.ProcessFadeData fadeData = currentProcess.FadeoutData; if (fadeData.isEffect) { //需要淡出 currentProcess.processStatus = UniProcessModalEvent.ProcessStatus.Status_Fadeout; gameProcessControl.TimerCall(TimerProcProcessFadeOutComplete, fadeData.fadeTime, false, process); //调用淡出函数 currentProcess.Fadeout(); return; } currentProcess.processStatus = UniProcessModalEvent.ProcessStatus.Status_Dispose; currentProcess.Dispose(); } catch (System.Exception ex) { gameProcessControl.ShowExceptionError(ex); } } currentProcess = process; if (currentProcess != null) { try { currentProcess.processStatus = UniProcessModalEvent.ProcessStatus.Status_Initialization; currentProcess.processControl = gameProcessControl; currentProcess.Initialization(); UniProcessModalEvent.ProcessFadeData fadeData = currentProcess.FadeinData; if (fadeData.isEffect) { //需要淡入 currentProcess.processStatus = UniProcessModalEvent.ProcessStatus.Status_Fadein; gameProcessControl.TimerCall(TimerProcProcessFadeInComplete, fadeData.fadeTime, false, null); //调用淡出函数 currentProcess.Fadein(); return; } currentProcess.processStatus = UniProcessModalEvent.ProcessStatus.Status_Working; } catch (System.Exception ex) { gameProcessControl.ShowExceptionError(ex); currentProcess.OnProcessErr(); } } }
public void ActivateProcess(Type type) { UniProcessModalEvent process = null; try { process = Activator.CreateInstance(type) as UniProcessModalEvent; } catch (System.Exception ex) { gameProcessControl.ShowExceptionError(ex); return; } SetCurrentProcess(process); }
public virtual void SetCurrentSceneProcess(UniProcessModalEvent process) { currentSceneProcessControl.SetCurrentProcess(process); }