public async Task <bool> OnHandle(MessageContext context, CWhisperChatMessageReqMessage message) { var session = context.GetSession <Session>(); var plr = session.Player; var toPlr = _playerManager.GetByNickname(message.ToNickname); // TODO Is there an answer for this case? if (toPlr == null) { session.Send(new SChatMessageAckMessage(ChatType.Channel, session.Player.Account.Id, "SYSTEM", $"{message.ToNickname} is not online")); return(true); } // TODO Is there an answer for this case? if (toPlr.Ignore.Contains(session.Player.Account.Id)) { session.Send(new SChatMessageAckMessage(ChatType.Channel, session.Player.Account.Id, "SYSTEM", $"{message.ToNickname} is ignoring you")); return(true); } toPlr.Session.Send( new SWhisperChatMessageAckMessage( 0, toPlr.Account.Nickname, plr.Account.Id, plr.Account.Nickname, message.Message ) ); return(true); }
public void CWhisperChatMessageReq(ChatSession session, CWhisperChatMessageReqMessage message) { var toPlr = GameServer.Instance.PlayerManager.Get(message.ToNickname); // ToDo Is there an answer for this case? if (toPlr == null) { session.Player.ChatSession.SendAsync(new SChatMessageAckMessage(ChatType.Channel, session.Player.Account.Id, "SYSTEM", $"{message.ToNickname} is not online")); return; } // ToDo Is there an answer for this case? if (toPlr.DenyManager.Contains(session.Player.Account.Id)) { session.Player.ChatSession.SendAsync(new SChatMessageAckMessage(ChatType.Channel, session.Player.Account.Id, "SYSTEM", $"{message.ToNickname} is ignoring you")); return; } toPlr.ChatSession.SendAsync(new SWhisperChatMessageAckMessage(0, toPlr.Account.Nickname, session.Player.Account.Id, session.Player.Account.Nickname, message.Message)); }
public void CWhisperChatMessageReq(ChatSession session, CWhisperChatMessageReqMessage message) { var toPlr = GameServer.Instance.PlayerManager.Get(message.ToNickname); toPlr?.ChatSession.Send(new SWhisperChatMessageAckMessage(0, toPlr.Account.Nickname, session.Player.Account.Id, session.Player.Account.Nickname, message.Message)); }