public static StreamGeometry GetIcon(LocalMessageType messageType) { switch (messageType) { case LocalMessageType.Info: return(InfoIcon); case LocalMessageType.Warn: return(WarnIcon); case LocalMessageType.Error: return(ErrorIcon); default: return(null); } }
public static SolidColorBrush GetIconFill(LocalMessageType messageType) { switch (messageType) { case LocalMessageType.Info: return(InfoColor); case LocalMessageType.Warn: return(WarnColor); case LocalMessageType.Error: return(WpfUtil.RedBrush); default: return(WpfUtil.BlackBrush); } }
public static LocalMessageDto ToDto(this ILocalMessage localMessage) { LocalMessageChannel channel = LocalMessageChannel.Unspecified; LocalMessageType messageType = LocalMessageType.Info; if (localMessage.Channel.TryParse(out LocalMessageChannel localMessageChannel)) { channel = localMessageChannel; } if (localMessage.MessageType.TryParse(out LocalMessageType localMessageType)) { messageType = localMessageType; } return(new LocalMessageDto { Channel = channel, Content = localMessage.Content, MessageType = messageType, Provider = localMessage.Provider, Timestamp = Timestamp.GetTimestamp(localMessage.Timestamp) }); }
public static void LocalMessage(LocalMessageChannel channel, string provider, LocalMessageType messageType, string content, OutEnum outEnum, bool toConsole) { switch (outEnum) { case OutEnum.None: if (toConsole && _consoleAction.TryGetValue(messageType, out Action <string> action)) { action(content); } break; case OutEnum.Info: Out.ShowInfo(content, toConsole: toConsole); break; case OutEnum.Warn: Out.ShowWarn(content, autoHideSeconds: 4, toConsole: toConsole); break; case OutEnum.Error: Out.ShowError(content, autoHideSeconds: 4, toConsole: toConsole); break; case OutEnum.Success: Out.ShowSuccess(content, toConsole: toConsole); break; default: break; } Execute(new AddLocalMessageCommand(new LocalMessageData { Id = Guid.NewGuid(), Channel = channel.GetName(), Provider = provider, MessageType = messageType.GetName(), Content = content, Timestamp = DateTime.Now })); }
public static void LocalMessage(LocalMessageChannel channel, string provider, LocalMessageType messageType, string consoleLine, string content, OutEnum outEnum) { if (_consoleAction.TryGetValue(messageType, out Action <string> action)) { action(consoleLine); } LocalMessage(channel, provider, messageType, content, outEnum, toConsole: false); }
public static void LocalMessage(LocalMessageChannel channel, string provider, LocalMessageType messageType, string content, OutEnum outEnum, bool toConsole) { switch (outEnum) { case OutEnum.None: break; case OutEnum.Info: Out.ShowInfo(content); break; case OutEnum.Warn: Out.ShowWarn(content, delaySeconds: 4); break; case OutEnum.Error: Out.ShowError(content, delaySeconds: 4); break; case OutEnum.Success: Out.ShowSuccess(content); break; default: break; } if (toConsole) { switch (messageType) { case LocalMessageType.Info: Write.UserInfo(content); break; case LocalMessageType.Warn: Write.UserWarn(content); break; case LocalMessageType.Error: Write.UserError(content); break; default: break; } } Execute(new AddLocalMessageCommand(new LocalMessageData { Id = Guid.NewGuid(), Channel = channel.GetName(), Provider = provider, MessageType = messageType.GetName(), Content = content, Timestamp = DateTime.Now })); }
/// <summary> /// Wysyła lokalną wiadomość czatu /// </summary> /// <param name="charId"></param> /// <param name="message"></param> /// <param name="pronoun"></param> /// <param name="ignoredEntity"></param> /// <param name="action"></param> /// <param name="messageType"></param> public static void SendPlayerLocalMessage(int charId, string message, string pronoun, Client ignoredEntity = null, bool action = true, LocalMessageType messageType = LocalMessageType.Talk) { Character charData = Account.GetPlayerData(charId); if (charData == null) { return; } SendPlayerLocalMessage(charData, message, pronoun, ignoredEntity, action, messageType); }
/// <summary> /// Wysyła lokalną wiadomość czatu /// </summary> /// <param name="charData"></param> /// <param name="message"></param> /// <param name="pronoun"></param> /// <param name="ignoredEntity"></param> /// <param name="action"></param> /// <param name="messageType"></param> public static void SendPlayerLocalMessage(Character charData, string message, string pronoun, Client ignoredEntity = null, bool action = true, LocalMessageType messageType = LocalMessageType.Talk) { string messageOutput = $"{Player.GetPlayerIcName(charData)} {pronoun}: {Command.UpperFirst(message)}"; double radius = messageType == LocalMessageType.Shout ? Constants.RadiusShout : messageType == LocalMessageType.Whisper ? Constants.RadiusQuiet : messageType == LocalMessageType.Megaphone ? Constants.RadiusMegapthone : Constants.RadiusTalk; IEnumerable <Character> playersInRadius = Global.GetPlayersInRange(charData.PlayerHandle.Position, radius, charData.PlayerHandle.Dimension); List <int> asterisks = new List <int>(); if (action) { asterisks = GetAsterisksInText(messageOutput); if (asterisks.Count > 0 && asterisks.Count % 2 != 0) { asterisks.RemoveAt(asterisks.Count - 1); } } foreach (Character entry in playersInRadius) { if (ignoredEntity != null && ignoredEntity == entry.PlayerHandle) { continue; } string outputMessage = $"{messageOutput}"; double progress = Global.GetDistanceBetweenPositions(charData.PlayerHandle.Position, entry.PlayerHandle.Position) / radius; int cr = (int)Math.Floor(Global.Lerp(255, 60, (float)progress)); int cg = (int)Math.Floor(Global.Lerp(255, 60, (float)progress)); int cb = (int)Math.Floor(Global.Lerp(255, 60, (float)progress)); if (messageType == LocalMessageType.Megaphone) { cr = (int)Math.Floor(Global.Lerp(252, 173, (float)progress)); cg = (int)Math.Floor(Global.Lerp(249, 170, (float)progress)); cb = (int)Math.Floor(Global.Lerp(63, 10, (float)progress)); } if (action) { if (asterisks.Count > 0) { int r = (int)Math.Floor(Global.Lerp(194, 144, (float)progress)), g = (int)Math.Floor(Global.Lerp(162, 112, (float)progress)), b = (int)Math.Floor(Global.Lerp(218, 168, (float)progress)); for (int i = asterisks.Count - 1; i > -1; i--) { if (i % 2 == 0) { outputMessage = $"{outputMessage.Substring(0, asterisks[i])}!{{{r}, {g}, {b}}}" + $"{outputMessage.Substring(asterisks[i])}"; } else { outputMessage = $"{outputMessage.Substring(0, asterisks[i] + 1)}!{{{cr}, {cg}, {cb}}}" + $"{outputMessage.Substring(asterisks[i] + 1)}"; } } } } entry.PlayerHandle.SendChatMessage($"!{{{cr}, {cg}, {cb}}}{outputMessage}"); Log.LogPlayer(charData, messageOutput, LogType.ChatIc); } }
private static void ThisLocalMessage(string provider, LocalMessageType messageType, string content, OutEnum outEnum, bool toConsole) { switch (outEnum) { case OutEnum.None: break; case OutEnum.Info: Out.ShowInfo(content); break; case OutEnum.Warn: Out.ShowWarn(content, delaySeconds: 4); break; case OutEnum.Error: Out.ShowError(content, delaySeconds: 4); break; case OutEnum.Success: Out.ShowSuccess(content); break; case OutEnum.Auto: switch (messageType) { case LocalMessageType.Info: Out.ShowInfo(content); break; case LocalMessageType.Warn: Out.ShowWarn(content, delaySeconds: 4); break; case LocalMessageType.Error: Out.ShowError(content, delaySeconds: 4); break; default: break; } break; default: break; } if (toConsole) { switch (messageType) { case LocalMessageType.Info: Write.UserInfo(content); break; case LocalMessageType.Warn: Write.UserWarn(content); break; case LocalMessageType.Error: Write.UserError(content); break; default: break; } } LocalMessages.Add(LocalMessageChannel.This.GetName(), provider, messageType.GetName(), content); }