Code Block - Step

Step


public enum SomeStep
{
    None = 0,
    Step1 = 1,
    Step2 = 2,
    Step3 = 3,
    Step4 = 4,
    Step5 = 5,
}

public class SomeClass: MonoBehaviour
{
    private SomeStep step = SomeStep.None;

    public void SetStep(SomeStep newStep)
    {
        step = newStep;
    }

    private IEnumerator WaitForStep(SomeStep targetStep)
    {
        do yield return null;
        while (step != targetStep);
    }

    public void SomeMethod()
    {
        while (true)
        {
            // Do something
            Debug.Log("Doing something...");

            // Wait for step 3
            yield return StartCoroutine(WaitForStep(SomeStep.Step3));

            // Do something else
            Debug.Log("Doing something else...");

            // Wait for step 5
            yield return StartCoroutine(WaitForStep(SomeStep.Step5));
        }
    }
}

답글

답글을 불러오는 중...