ILightGlueRuntime.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using System;
  2. namespace LightGlue.Unity.Runtime
  3. {
  4. /// <summary>
  5. /// UI/接入类型:
  6. /// - Demo:显示 Demo/BLE 相关 UI
  7. /// - Plugin:隐藏 Demo UI,显示插件额外 UI
  8. /// </summary>
  9. public enum LightGlueUIRuntimeMode
  10. {
  11. Demo = 0,
  12. Plugin = 1
  13. }
  14. /// <summary>
  15. /// 硬件模式:
  16. /// - Esp32:无广播,直接发图到 Python
  17. /// - OrangePi:广播发现 + 下发图传配置
  18. /// </summary>
  19. public enum LightGlueHardwareMode
  20. {
  21. Esp32 = 0,
  22. OrangePi = 1
  23. }
  24. /// <summary>
  25. /// LightGlue 插件极简统一入口接口。
  26. /// </summary>
  27. public interface ILightGlueRuntime
  28. {
  29. event Action<LightGluePositionUpdate> OnPositionUpdate;
  30. void Init();
  31. void SetUIRuntimeMode(LightGlueUIRuntimeMode mode);
  32. void SetHardwareMode(LightGlueHardwareMode mode);
  33. /// <summary>
  34. /// 启动完整运行链路(Python / Viewer / ResultReceiver)。
  35. /// </summary>
  36. void StartRuntime();
  37. /// <summary>
  38. /// 停止完整运行链路。
  39. /// </summary>
  40. void StopRuntime();
  41. /// <summary>
  42. /// 显示插件 UI。
  43. /// </summary>
  44. void ShowPluginUI();
  45. /// <summary>
  46. /// 隐藏插件 UI。
  47. /// </summary>
  48. void HidePluginUI();
  49. }
  50. }