Skip to content
Snippets Groups Projects
Forest.cs 2.04 KiB
Newer Older
Leevi Grönlund's avatar
Leevi Grönlund committed
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Forest : Resource
{
    private bool isForester;
    private float growthspeed;

    public void setForester(bool i)
    {
        isForester = i;
        if (isForester == true)
        {
Leevi Grönlund's avatar
Leevi Grönlund committed
            growthspeed = 3f;
Leevi Grönlund's avatar
Leevi Grönlund committed
        }
        else
        {
Leevi Grönlund's avatar
Leevi Grönlund committed
            growthspeed = 5f;
Leevi Grönlund's avatar
Leevi Grönlund committed
        }
    }

    public override void refreshSprite()
Leevi Grönlund's avatar
Leevi Grönlund committed
    {
        if (sprites == null) return;
Leevi Grönlund's avatar
Leevi Grönlund committed
        if (getAmount() < 25)
Leevi Grönlund's avatar
Leevi Grönlund committed
        {
            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[7];
Leevi Grönlund's avatar
Leevi Grönlund committed
        }
Leevi Grönlund's avatar
Leevi Grönlund committed
        else if (getAmount() < 50)
Leevi Grönlund's avatar
Leevi Grönlund committed
        {
            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[6];
Leevi Grönlund's avatar
Leevi Grönlund committed
        }
Leevi Grönlund's avatar
Leevi Grönlund committed
        else if (getAmount() < 75)
Leevi Grönlund's avatar
Leevi Grönlund committed
        {
            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[5];
Leevi Grönlund's avatar
Leevi Grönlund committed
        }
Leevi Grönlund's avatar
Leevi Grönlund committed
        else if (getAmount() < 100)
Leevi Grönlund's avatar
Leevi Grönlund committed
        {
            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[4];
Leevi Grönlund's avatar
Leevi Grönlund committed
        }
Leevi Grönlund's avatar
Leevi Grönlund committed
        else if (getAmount() < 125)
Leevi Grönlund's avatar
Leevi Grönlund committed
        {
            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[3];
Leevi Grönlund's avatar
Leevi Grönlund committed
        }
Leevi Grönlund's avatar
Leevi Grönlund committed
        else if (getAmount() < 150)
Leevi Grönlund's avatar
Leevi Grönlund committed
        {
            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[2];
Leevi Grönlund's avatar
Leevi Grönlund committed
        }
Leevi Grönlund's avatar
Leevi Grönlund committed
        else if (getAmount() < 175)
Leevi Grönlund's avatar
Leevi Grönlund committed
        {
            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[1];
Leevi Grönlund's avatar
Leevi Grönlund committed
        }
        else
        {
            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[0];
Leevi Grönlund's avatar
Leevi Grönlund committed
        }
    }

    public override void checkExistence()
    {
        if (getAmount() < 1)
Leevi Grönlund's avatar
Leevi Grönlund committed
        {
            gameObject.SetActive(false);
Leevi Grönlund's avatar
Leevi Grönlund committed
        }
    }

    // Start is called before the first frame update
    void Start()
    {
Leevi Grönlund's avatar
Leevi Grönlund committed
        setEventType(EventType.WoodChopped);
Leevi Grönlund's avatar
Leevi Grönlund committed
        setAmount(Random.Range(50, 150));
Leevi Grönlund's avatar
Leevi Grönlund committed
        isForester = false;
        growthspeed = 1;
        StartCoroutine("Grow");
Leevi Grönlund's avatar
Leevi Grönlund committed
    }

    IEnumerator Grow()
    {
Leevi Grönlund's avatar
Leevi Grönlund committed
        while (getAmount() < 200)
Leevi Grönlund's avatar
Leevi Grönlund committed
        {
            setAmount(getAmount() + 1);
            yield return new WaitForSeconds(growthspeed);
Leevi Grönlund's avatar
Leevi Grönlund committed
        }
    }
}