public int size(Kaminari.IMarshal marshal) { int size = 0; size += sizeof(byte) + this.data.Count * marshal.size <EntityUpdate>(); return(size); }
public int size(Kaminari.IMarshal marshal) { int size = 0; size += marshal.size <byte>() + this.name.Length; return(size); }
public bool unpack(Kaminari.IMarshal marshal, Kaminari.PacketReader packet) { if (packet.bytesRead() + marshal.size <byte>() > packet.bufferSize()) { return(false); } if (packet.bytesRead() + marshal.size <byte>() + packet.getData().peekByte() > packet.bufferSize()) { return(false); } this.username = packet.getData().readString(); if (packet.bytesRead() + marshal.size <ulong>() > packet.bufferSize()) { return(false); } this.password0 = packet.getData().readUlong(); if (packet.bytesRead() + marshal.size <ulong>() > packet.bufferSize()) { return(false); } this.password1 = packet.getData().readUlong(); if (packet.bytesRead() + marshal.size <ulong>() > packet.bufferSize()) { return(false); } this.password2 = packet.getData().readUlong(); if (packet.bytesRead() + marshal.size <ulong>() > packet.bufferSize()) { return(false); } this.password3 = packet.getData().readUlong(); return(true); }
public int size(Kaminari.IMarshal marshal) { int size = 0; size += marshal.size <bool>(); return(size); }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { packet.getData().write((ulong)this.id); packet.getData().write((ushort)this.type); packet.getData().write((float)this.x); packet.getData().write((float)this.z); }
public bool unpack(Kaminari.IMarshal marshal, Kaminari.PacketReader packet) { if (packet.bytesRead() + this.size(marshal) > packet.bufferSize()) { return(false); } return(true); }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { packet.getData().write((string)this.username); packet.getData().write((ulong)this.password0); packet.getData().write((ulong)this.password1); packet.getData().write((ulong)this.password2); packet.getData().write((ulong)this.password3); }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { packet.getData().write((byte)this.data.Count); foreach (EntityUpdate val in this.data) { val.pack(marshal, packet); } }
public int size(Kaminari.IMarshal marshal) { int size = 0; size += marshal.size <char>(); size += marshal.size <char>(); size += marshal.size <byte>(); return(size); }
public int size(Kaminari.IMarshal marshal) { int size = 0; size += marshal.size <ulong>(); size += marshal.size <float>(); size += marshal.size <float>(); return(size); }
public bool unpack(Kaminari.IMarshal marshal, Kaminari.PacketReader packet) { if (packet.bytesRead() + this.size(marshal) > packet.bufferSize()) { return(false); } this.success = packet.getData().readBool(); return(true); }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { packet.getData().write((float)this.x); packet.getData().write((float)this.z); packet.getData().write((float)this.speed); packet.getData().write((float)this.vx); packet.getData().write((float)this.vz); packet.getData().write((byte)this.seq); packet.getData().write((ushort)this.frame); }
public bool unpack(Kaminari.IMarshal marshal, Kaminari.PacketReader packet) { if (packet.bytesRead() + sizeof(byte) > packet.bufferSize()) { return(false); } this.x = new Kaminari.Optional <uint>(); if (packet.getData().readByte() == 1) { if (packet.bytesRead() + marshal.size <uint>() > packet.bufferSize()) { return(false); } this.x.setValue(packet.getData().readUint()); } int size_y = packet.getData().readByte(); this.y = new List <SpawnData>(); for (int i = 0; i < size_y; ++i) { SpawnData data = new SpawnData(); if (data.unpack(marshal, packet)) { this.y.Add(data); } else { return(false); } } if (packet.bytesRead() + marshal.size <int>() > packet.bufferSize()) { return(false); } this.z = packet.getData().readInt(); if (packet.bytesRead() + sizeof(byte) > packet.bufferSize()) { return(false); } this.w = new Kaminari.Optional <List <bool> >(); if (packet.getData().readByte() == 1) { int size_w = packet.getData().readByte(); if (packet.bytesRead() + size_w * marshal.size <bool>() > packet.bufferSize()) { return(false); } this.w.setValue(new List <bool>()); for (int i = 0; i < size_w; ++i) { this.w.getValue().Add(packet.getData().readBool()); } } return(true); }
public bool unpack(Kaminari.IMarshal marshal, Kaminari.PacketReader packet) { if (packet.bytesRead() + this.size(marshal) > packet.bufferSize()) { return(false); } this.id = packet.getData().readUlong(); this.x = packet.getData().readFloat(); this.z = packet.getData().readFloat(); return(true); }
public bool unpack(Kaminari.IMarshal marshal, Kaminari.PacketReader packet) { if (packet.bytesRead() + this.size(marshal) > packet.bufferSize()) { return(false); } this.x = packet.getData().readFloat(); this.z = packet.getData().readFloat(); this.speed = packet.getData().readFloat(); this.vx = packet.getData().readFloat(); this.vz = packet.getData().readFloat(); this.seq = packet.getData().readByte(); this.frame = packet.getData().readUshort(); return(true); }
private bool handleClientUpdate(Kaminari.IMarshal marshal, Kaminari.PacketReader packet, IClient client, ushort blockId) { if (Overflow.leq(blockId, clientUpdateLastCalled)) { // TODO: Returning true here means the packet is understood as correctly parsed, while we are ignoring it return(true); } var data = emplaceData(clientUpdate, blockId, packet.timestamp()); if (!data.unpack(marshal, packet)) { return(false); } // The user is assumed to provide all peek methods in C# // TODO: Test if the method exists in the class return(client.peekClientUpdate(data, packet.timestamp())); }
public int size(Kaminari.IMarshal marshal) { int size = 0; size += sizeof(byte); if (this.x.hasValue()) { size += marshal.size <uint>(); } size += sizeof(byte) + this.y.Count * marshal.size <SpawnData>(); size += marshal.size <int>(); size += sizeof(byte); if (this.w.hasValue()) { size += sizeof(byte) + this.w.getValue().Count *marshal.size <bool>(); } return(size); }
public bool unpack(Kaminari.IMarshal marshal, Kaminari.PacketReader packet) { if (packet.bytesRead() + marshal.size <byte>() > packet.bufferSize()) { return(false); } if (packet.bytesRead() + marshal.size <byte>() + packet.getData().peekByte() > packet.bufferSize()) { return(false); } this.name = packet.getData().readString(); if (packet.bytesRead() + marshal.size <ushort>() > packet.bufferSize()) { return(false); } this.level = packet.getData().readUshort(); return(true); }
public bool unpack(Kaminari.IMarshal marshal, Kaminari.PacketReader packet) { int size_data = packet.getData().readByte(); this.data = new List <EntityUpdate>(); for (int i = 0; i < size_data; ++i) { EntityUpdate data = new EntityUpdate(); if (data.unpack(marshal, packet)) { this.data.Add(data); } else { return(false); } } return(true); }
private bool handleLoginCharacter(Kaminari.IMarshal marshal, Kaminari.PacketReader packet, IClient client, ushort blockId) { if (!client.check(client, "status", ingame_status::login_done)) { return(client.handleClientError(client, packet.getOpcode())); } if (Overflow.leq(blockId, loginCharacterLastCalled)) { // TODO: Returning true here means the packet is understood as correctly parsed, while we are ignoring it return(true); } var data = emplaceData(loginCharacter, blockId, packet.timestamp()); if (!data.unpack(marshal, packet)) { return(false); } // The user is assumed to provide all peek methods in C# // TODO: Test if the method exists in the class return(client.peekLoginCharacter(data, packet.timestamp())); }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { packet.getData().write(this.x.hasValue()); if (this.x.hasValue()) { packet.getData().write((uint)this.x.getValue()); } packet.getData().write((byte)this.y.Count); foreach (SpawnData val in this.y) { val.pack(marshal, packet); } packet.getData().write((int)this.z); packet.getData().write(this.w.hasValue()); if (this.w.hasValue()) { packet.getData().write((byte)this.w.getValue().Count); foreach (bool val in this.w.getValue()) { packet.getData().write((bool)val); } } }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { packet.getData().write((string)this.name); }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { packet.getData().write((ulong)this.id); }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { packet.getData().write((byte)this.index); }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { }
public int size(Kaminari.IMarshal marshal) { int size = 0; return(size); }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { packet.getData().write((byte)this.num_characters); }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { packet.getData().write((char)this.x); packet.getData().write((char)this.y); packet.getData().write((byte)this.seq); }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { packet.getData().write((bool)this.success); }
public void pack(Kaminari.IMarshal marshal, Kaminari.Packet packet) { packet.getData().write((uint)this.version); }