示例#1
0
    public void GenerateTestGatherTask()
    {
        // Grab necessary info
        Resource        resource = ResourceManager.Instance.GetResource(ResourceType.Food);
        ResourceDropoff dropoff  = ResourceManager.Instance.GetDropOff(ResourceType.Food);

        // Create sub tasks
        // First, go to resource
        WalkTask goToResource = new WalkTask();

        goToResource.Initialise(m_unit);
        goToResource.SetWalkToLocation(resource.transform.position);
        m_subTasks.Enqueue(goToResource);

        // Then gather resource
        GatherTask gatherResource = new GatherTask();

        gatherResource.SetResource(resource);
        gatherResource.Initialise(m_unit);
        m_subTasks.Enqueue(gatherResource);

        // Walk to drop off
        WalkTask goToDropoff = new WalkTask();

        goToDropoff.Initialise(m_unit);
        goToDropoff.SetWalkToLocation(dropoff.transform.position);
        m_subTasks.Enqueue(goToDropoff);

        // Drop off resource
        EmptyInventoryTask emptyAtDropoff = new EmptyInventoryTask();

        emptyAtDropoff.SetDropoff(dropoff);
        emptyAtDropoff.Initialise(m_unit);
        m_subTasks.Enqueue(emptyAtDropoff);
    }
示例#2
0
    public void DropItem(ResourceDropoff dropOff)
    {
        dropOff.DropOffResource(m_currentCarriedItem);

        m_currentCarriedItem = null;
        if (m_itemHeld != null)
        {
            Destroy(m_itemHeld);
        }
    }
示例#3
0
 public void SetDropoff(ResourceDropoff dropoff)
 {
     m_dropoff = dropoff;
 }