public void ShowBBT(BBTMessage message) { if (message.Important) { _messageQueue.Insert(0, message); } else { _messageQueue.Add(message); } ProcessState(); }
void Show() { if (_curMessage == null) { ProcessState(); return; } BBTTransform.gameObject.SetActive(true); TextField.text = _curMessage.Text; _state = StripeState.MovingDown; _seq = TweenHelper.ReplaceSequence(_seq); _seq.Append(BBTTransform.DOLocalMove(ShownPos, _moveTime)); _seq.AppendCallback(() => { _state = StripeState.Shown; }); _seq.AppendInterval(_curMessage.ShowTime); _seq.AppendCallback(() => { _state = StripeState.MovingUp; }); _seq.Append(BBTTransform.DOLocalMove(RetractedPos, _moveTime)); _seq.AppendCallback(() => { _state = StripeState.Retracted; _curMessage = null; BBTTransform.gameObject.SetActive(false); ProcessState(); }); }
void ProcessState() { if (_curMessage == null && _messageQueue.Count > 0) { _curMessage = _messageQueue[0]; _messageQueue.RemoveAt(0); } if (_curMessage == null) { return; } if (_state == StripeState.Retracted) { Show(); } }