示例#1
0
        /// <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);
                }));
            }
        }