Exemple #1
0
        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));
        }
Exemple #2
0
        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());
        }