示例#1
0
        // TODO : allow frame independend Jobs to be run in background
        public ScheduledJob Schedule(IJob job, ScheduleScope scope)
        {
            ScheduledJob sj = new ScheduledJob
            {
                Job = job,
                //Register = null, // TODO
                DependencyMissing = job.Dependencys.Length,
            };

            foreach (RegisterdJob dependency in job.Dependencys)
            {
                List <ScheduledJob> jobs;
                if (!dependencyGraph.TryGetValue(dependency, out jobs))
                {
                    jobs = new List <ScheduledJob>();
                    dependencyGraph.Add(dependency, jobs);
                }
                jobs.Add(sj);
            }

            if (sj.IsReady)
            {
                readyBuffer.Enqueue(sj);
            }

            return(sj);
        }
示例#2
0
 public void SheduleJobs(JobSystem jobSystem, ScheduleScope scope)
 {
     jobSystem.Schedule(PlatformUpdate, scope);
 }
示例#3
0
 public void SheduleJobs(JobSystem jobSystem, ScheduleScope scope)
 {
     jobSystem.Schedule(CollectJob, scope);
 }