Beispiel #1
0
        private IEnumerator UserInteractionTimeoutCheckRoutine()
        {
            UserInteractionLockSettings settings = m_userInteractionLockSettings;

            do
            {
                yield return(null);

                float userInteractionLockTimer = m_userInteractionLockTimer;
                m_userInteractionLockTimer += Time.get_unscaledDeltaTime();
                Action warningTimeoutCallback = settings.warningTimeoutCallback;
                if (warningTimeoutCallback != null)
                {
                    float warningTimeout = settings.warningTimeout;
                    if (m_userInteractionLockTimer >= warningTimeout && userInteractionLockTimer < warningTimeout)
                    {
                        warningTimeoutCallback();
                    }
                }
                Action errorTimeoutCallback = settings.errorTimeoutCallback;
                if (errorTimeoutCallback != null)
                {
                    float errorTimeout = settings.errorTimeout;
                    if (m_userInteractionLockTimer >= errorTimeout && userInteractionLockTimer < errorTimeout)
                    {
                        errorTimeoutCallback();
                    }
                }
            }while (m_userInteractionLockTimer < settings.maxTimeout);
            m_userInteractionLocked           = false;
            m_userInteractionLockCheckRoutine = null;
        }
Beispiel #2
0
 public void ReleaseUserInteractionLock()
 {
     if (!m_userInteractionLocked)
     {
         Log.Warning("User Interaction Lock is being released but it was not acquired.", 512, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\UI\\UIManager.cs");
     }
     m_userInteractionLockSettings = default(UserInteractionLockSettings);
     m_userInteractionLocked       = false;
 }
Beispiel #3
0
 public void LockUserInteraction(float warningTimeout = 1f, float errorTimeout = 8f, Action warningTimeoutCallback = null, Action errorTimeoutCallback = null)
 {
     if (m_userInteractionLocked)
     {
         Log.Warning("User Interaction is being locked but it was already acquired.", 489, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\UI\\UIManager.cs");
     }
     m_userInteractionLockSettings = new UserInteractionLockSettings(warningTimeout, errorTimeout, warningTimeoutCallback, errorTimeoutCallback);
     m_userInteractionLockTimer    = 0f;
     m_userInteractionLocked       = true;
     if (m_userInteractionLockCheckRoutine != null)
     {
         this.StopCoroutine(m_userInteractionLockCheckRoutine);
         m_userInteractionLockCheckRoutine = null;
     }
     if (m_userInteractionLockSettings.hasAnyCallback)
     {
         m_userInteractionLockCheckRoutine = this.StartCoroutine(UserInteractionTimeoutCheckRoutine());
     }
 }