FlowManager.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3. using WS;
  4. public class FlowManager : MonoBehaviour
  5. {
  6. public static FlowManager Inst;
  7. public CursorManager.CursorState cursorState;
  8. public List<FlowBase> flows;
  9. public int flowIndex;
  10. public FlowBase currFlowBase;
  11. void Start()
  12. {
  13. Inst = this;
  14. CursorManager.Instance.SetCursorState(cursorState);
  15. StartFlow();
  16. }
  17. // Update is called once per frame
  18. void Update()
  19. {
  20. if (currFlowBase != null)
  21. {
  22. currFlowBase.UpdateFlow();
  23. }
  24. }
  25. private void StartFlow()
  26. {
  27. if (FacadeComponent.Instance.GetController<PointController>() == null)
  28. FacadeComponent.Instance.CreateController<PointController>().OpenView();
  29. flowIndex = 0;
  30. currFlowBase = flows[flowIndex];
  31. }
  32. public void NextFlow()
  33. {
  34. flowIndex += 1;
  35. if (flowIndex < flows.Count)
  36. {
  37. currFlowBase = flows[flowIndex];
  38. currFlowBase.StartFlow();
  39. }
  40. else
  41. {
  42. Debug.Log("Á÷³Ì½áÊø");
  43. }
  44. }
  45. public void LastFlow() { }
  46. private void EndFlow() { }
  47. public void CheckCollider(Collider collider, bool isEnter)
  48. {
  49. if (currFlowBase.state == FlowBase.FlowState.Collider)
  50. {
  51. ((FlowCollider)currFlowBase).CheckPoint(collider, isEnter);
  52. }
  53. }
  54. }