예제 #1
0
파일: JobManager.cs 프로젝트: ericwoh/LD46
    public bool FCanFulfillNeed(NEEDK needk)
    {
        switch (_jobk)
        {
        case JOBK.StoreFood:
            if (needk == NEEDK.Food)
            {
                return(_mpReskCRes[RESOURCEK.Food] > 0);
            }
            return(false);

        case JOBK.WarmHome:
            if (needk == NEEDK.Warmth)
            {
                return(_mpReskCRes[RESOURCEK.WarmBed] > 0);
            }
            return(false);

        case JOBK.CollectFood:
        case JOBK.Build:
            return(false);
        }

        Debug.LogError("Unexpected JOBK!");
        return(false);
    }
예제 #2
0
파일: JobManager.cs 프로젝트: ericwoh/LD46
    // If this returns true, the list of tasks is filled out with instructions on how to fulfill the need
    public bool FTryFulfillNeed(NEEDK needk, ref List <Task> pLTask)
    {
        foreach (JobSite job in _lJob)
        {
            if (job.FCanFulfillNeed(needk))
            {
                switch (needk)
                {
                case NEEDK.Food:
                    Task.CancelTasks(pLTask);
                    pLTask.Clear();
                    pLTask.Add(new Task(job, TASKK.EatFood));
                    break;

                case NEEDK.Warmth:
                    Task.CancelTasks(pLTask);
                    pLTask.Clear();
                    pLTask.Add(new Task(job, TASKK.GetWarm));
                    break;
                }
                return(true);
            }
        }

        return(false);
    }