public void Dispatch(ISession session, IPacket packet) { BinaryReader reader = packet.CreateReader(); uint textId = reader.ReadUInt32(); ulong targetGuid = reader.ReadUInt64(); NpcTexts text = IoC.Resolve <INpcTextRepository>().FindById(textId); if (text != null) { session.SendNpcTextUpdate(text); } }
private static IPacket GetNpcTextUpdatePkt(NpcTexts texts) { IPacket responce = WorldPacketFactory.Create(WMSG.SMSG_NPC_TEXT_UPDATE); BinaryWriter writer = responce.CreateWriter(); writer.Write(texts.Id); for (int i = 0; i < 8; i++) { NpcText text = texts.Texts[i]; writer.Write(text.Probability); writer.WriteCString(text.Text0); writer.WriteCString(text.Text1); writer.Write(text.Language); for (int j = 0; (j < 3); j++) { writer.Write(text.Emote[j, 0]); writer.Write(text.Emote[j, 1]); } } return(responce); }
private static IPacket GetNpcTextUpdatePkt(NpcTexts texts) { IPacket responce = WorldPacketFactory.Create(WMSG.SMSG_NPC_TEXT_UPDATE); BinaryWriter writer = responce.CreateWriter(); writer.Write(texts.Id); for(int i = 0; i < 8; i++) { NpcText text = texts.Texts[i]; writer.Write(text.Probability); writer.WriteCString(text.Text0); writer.WriteCString(text.Text1); writer.Write(text.Language); for(int j = 0; (j < 3); j++) { writer.Write(text.Emote[j, 0]); writer.Write(text.Emote[j, 1]); } } return responce; }
public void SendNpcTextUpdate(NpcTexts text) { Send(GetNpcTextUpdatePkt(text)); }