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; }