public static IEnumerator Run( Client client, GameSession gameSession, string jobQueueNamespaceName, RunJobEvent onRunJob, ErrorEvent onError ) { AsyncResult <EzRunResult> result = null; yield return(client.JobQueue.Run( r => { result = r; }, gameSession, jobQueueNamespaceName )); if (result.Error != null) { Debug.LogError(result.Error); onError.Invoke( result.Error ); yield break; } var job = result.Result.Item; var jobResult = result.Result.Result; var isLastJob = result.Result.IsLastJob; Debug.Log(isLastJob); onRunJob.Invoke(job, jobResult, isLastJob); yield return(new WaitForSeconds(1)); }
public IEnumerator Run( Client client, GameSession session, string jobQueueNamespaceName, RunJobEvent onRunJob, ErrorEvent onError ) { if (_watching) { throw new InvalidOperationException("already started"); } _watching = true; _client = client; _session = session; _jobQueueNamespaceName = jobQueueNamespaceName; _onRunJob = onRunJob; _onError = onError; _onRunJob.AddListener(OnRunJob); _onError.AddListener(OnError); yield return(Execute()); }