Exemple #1
0
    public void ConsumeTotalResourceAmount(float amount)
    {
        amount += partialResourceConsumption;
        while (amount >= 1)
        {
            if (!resourceHolder.HasResources())
            {
                amount = 0;
                break;
            }
            ConsumeNextResource();
            amount--;
        }
        partialResourceConsumption = amount;

        if (!resourceHolder.HasResources())
        {
            partialResourceConsumption = 0;
        }
    }
Exemple #2
0
 // Update is called once per frame
 void Update()
 {
     if (resourceHolder.HasResources())
     {
         station.ConsumeTotalResourceAmount(1 * Time.deltaTime);
         robot.transform.Translate(speed * Time.deltaTime, 0, 0);
         WorldManager.Instance.currentScore += speed * Time.deltaTime;
     }
     else
     {
     }
 }
Exemple #3
0
 // Update is called once per frame
 void Update()
 {
     cooldownTimer -= Time.deltaTime;
     if (resourceHolder.HasResources() && cooldownTimer <= 0)
     {
         station.ConsumeTotalResourceAmount(1);
         WorldManager.Instance.AddScore(pointsPerResource);
         cooldownTimer += delay;
     }
     if (cooldownTimer < 0)
     {
         cooldownTimer = 0;
     }
 }
Exemple #4
0
    // Update is called once per frame
    void Update()
    {
        cooldownTimer -= Time.deltaTime;
        if (resourceHolder.HasResources())
        {
            //fireballs
            if (resourceHolder.GetHighestResource() == ResourceObject.ResourceType.Wood)
            {
                station.ConsumeTotalResourceAmount(fireballConsumptionSpeed * Time.deltaTime);
                if (cooldownTimer <= 0)
                {
                    GameObject obj = Instantiate(fireball, spawnPosition.position, spawnPosition.rotation);
                    obj.GetComponent <Rigidbody2D>().AddForce(fireballSpeed * (Vector2)obj.transform.right + new Vector2(0, Random.Range(-4, 4)), ForceMode2D.Impulse);
                    cooldownTimer += fireballCooldown;
                }
            }

            //lasers
            if (resourceHolder.GetHighestResource() == ResourceObject.ResourceType.Crystal)
            {
                station.ConsumeTotalResourceAmount(laserConsumptionSpeed * Time.deltaTime);
                if (cooldownTimer <= 0)
                {
                    GameObject obj = Instantiate(laser, spawnPosition.position, spawnPosition.rotation);
                    obj.GetComponent <Rigidbody2D>().AddForce(laserSpeed * obj.transform.right, ForceMode2D.Impulse);
                    cooldownTimer += laserCooldown;
                }
            }

            //shield
            if (resourceHolder.GetHighestResource() == ResourceObject.ResourceType.Metal)
            {
                station.ConsumeTotalResourceAmount(shieldConsumptionSpeed * Time.deltaTime);
                shield.SetActive(true);
            }
            else
            {
                shield.SetActive(false);
            }
        }
        else
        {
            shield.SetActive(false);
        }
        if (cooldownTimer < 0)
        {
            cooldownTimer = 0;
        }
    }