示例#1
0
        public void SwitchState()
        {
            State next = State.idle;

            switch (_State)
            {
            case State.idle:
                next       = State.started;
                _StartedAt = DateTime.Now;
                OnStarted?.Invoke();
                break;

            case State.paused:
                next       = State.started;
                _PauseSum += DateTime.Now - _PausedAt;
                _PausedAt  = new DateTime();
                OnStarted?.Invoke();
                break;

            case State.started:
                next      = State.paused;
                _PausedAt = DateTime.Now;
                OnPaused?.Invoke();
                break;
            }

            _State = next;
        }
示例#2
0
 public void PauseGame()
 {
     paused = true;
     OnPaused?.Invoke();
     pauseMenu.SetActive(true);
     panelAnim.SetTrigger("Open");
     Time.timeScale            = 0.00001f;
     SlingSystem.pauseShooting = true;
 }
示例#3
0
 public void Pause()
 {
     if (_paused)
     {
         return;
     }
     OnPaused?.Invoke();
     _paused = true;
 }
示例#4
0
        public virtual void Pause(TimeSpan duration)
        {
            //TODO: pause
            var now           = DateTime.Now;
            var nextStartDate = now.AddSeconds(duration.Seconds);

            ScheduledTask.StopSchedule();

            OnPaused?.Invoke(this, new WorkerPausedEventArgs());

            Store($"{Name} has paused at {DateTime.Now}");
        }
示例#5
0
        private void sm_OnEntry_Paused(RunWorkerCompletedEventArgs e)
        {
            switch ((PausedReason)(e.Result))
            {
            case PausedReason.Breakpoint:
                OnPaused?.Invoke(this, new PausedEventArgs(e, CurrentRPC));
                break;

            case PausedReason.Keypress:
                OnPaused?.Invoke(this, new PausedEventArgs(e));
                break;
            }
        }
示例#6
0
        public bool Pause(bool isPaused)
        {
            var wasPaused = IsPaused;

            IsPaused = isPaused;
            var hasToggled = wasPaused != IsPaused;

            if (hasToggled)
            {
                OnPaused.Dispatch(IsPaused);
            }

            return(hasToggled);
        }
示例#7
0
 /// <summary>
 /// 强制暂停任务
 /// </summary>
 /// <param name="gid">任务标识符</param>
 /// <returns>成功返回true, 失败返回fale</returns>
 public bool ForcePause(string gid)
 {
     try
     {
         bool pause = Aria2cWarpper.ForcePause(gid);
         if (pause)
         {
             Aria2cTask task = Aria2cWarpper.TellStatus(gid);
             OnPaused?.Invoke(this, new Aria2cTaskEvent(task));
         }
         return(pause);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
         return(false);
     }
 }
示例#8
0
        /// <summary>
        /// Запускает цикл отрисовки и обновления виджетов.
        /// </summary>
        public void Start()
        {
            OnStop  = null;
            display = new Display();
            if (root is IFocusable focusable)
            {
                focusable.FocusChange(true);
            }

            Console.OutputEncoding = Encoding.UTF8;
            Console.InputEncoding  = Encoding.UTF8;

            display.Clear();
            const int fps   = 60;
            var       delay = Stopwatch.Frequency / fps;

            while (OnStop == null)
            {
                var end = Stopwatch.GetTimestamp() + delay;

                if (OnPaused == null)
                {
                    Tick();
                }
                else
                {
                    display.Clear();
                    OnPaused?.Invoke();
                    OnPaused = null;
                    display.Clear();
                }

                while (Stopwatch.GetTimestamp() < end)
                {
                    Thread.Sleep(1);
                }
            }

            display.Clear();
            OnStop?.Invoke();
        }
        /// <summary>
        /// 任务状态变换
        /// </summary>
        /// <param name="task"></param>
        private void OnStatusChanged(Aria2cTask task)
        {
            switch (task.Status)
            {
            case Aria2cTaskStatus.Active:
                OnUnPause?.Invoke(this, new Aria2cTaskEvent(task));
                break;

            case Aria2cTaskStatus.Complete:
            {
                OnFinish?.Invoke(this, new Aria2cTaskEvent(task));
                RemoveDownTask(task.Gid);
                if (CountDownTask() == 0)
                {
                    OnAllFinish?.Invoke(this, new EventArgs());
                }
            }
            break;

            case Aria2cTaskStatus.Error:
                OnError?.Invoke(this, new Aria2cTaskEvent(task));
                break;

            case Aria2cTaskStatus.Paused:
                OnPaused?.Invoke(this, new Aria2cTaskEvent(task));
                break;

            case Aria2cTaskStatus.Removed:
                OnRemoved?.Invoke(this, new Aria2cEvent(task.Gid));
                downLoadDict.Remove(task.Gid);
                break;

            case Aria2cTaskStatus.Waiting:
                OnWaiting?.Invoke(this, new Aria2cTaskEvent(task));
                break;

            default:
                break;
            }
        }
示例#10
0
        public void PauseGame(bool isPaused)
        {
            CurrentGameState = isPaused ? GameState.Paused : GameState.InGame;

            OnPaused?.Invoke(isPaused);
        }
示例#11
0
 public void UnPauseGame()
 {
     Time.timeScale = 1.0f;
     OnPaused?.Invoke(this, false);
 }
示例#12
0
 public void PauseGame()
 {
     Time.timeScale = 0.0f;
     OnPaused?.Invoke(this, true);
 }
 private void Timer_OnPaused()
 {
     OnPaused.Invoke();
 }
 private static void Internal_onPaused()
 {
     OnPaused?.Invoke();
 }
示例#15
0
 /// <summary>
 /// Triggers when the game is paused.
 /// </summary>
 private void TriggerGamePaused()
 {
     print("[TEST] TriggerGamePaused");
     OnPaused?.Invoke(gameData);
     SceneActivationBehaviour <BoardUIActivator> .Instance.QuixelController.ShowHideCharacter(false);
 }
 /// <summary>
 /// Triggers when the game is paused.
 /// </summary>
 private void TriggerGamePaused()
 {
     OnPaused?.Invoke(gameData);
 }
示例#17
0
 private void Paused(object sender, EventArgs e)
 {
     OnPaused?.Invoke();
     _appWebServer.OnPaused?.Invoke();
 }