PosRotScale.cs 901 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.IO;
  3. using UnityEngine;
  4. public class PosRotScale
  5. {
  6. public PosRotScale()
  7. {
  8. }
  9. public PosRotScale(PosRotScale prs)
  10. {
  11. this.position = prs.position;
  12. this.scale = prs.scale;
  13. this.rotation = prs.rotation;
  14. }
  15. public void SetFromTransformLocal(Transform tr)
  16. {
  17. this.position = tr.localPosition;
  18. this.rotation = tr.localRotation;
  19. this.scale = tr.localScale;
  20. }
  21. public void SetToTransformLocal(Transform tr)
  22. {
  23. tr.localPosition = this.position;
  24. tr.localRotation = this.rotation;
  25. tr.localScale = this.scale;
  26. }
  27. public void Serialize(BinaryWriter bw)
  28. {
  29. bw.Write(this.position);
  30. bw.Write(this.scale);
  31. bw.Write(this.rotation);
  32. }
  33. public void Deserialize(BinaryReader br)
  34. {
  35. br.Read(out this.position);
  36. br.Read(out this.scale);
  37. br.Read(out this.rotation);
  38. }
  39. public Vector3 position;
  40. public Vector3 scale;
  41. public Quaternion rotation;
  42. }