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); } }
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); }); }