OpDataInfoManager.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using ChivaXR;
  5. public struct ChivaVR_OpDataInfoEventArgs
  6. {
  7. public OpDataInfo opDataInfo;
  8. }
  9. public delegate void CVR_OpDataInfoEventHandle(object sender, ChivaVR_OpDataInfoEventArgs e);
  10. public class OpDataInfoManager : MonoSingleton<OpDataInfoManager>
  11. {
  12. public List<OpDataInfo> opDataInfos = new List<OpDataInfo>();
  13. /// <summary>
  14. /// 注册System到控制管理中心
  15. /// </summary>
  16. /// <param name="opdataInfo"></param>
  17. public void RegisterOpSystem(OpDataInfo opdataInfo)
  18. {
  19. if (!opDataInfos.Contains(opdataInfo))
  20. {
  21. opDataInfos.Add(opdataInfo);
  22. opdataInfo.OperationDataFinished += OnOpDataFinished;
  23. }
  24. }
  25. /// <summary>
  26. /// 所有操作点的完成事件
  27. /// </summary>
  28. public event CVR_OpDataInfoEventHandle opDataInfoFinished;
  29. protected void OnOpDataFinished(object sender, ChivaVR_OpDataInfoEventArgs e)
  30. {
  31. if (opDataInfoFinished != null)
  32. {
  33. opDataInfoFinished(this, e);
  34. }
  35. }
  36. }