DataTableProcessor.RectProcessor.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //------------------------------------------------------------
  2. // Game Framework
  3. // Copyright © 2013-2021 Jiang Yin. All rights reserved.
  4. // Homepage: https://gameframework.cn/
  5. // Feedback: mailto:ellan@gameframework.cn
  6. //------------------------------------------------------------
  7. using System.IO;
  8. using UnityEngine;
  9. namespace MetaClient.Editor.DataTableTools
  10. {
  11. public sealed partial class DataTableProcessor
  12. {
  13. private sealed class RectProcessor : GenericDataProcessor<Rect>
  14. {
  15. public override bool IsSystem
  16. {
  17. get
  18. {
  19. return false;
  20. }
  21. }
  22. public override string LanguageKeyword
  23. {
  24. get
  25. {
  26. return "Rect";
  27. }
  28. }
  29. public override string[] GetTypeStrings()
  30. {
  31. return new string[]
  32. {
  33. "rect",
  34. "unityengine.rect"
  35. };
  36. }
  37. public override Rect Parse(string value)
  38. {
  39. string[] splitedValue = value.Split(',');
  40. return new Rect(float.Parse(splitedValue[0]), float.Parse(splitedValue[1]), float.Parse(splitedValue[2]), float.Parse(splitedValue[3]));
  41. }
  42. public override void WriteToStream(DataTableProcessor dataTableProcessor, BinaryWriter binaryWriter, string value)
  43. {
  44. Rect rect = Parse(value);
  45. binaryWriter.Write(rect.x);
  46. binaryWriter.Write(rect.y);
  47. binaryWriter.Write(rect.width);
  48. binaryWriter.Write(rect.height);
  49. }
  50. }
  51. }
  52. }