PB_OpData.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using ChivaXR;
  5. public class PB_OpData : ProcessBase
  6. {
  7. public OpDataInfo opData;
  8. public override void Enter(ProcessElement p)
  9. {
  10. base.Enter(p);
  11. opData.OpDataActive();
  12. opData.OpenHit();
  13. opData.OperationDataFinished += OperationDataFinished;
  14. }
  15. public void OperationDataFinished(object sender, ChivaVR_OpDataInfoEventArgs e)
  16. {
  17. opData.OperationDataFinished -= OperationDataFinished;
  18. opData.CloseHit();
  19. Exit();
  20. }
  21. public override string GetPBDescribe()
  22. {
  23. if (opData != null)
  24. {
  25. return opData.operationDataName;
  26. }
  27. else
  28. {
  29. return "暂无操作";
  30. }
  31. }
  32. public override void QuitHalfWay()
  33. {
  34. if (opData.GetCurrentOpData() != null)
  35. {
  36. opData.OpDataDisActive();
  37. opData.OperationDataFinished -= OperationDataFinished;
  38. opData.GetCurrentOpData().OperationStatus = ChivaXR.Op.OperationDataStatus.InActive;
  39. }
  40. if (opData.GetCurrentAniData() != null)
  41. {
  42. opData.GetCurrentAniData().SetInitState();
  43. }
  44. opData.CloseHit();
  45. }
  46. public override void SetEnterState()
  47. {
  48. if (opData.GetCurrentOpData() != null)
  49. {
  50. opData.GetCurrentOpData().SetDataStateValue(0);
  51. }
  52. if (opData.GetCurrentAniData() != null)
  53. {
  54. opData.GetCurrentAniData().SetInitState();
  55. }
  56. }
  57. public override void SetExitState()
  58. {
  59. if (opData.GetCurrentOpData() != null)
  60. {
  61. opData.GetCurrentOpData().SetDataStateValue(1);
  62. }
  63. if (opData.GetCurrentAniData() != null)
  64. {
  65. opData.GetCurrentAniData().SetFinishedState();
  66. }
  67. }
  68. }