unity yield return
Code Example - unity yield return
public class WaitForMouseDown : CustomYieldInstruction
{
public override bool keepWaiting
{
get
{
// Example of condition :!Input.GetMouseButtonDown(1);
// To keep coroutine suspended, return true.
// To let coroutine proceed with execution, return false.
return false;
}
}
// Not sure about if this constructor is necessary.
public WaitForMouseDown()
{
Debug.Log("Waiting for Mouse right button down");
}
}
public class GameManager{
public void Start(){
var routine = waitForMouseDown();
StartCoroutine(routine);
}
public IEnumerator waitForMouseDown()
{
yield return new WaitForMouseDown();
Debug.Log("Right mouse button pressed");
}
}
unity coroutine
void Start() {
StartCoroutine("func"); // Start coroutine named "func"
}
IEnumerator func() {
Debug.Log("Hello");
yield return new WaitForSecondsRealtime(1); //Wait 1 second
Debug.Log("World");
}