コード例 #1
0
        public void CoroutineRunTest(ICoroutineManager coroutineMgr)
        {
            var timeProvider = CoroutineSystemTestUtil.TestTimeProvider();

            coroutineMgr.TimeProvider = timeProvider;
            var coroutine = (EnumeratorCoroutineProcessor)coroutineMgr.StartCoroutine(this, InterruptableCoroutine());

            var state = coroutine.State;

            Assert.AreEqual(CoroutineState.NotStarted, state);
            coroutine.OnStateChange += newState => state = newState;

            timeProvider.OnUpdate += Raise.Event <Action>();
            Assert.AreEqual(1, _count);
            coroutine.Pause();
            Assert.AreEqual(CoroutineState.Paused, state);
            Assert.AreEqual(CoroutineState.Paused, coroutine.State);

            timeProvider.OnUpdate += Raise.Event <Action>();
            Assert.AreEqual(1, _count);
            coroutine.Resume();
            Assert.AreEqual(CoroutineState.InProgress, state);
            Assert.AreEqual(CoroutineState.InProgress, coroutine.State);

            timeProvider.OnUpdate += Raise.Event <Action>();
            Assert.AreEqual(11, _count);
            coroutine.Stop();
            Assert.AreEqual(CoroutineState.Stopped, state);
            Assert.AreEqual(CoroutineState.Stopped, coroutine.State);

            timeProvider.OnUpdate += Raise.Event <Action>();
            Assert.AreEqual(11, _count);
            Assert.IsTrue(coroutine.IsCompleted);
        }
コード例 #2
0
        public void StartGame()
        {
            if (_coroutine != null)
            {
                _coroutineManager.StopCoroutine(_coroutine);
            }

            _levelModel.Clear();
            _coroutine = _coroutineManager.StartCoroutine(GameRoutine());
        }
コード例 #3
0
 public void Roll()
 {
     coroutineManager.StartCoroutine(RollCr());
 }
コード例 #4
0
 public void Subscribe(System.Action <byte[]> onData)
 {
     this.onData        = onData;
     telemetryCoroutine = coroutineManager.StartCoroutine(SendTelemetryData());
 }
コード例 #5
0
 void IPerformanceTest.Run()
 {
     coroutineManager.StartCoroutine(TestCoroutine());
 }
 public void StartCoroutineFailedTest() => Assert.Throws <ArgumentNullException>(() => _coroutineManager.StartCoroutine(null, null));
コード例 #7
0
 public void StartLoading()
 {
     _coroutineManager.StartCoroutine(this, LoadProcess(), HandlerLoadProcessError);
 }