RpcQueryParameters.cs 698 B

1234567891011121314151617181920212223242526
  1. using System.Linq;
  2. using InABox.Core;
  3. namespace InABox.Rpc
  4. {
  5. public class RpcQueryParameters : IRpcCommandParameters
  6. {
  7. public string CommandName => "Query";
  8. public RpcQueryDefinition[] Queries { get; set; }
  9. public void SerializeBinary(CoreBinaryWriter writer)
  10. {
  11. writer.WriteBinaryValue(Queries);
  12. }
  13. public void DeserializeBinary(CoreBinaryReader reader)
  14. {
  15. Queries = reader.ReadBinaryValue<RpcQueryDefinition[]>();
  16. }
  17. public string FullDescription() => $"{string.Join(", ", Queries.Select(x=>$"{x.Key}={x.FullDescription()}"))}";
  18. public string ShortDescription() => $"Query";
  19. }
  20. }