Beispiel #1
0
    public void Play(string text, FloatingNumber.Type type)
    {
        if (!_isLock)
        {
            _isLock = true;
            Debug.Log("dequeue");
            FloatingNumber floatingNumber = _poolQueue.Dequeue();
            floatingNumber.Play(text, type, transform.position);

            Timer unlockTimer = new Timer(CycleTime, () => //顯示下一個數字
            {
                _isLock = false;
                if (_dataQueue.Count > 0)
                {
                    Data data = _dataQueue.Dequeue();
                    Play(data.Text, data.Type);
                }
            });

            Timer recycleTimer = new Timer(Duration, () => //當前的數字消失
            {
                Debug.Log("enqueue");
                _poolQueue.Enqueue(floatingNumber);
            });
        }
        else
        {
            Data data = new Data(text, type);
            _dataQueue.Enqueue(data);
        }
    }
Beispiel #2
0
    private void Play(Data data)
    {
        _isLock = true;
        FloatingNumber floatingNumber = _poolQueue.Dequeue();

        floatingNumber.Play(data.Text, data.Type, transform.position);

        Timer unlockTimer = new Timer(CycleTime, () => //顯示下一個數字
        {
            _isLock = false;
            if (_dataQueue.Count > 0)
            {
                Play(_dataQueue.Dequeue());
            }
        });

        Timer recycleTimer = new Timer(Duration, () => //當前的數字消失
        {
            Debug.Log("enqueue");
            _poolQueue.Enqueue(floatingNumber);
        });
    }