BinaryWriterExtensions.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using System;
  2. using System.IO;
  3. using UnityEngine;
  4. internal static class BinaryWriterExtensions
  5. {
  6. public static void WriteNaS(this BinaryWriter bw, string str)
  7. {
  8. bw.Write(str != null);
  9. if (str != null)
  10. {
  11. bw.Write(str);
  12. }
  13. }
  14. public static void Write(this BinaryWriter bw, Vector2 v2)
  15. {
  16. bw.Write(v2.x);
  17. bw.Write(v2.y);
  18. }
  19. public static void Write(this BinaryWriter bw, Vector3 v3)
  20. {
  21. bw.Write(v3.x);
  22. bw.Write(v3.y);
  23. bw.Write(v3.z);
  24. }
  25. public static void Write(this BinaryWriter bw, Vector4 v4)
  26. {
  27. bw.Write(v4.x);
  28. bw.Write(v4.y);
  29. bw.Write(v4.z);
  30. bw.Write(v4.w);
  31. }
  32. public static void Write(this BinaryWriter bw, Quaternion q)
  33. {
  34. bw.Write(q.x);
  35. bw.Write(q.y);
  36. bw.Write(q.z);
  37. bw.Write(q.w);
  38. }
  39. public static void Write(this BinaryWriter bw, float[] fary)
  40. {
  41. bw.Write(fary != null);
  42. if (fary != null)
  43. {
  44. bw.Write(fary.Length);
  45. foreach (float value in fary)
  46. {
  47. bw.Write(value);
  48. }
  49. }
  50. }
  51. public static void Write(this BinaryWriter bw, int[] iary)
  52. {
  53. bw.Write(iary != null);
  54. if (iary != null)
  55. {
  56. bw.Write(iary.Length);
  57. foreach (int value in iary)
  58. {
  59. bw.Write(value);
  60. }
  61. }
  62. }
  63. public static void Write(this BinaryWriter bw, Vector4[] v4ary)
  64. {
  65. bw.Write(v4ary != null);
  66. if (v4ary != null)
  67. {
  68. bw.Write(v4ary.Length);
  69. foreach (Vector4 v in v4ary)
  70. {
  71. bw.Write(v);
  72. }
  73. }
  74. }
  75. }