/// <summary> /// Shows a screen message to the player. Optionally hide it after the specified time in seconds. /// </summary> /// <param name="message">The message to show.</param> /// <param name="time">The time in seconds before it dissapears. If 0 or below, it will stay forever. Use HideScreenMessage to hide it manually.</param> public static void ShowScreenMessage(this BasePlayer player, string message, float time, TextAnchor textAnchor = TextAnchor.MiddleCenter) { message = message.Replace("\r", ""); // Remove \r in new lines from stringbuilder etc. if (gameTipTimers.ContainsKey(player)) { HideGameTip(player); } var screenMessage = GetOrCreateScreenMessage(player); screenMessage.Text = message; screenMessage.TextAnchor = textAnchor; UiManager.AddPlayerUI(screenMessage, player); if (time > 0) { gameTipTimers.Add(player, Utility.Timer.Once(time, () => { HideScreenMessage(player); })); } }