Colour.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using InABox.Core;
  2. using InABox.Rpc;
  3. namespace Command;
  4. public class ColourCommand : IRpcCommand<ColourParameters, ColourResult>
  5. {
  6. }
  7. public class ColourParameters : IRpcCommandParameters
  8. {
  9. public string Hex {get; set;}
  10. public void SerializeBinary(CoreBinaryWriter writer)
  11. {
  12. writer.WriteBinaryValue(Hex);
  13. }
  14. public void DeserializeBinary(CoreBinaryReader reader)
  15. {
  16. Hex = reader.ReadBinaryValue<string>();
  17. }
  18. public string? FullDescription() => "SwitchParameters";
  19. public string? ShortDescription() => "SwitchParameters";
  20. }
  21. public class ColourResult : IRpcCommandResult
  22. {
  23. public string HexValue { get; set; }
  24. public ColourResult()
  25. {
  26. HexValue = "#CCEE00";
  27. }
  28. public void SerializeBinary(CoreBinaryWriter writer)
  29. {
  30. writer.WriteBinaryValue(HexValue);
  31. }
  32. public void DeserializeBinary(CoreBinaryReader reader)
  33. {
  34. HexValue = reader.ReadBinaryValue<string>();
  35. }
  36. public string? FullDescription() => "SwitchResult";
  37. }