WindowsMessager.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. namespace RayNeo.Native
  5. {
  6. public class WindowsMessager
  7. {
  8. private HardwareInfo m_GlassInfo;
  9. public Quaternion m_windowsMouseQuaternion = Quaternion.identity;
  10. public Quaternion m_windowsCameraQuaternion = Quaternion.identity;
  11. /// <summary>
  12. /// 获取眼镜的四元数
  13. /// </summary>
  14. public Quaternion GetGlassesQualternion(Quaternion deltaQuat)
  15. {
  16. return m_windowsCameraQuaternion;
  17. }
  18. /// <summary>
  19. /// 获取手机的角度
  20. /// </summary>
  21. public Quaternion GetMobileQualternion(Quaternion mobileQuat)
  22. {
  23. return m_windowsMouseQuaternion;
  24. }
  25. public WindowsMessager(HardwareInfo hardwareInfo)
  26. {
  27. m_GlassInfo = hardwareInfo;
  28. }
  29. }
  30. /// <summary>
  31. /// 设备状态数据
  32. /// </summary>
  33. public class HardwareInfo
  34. {
  35. /// <summary>
  36. /// 分情况:
  37. /// 1.我是service
  38. /// 该标记正常运作,并且会主动切3d,重新设置该值
  39. /// 2.我是client
  40. /// 该标记正常获取,但是主动切3d接口调用后,不会有反馈。
  41. /// 如果眼镜不是3d的 client也没有权力去切换。标记仍然是对的
  42. /// </summary>
  43. public bool Is3DMode { get; set; }
  44. public Quaternion DeltaGlassQuat;
  45. public Quaternion DeltaMobileQuat;
  46. public HardwareInfo()
  47. {
  48. DeltaGlassQuat = Quaternion.identity;
  49. DeltaMobileQuat = Quaternion.identity;
  50. Is3DMode = false;
  51. }
  52. }
  53. }