/// <summary> /// 画面に表示 /// </summary> private void viewMessage() { isViewing = true; animatorRootObject.SetActive(true); text.text = strQueue.Dequeue(); GamePopUpColor c = colorQueue.Dequeue(); switch (c) { case GamePopUpColor.white: text.color = new Color(1.0f, 1.0f, 1.0f, 1.0f); break; case GamePopUpColor.yellow: text.color = new Color(1.0f, 0.8f, 0.267f, 1.0f); break; case GamePopUpColor.red: text.color = new Color(1.0f, 0.05f, 0, 1.0f); break; } Observable.Timer(System.TimeSpan.FromMilliseconds(secQueue.Dequeue() * 1000f)) .Subscribe(_ => endView()); }
/// <summary> /// ゲーム中のポップアップメッセージをセット /// </summary> /// <param name="str">表示する文章</param> /// <param name="viewSec">表示する秒数</param> /// <param name="textColor">文字の色</param> public void SetMessage(string str, float viewSec, GamePopUpColor textColor) { strQueue.Enqueue(str); secQueue.Enqueue(viewSec); colorQueue.Enqueue(textColor); //キューの一つ目のメッセージなら表示 if (!isViewing) { viewMessage(); } }