Exemplo n.º 1
0
        IEnumerator InterruptSequencer(Sequencable input)
        {
            _interrupted = true;
            if (_currentlySequencing)
            {
                _currentlySequencing.Interrupt();
            }
            if (input)
            {
                yield return(input.GiveTurn());
            }
            _counter = 0;
            yield return(Wait(IntervalAfterInterrupt));

            _interrupted = false;
        }
Exemplo n.º 2
0
        public IEnumerator Execute()
        {
            yield return(Wait(InitialInterval));

            while (true)
            {
                if (_interrupted)
                {
                    yield return(null);
                }
                else
                {
                    _currentlySequencing = Sequencables[_counter % Sequencables.Length];
                    _counter++;
                    yield return(_currentlySequencing.GiveTurn());
                }
            }
        }
Exemplo n.º 3
0
 public void Interrupt(Sequencable input = null)
 {
     StartCoroutine(InterruptSequencer(input));
 }