private IEnumerator SampleRoutine(){
//do something
yield return null; //wait a frame
//do something
}
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");
}
}