ShowViewOperateComponent.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System;
  2. using System.Reflection;
  3. using System.Threading.Tasks;
  4. using UnityEngine;
  5. namespace WS
  6. {
  7. public class ShowViewOperateComponent : OperateComponent<ShowViewOperateData>
  8. {
  9. public override void Init()
  10. {
  11. }
  12. public override void StartOperate()
  13. {
  14. var guideView = FacadeComponent.Instance.GetController<GuideController>();
  15. if (guideView == null)
  16. {
  17. guideView = FacadeComponent.Instance.CreateController<GuideController>();
  18. guideView.OpenView();
  19. }
  20. guideView.SetView(OperateData.imageName, OperateData.audioName, OperateData.showPos, Quaternion.Euler(OperateData.rotation));
  21. if (OperateData.isEnd)
  22. {
  23. guideView.SetEndBtnStatus(true);
  24. }
  25. IsComplete = true;
  26. }
  27. public override void Update()
  28. {
  29. }
  30. public override Task StartState()
  31. {
  32. IsComplete = false;
  33. return Task.CompletedTask;
  34. }
  35. public override Task EndState()
  36. {
  37. IsComplete = true;
  38. return Task.CompletedTask;
  39. }
  40. public override void Dispose()
  41. {
  42. base.Dispose();
  43. }
  44. }
  45. public class ShowViewOperateData
  46. {
  47. /// <summary> 显示位置 </summary>
  48. public Vector3 showPos;
  49. /// <summary> 显示旋转 </summary>
  50. public Vector3 rotation;
  51. /// <summary> 显示图片 </summary>
  52. public string imageName;
  53. /// <summary> 音频名称 </summary>
  54. public string audioName;
  55. /// <summary> 是否流程结束 </summary>
  56. public bool isEnd;
  57. }
  58. }