Example #1
0
        private static Task RequestPersonalTask(Dwarf d)
        {
            if (d.SkipPersonalForOneTask || DebugRules.SkipPersonalTasks)
                return null;

            List<Task> tasksToChooseFrom = new List<Task>();

            if (d.NeedFood())
            {
                tasksToChooseFrom.Add(new GetFoodTask());
            }
            if (d.NeedTool())
            {
                tasksToChooseFrom.Add(new GetToolTask());
            }
            if (d.NeedSleep())
            {
                tasksToChooseFrom.Add(new GetSleepTask());
            }
            if (d.NeedCloth())
            {
            }

            if (tasksToChooseFrom.Count == 0)
                return null;
            else
                return tasksToChooseFrom.TakeRandom();
        }