Exemplo n.º 1
0
        public void Marshal(Span <byte> span, int protocolVersion)
        {
            var writer = new SpanWriter(span);

            writer.Skip(8);
            foreach (var c in _characters)
            {
                if (c == null)
                {
                    writer.WriteByte(0);
                }
                else
                {
                    writer.WriteByte(c.Level);
                    writer.WriteDaocString(c.Name);
                    writer.WriteUInt32LittleEndian(0x18);
                    writer.Write(c.Customization);
                    writer.Skip(13);
                    writer.WriteDaocString(c.LocationDescription);
                    writer.WriteDaocString(c.Classification.Class.DisplayName());
                    writer.WriteDaocString(c.Classification.Race.ToString());
                    writer.WriteUInt16LittleEndian(c.Model);
                    writer.WriteUInt16LittleEndian(c.Region);
                    writer.Write(c.Equipment);
                    writer.Write(c.Stats);
                    writer.Write(c.Classification);
                    // active weapon slots - see DoL's PacketLib1125.cs line 340
                    writer.WriteByte(0xFF);
                    writer.WriteByte(0xFF);
                    writer.WriteByte(0x01);                     // something about region
                    writer.WriteByte(c.Stats.Constitution);
                }
            }
            // TODO real stuff - see DoL's PacketLib1125.SendCharacterOverview
        }
Exemplo n.º 2
0
        public void Marshal(Span <byte> span, int protocolVersion)
        {
            var writer = new SpanWriter(span);

            writer.WriteDaocString(_version);
            writer.WriteUInt16LittleEndian(_build);
        }