Exemple #1
0
 public WorkProvider(BotAvatar avatar, WorkflowProvider provider, WorkAgent workAgent, Planner<WorkItem> planner)
 {
     _avatar = avatar;
     _workflow = provider;
     _workAgent = workAgent;
     _planner = planner;
 }
        public static HumanWorkProvider MapWorkProviderFromNPC(BotAvatar npc, HumanAvatar human, 
            GoalService goalService, IDecompositionService<WorkItem> decompService)
        {
            HumanWorkProvider worker = new HumanWorkProvider
                (human, npc.WorkProvider.GetWorkAgent(), npc.WorkProvider.GetWorkflowProvider(),
                decompService, goalService);

            // Any currently processing tasks, remove
            npc.WorkProvider.GetWorkAgent().processing.Clear();

            // Now add all the tasks that had been started to the worker
            foreach (var workItem in npc.WorkProvider.GetWorkAgent().started)
            {
                worker.AddWork(workItem);
            }

            return worker;
        }