Beispiel #1
0
    public override bool CheckProceduralPrecondition(GameObject _agent)
    {
        Caveman[] men     = FindObjectsOfType <Caveman>();
        Caveman   closest = null;
        float     dist    = 0;

        foreach (Caveman w in men)
        {
            if (closest == null)
            {
                closest = w;
                dist    = Vector3.Distance(transform.position, w.transform.position);
            }
            else
            {
                float dist2 = Vector3.Distance(transform.position, w.transform.position);
                if (dist > dist2)
                {
                    closest = w;
                    dist    = dist2;
                }
            }
        }
        if (closest != null)
        {
            targetCaveman = closest;
            target        = targetCaveman.gameObject;
        }

        return(closest != null);
    }
    public override bool Preform(GameObject _agent)
    {
        Caveman cm = _agent.GetComponent <Caveman>();

        cm.energy -= cost;
        shelter    = true;
        return(true);
    }
    public override bool Preform(GameObject _agent)
    {
        Caveman cm = _agent.GetComponent <Caveman>();

        cm.energy -= cost;
        targetItem.PickupItem(cm);
        pickedUp = true;
        return(true);
    }
Beispiel #4
0
    public override bool Preform(GameObject _agent)
    {
        Caveman cm = _agent.GetComponent <Caveman>();

        cm.energy -= cost;
        BackpackComponent bp = _agent.GetComponent <BackpackComponent>();

        bp.spears++;
        pickedUp = true;
        return(true);
    }
Beispiel #5
0
    public override bool Preform(GameObject _agent)
    {
        if (startTime == 0)
        {
            startTime = Time.time;
        }

        if (Time.time - startTime > killDuration)
        {
            Caveman cm = _agent.GetComponent <Caveman>();
            cm.energy -= cost;
            killed     = true;
            targetAnimal.Die();
        }
        return(true);
    }
    public override bool Preform(GameObject _agent)
    {
        if (startTime == 0)
        {
            startTime = Time.time;
        }

        if (Time.time - startTime > harvestDuration)
        {
            Caveman cm = _agent.GetComponent <Caveman>();
            cm.energy -= cost;
            targetTree.ChopDown();
            chopped = true;
        }
        return(true);
    }
    public override bool Preform(GameObject _agent)
    {
        if (startTime == 0)
        {
            startTime = Time.time;
        }

        if (Time.time - startTime > harvestDuration)
        {
            Caveman cm = _agent.GetComponent <Caveman>();
            cm.energy -= cost;
            targetCarcass.Loot();
            BackpackComponent bp = _agent.GetComponent <BackpackComponent>();
            bp.rawFood++;
            harvested = true;
        }
        return(true);
    }
Beispiel #8
0
    public void PickupItem(Caveman caveman)
    {
        switch (item)
        {
        case PickupType.Wood:
            caveman.backpack.wood++;
            break;

        case PickupType.Stick:
            caveman.backpack.sticks++;
            break;

        case PickupType.Rock:
            caveman.backpack.rocks++;
            break;
        }
        Destroy(gameObject);
    }
    public override bool Preform(GameObject _agent)
    {
        if (startTime == 0)
        {
            startTime = Time.time;
        }

        if (Time.time - startTime > cookDuration)
        {
            Caveman cm = _agent.GetComponent <Caveman>();
            cm.energy -= cost;
            BackpackComponent bp = _agent.GetComponent <BackpackComponent>();
            bp.rawFood--;
            bp.food++;
            cooked = true;
        }
        return(true);
    }
    public override bool Preform(GameObject _agent)
    {
        if (startTime == 0)
        {
            startTime = Time.time;
        }

        if (Time.time - startTime > makeDuration)
        {
            Caveman cm = _agent.GetComponent <Caveman>();
            cm.energy -= cost;
            cm.AddSpears(3);
            BackpackComponent bp = _agent.GetComponent <BackpackComponent>();
            bp.rocks--;
            bp.sticks--;
            made = true;
        }
        return(true);
    }
Beispiel #11
0
    public override bool Preform(GameObject _agent)
    {
        if (startTime == 0)
        {
            startTime = Time.time;
        }

        if (Time.time - startTime > makeDuration)
        {
            Caveman cm = _agent.GetComponent <Caveman>();
            cm.energy -= cost;
            BackpackComponent bp = GetComponent <BackpackComponent>();
            bp.wood--;
            GameObject prefab = Resources.Load <GameObject>("CampFire");
            Instantiate(prefab, transform.position + transform.forward * 2 - transform.up, transform.rotation);
            made = true;
        }
        return(true);
    }
    public override bool Preform(GameObject _agent)
    {
        if (startTime == 0)
        {
            startTime = Time.time;
        }

        if (targetAnimal == null)
        {
            killed = true;
            return(true);
        }

        Caveman cm = _agent.GetComponent <Caveman>();

        if (!cm.ThrowSpear(targetAnimal.gameObject))
        {
            return(false);
        }

        return(true);
    }
Beispiel #13
0
 public void Claim(Caveman _claimer)
 {
     claimText.gameObject.SetActive(true);
     claimer        = _claimer;
     claimText.text = claimer.gameObject.name + "'s Cave";
 }
Beispiel #14
0
 void Awake()
 {
     caveman = FindObjectOfType <Caveman>();
 }
Beispiel #15
0
 public override void Reset()
 {
     isSafe        = false;
     targetCaveman = null;
 }