Esempio n. 1
0
        public static UniTask ConfigureAwait(this JobHandle jobHandle, PlayerLoopTiming waitTiming, CancellationToken cancellation = default(CancellationToken))
        {
            var awaiter = new JobHandleAwaiter(jobHandle, cancellation);

            PlayerLoopHelper.AddAction(waitTiming, awaiter);

            return new UniTask(awaiter);
        }
Esempio n. 2
0
        public static UniTask ConfigureAwait(this JobHandle jobHandle, PlayerLoopTiming waitTiming, CancellationToken cancellation = default)
        {
            var awaiter = new JobHandleAwaiter(jobHandle, cancellation);

            if (!awaiter.IsCompleted)
            {
                PlayerLoopHelper.AddAction(waitTiming, awaiter);
            }
            return(new UniTask(awaiter));
        }
Esempio n. 3
0
        public static UniTask ToUniTask(this JobHandle jobHandle, CancellationToken cancellation = default(CancellationToken))
        {
            var awaiter = new JobHandleAwaiter(jobHandle, cancellation);

            PlayerLoopHelper.AddAction(PlayerLoopTiming.EarlyUpdate, awaiter);
            PlayerLoopHelper.AddAction(PlayerLoopTiming.PreUpdate, awaiter);
            PlayerLoopHelper.AddAction(PlayerLoopTiming.Update, awaiter);
            PlayerLoopHelper.AddAction(PlayerLoopTiming.PreLateUpdate, awaiter);
            PlayerLoopHelper.AddAction(PlayerLoopTiming.PostLateUpdate, awaiter);

            return new UniTask(awaiter);
        }
Esempio n. 4
0
		public static IAwaiter GetAwaiter(this JobHandle jobHandle) {
			var awaiter = new JobHandleAwaiter(jobHandle, CancellationToken.None);

			if (!awaiter.IsCompleted) {
				PlayerLoopHelper.AddAction(PlayerLoopTiming.EarlyUpdate, awaiter);
				PlayerLoopHelper.AddAction(PlayerLoopTiming.PreUpdate, awaiter);
				PlayerLoopHelper.AddAction(PlayerLoopTiming.Update, awaiter);
				PlayerLoopHelper.AddAction(PlayerLoopTiming.PreLateUpdate, awaiter);
				PlayerLoopHelper.AddAction(PlayerLoopTiming.PostLateUpdate, awaiter);
			}

			return awaiter;
		}