Example #1
0
    void FixedUpdate()     //Runs 30 times per second
    {
        DecideTimer = grid.Decide();
        SenseTimer  = grid.Sense();
        if (DecideTimer == 30)
        {
            Decide();
        }
        if (SenseTimer == 15)
        {
            Sense();
        }


        if (grassStates == _states.shrinking && trampled == false)
        {
            if (Random.value < 0.01)
            {
                hp -= 0.1f;
                ReduceGrassSize();
            }
        }

        if (grassStates == _states.eaten)
        {
            hp -= 0.15f;
            ReduceGrassSize();
            this.GetComponent <SpriteRenderer>().color = GrassColor;
        }


        if (grassStates == _states.spreading && trampled == false)
        {
            if (Random.value < 0.15)
            {
                hp -= 0.3f;
                ReduceGrassSize();
                this.GetComponent <SpriteRenderer>().color = GrassColor;
            }
            if (Random.value < 0.06)
            {
                grid.AddGrass(Mathf.RoundToInt(currentGrassPos.x), Mathf.RoundToInt(currentGrassPos.y));
            }
        }
        if (grassStates == _states.growing && trampled == false)
        {
            if (Random.value < 0.2)
            {
                if (hp <= 5)
                {
                    hp += 0.15f;
                    GrassSize();
                }
            }
        }


        if (hp <= 0.0f)
        {
            Destroy(gameObject);
        }
    }