예제 #1
0
    public override void Generate()
    {
        Vector3       loc = RandDrop();
        VitalResource res = pooler.RetrieveCopy().GetComponent <VitalResource>();

        res.transform.position = loc + transform.position;
    }
예제 #2
0
    public override void Generate()
    {
        Vector3       dir = RandDrop();
        VitalResource res = pooler.RetrieveCopy().GetComponent <VitalResource>();

        res.transform.position = dir + transform.position;
        Rigidbody rb = res.GetComponent <Rigidbody>();

        rb.AddForce(dir * forceStrength);
    }
예제 #3
0
    public override void Generate()
    {
        Vector3       loc = RandDrop();
        VitalResource res = pooler.RetrieveCopy().GetComponent <VitalResource>();

        res.transform.position = loc + transform.position;
        counterTilReroute--;
        if (counterTilReroute == 0)
        {
            counterTilReroute = Random.Range(1, maxGenTilReroute);
            reroute();
        }
    }
예제 #4
0
    public override void Generate()
    {
        float sum = 0;

        foreach (Resource pair in resource_list)
        {
            sum += pair.weight;
        }
        float random     = Random.Range(0, sum);
        float prev_float = 0;

        foreach (Resource pair in resource_list)
        {
            if (random >= prev_float && random < prev_float + pair.weight)
            {
                Vector3       loc = RandDrop() + transform.position;
                VitalResource res = pair.pooler.RetrieveCopy().GetComponent <VitalResource>();
                res.transform.position = loc;
                break;
            }
            prev_float = prev_float + pair.weight;
        }
    }
예제 #5
0
 public void ParseResource(VitalResource r)
 {
     Health += r.Quantity;
 }