public void Deserialize(BinaryReader reader) { Type = (VMCommandType)reader.ReadByte(); Type cmdType = CmdMap[Type]; Command = (VMNetCommandBodyAbstract)Activator.CreateInstance(cmdType); Command.Deserialize(reader); }
public bool TryDeserialize(BinaryReader reader, bool isClient) { Type = (VMCommandType)reader.ReadByte(); Type cmdType = CmdMap[Type]; Command = (VMNetCommandBodyAbstract)Activator.CreateInstance(cmdType); if (Command.AcceptFromClient || isClient) { Command.Deserialize(reader); return(true); } return(false); }
public override void SendCommand(VMNetCommandBodyAbstract cmd) { Commands.Enqueue(cmd); }
private void SendToServer(VMNetCommandBodyAbstract cmd) { byte[] data; using (var stream = new MemoryStream()) { var cmd2 = new VMNetCommand(cmd); using (var writer = new BinaryWriter(stream)) { cmd2.SerializeInto(writer); } data = stream.ToArray(); } using (var stream = new PacketStream((byte)PacketType.VM_PACKET, 0)) { stream.WriteHeader(); stream.WriteInt32(data.Length + (int)PacketHeaders.UNENCRYPTED); stream.WriteBytes(data); Client.Send(stream.ToArray()); } }
public void SetCommand(VMNetCommandBodyAbstract cmd) { Type = ReverseMap[cmd.GetType()]; Command = cmd; }
public VMNetCommand(VMNetCommandBodyAbstract cmd) { SetCommand(cmd); }
public abstract void SendCommand(VMNetCommandBodyAbstract cmd);
public void SendCommand(VMNetCommandBodyAbstract cmd) { cmd.ActorUID = MyUID; Driver.SendCommand(cmd); }
public void ForwardCommand(VMNetCommandBodyAbstract cmd) { Driver.SendCommand(cmd); }
public override void SendCommand(VMNetCommandBodyAbstract cmd) { lock (QueuedCmds) { QueuedCmds.Add(new VMNetCommand(cmd)); } }