Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / activity / CoroutineData.cs
@lijincheng lijincheng on 14 Feb 2023 915 bytes 协程完善
  1.  
  2. using System.Collections;
  3. using System.Collections.Generic;
  4.  
  5. public class CoroutineData
  6. {
  7. private static long _id;
  8. public enum WaitTypeEnum
  9. {
  10. None,
  11. WaitForSeconds,
  12. WaitForFixedProcess,
  13. }
  14.  
  15. public readonly long Id;
  16. public WaitTypeEnum WaitType = WaitTypeEnum.None;
  17. public IEnumerator Enumerator;
  18. public Stack<IEnumerator> EnumeratorStack;
  19.  
  20. public WaitForSeconds WaitForSeconds;
  21. public WaitForFixedProcess WaitForFixedProcess;
  22.  
  23. public CoroutineData(IEnumerator enumerator)
  24. {
  25. Id = _id++;
  26. Enumerator = enumerator;
  27. }
  28.  
  29. public void WaitFor(WaitForSeconds seconds)
  30. {
  31. WaitType = WaitTypeEnum.WaitForSeconds;
  32. WaitForSeconds = seconds;
  33. }
  34. public void WaitFor(WaitForFixedProcess process)
  35. {
  36. WaitType = WaitTypeEnum.WaitForFixedProcess;
  37. WaitForFixedProcess = process;
  38. }
  39. }