public void ShowMessage(string msg, float time, MessageType t) { GameObject o = GameObject.Instantiate(messageUi, Vector2.zero, Quaternion.identity); GameMessage message = o.GetComponent <GameMessage>(); message.Init(msg, time); if (messageQueue.Count != 0) { //messageQueue.Enqueue(message); switch (t) { case MessageType.Commmon: messageQueue.Enqueue(message); break; case MessageType.Important: while (messageQueue.Count != 0) { GameMessage gm = messageQueue.Dequeue(); if (gm != null) { Destroy(gm.gameObject); } } message.Show(); messageQueue.Enqueue(message); break; } } else { message.Show(); messageQueue.Enqueue(message); } }