public void Dispose()
 {
     gameProcessControl = null;
     if (currentProcess != null)
     {
         currentProcess.Dispose();
         currentProcess = null;
     }
 }
Beispiel #2
0
    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);
    }
Beispiel #5
0
 public virtual void SetCurrentSceneProcess(UniProcessModalEvent process)
 {
     currentSceneProcessControl.SetCurrentProcess(process);
 }