// Update is called once per frame
    void Update()
    {
        float    speedF = genes.speed / 6 + (genes.speed / 6) / 10;
        float    senceF = genes.visionRaudis / 4 + (genes.visionRaudis / 4) / 10;
        Material newMat = new Material(Shader.Find("Standard"));

        newMat.CopyPropertiesFromMaterial(body.sharedMaterials[0]);
        Color SpeedColor = Color.Lerp(normal, speed, (speedF / 10) * genes.scale);
        Color SneceColor = Color.Lerp(normal, sence, (senceF / 10) * genes.scale);

        Color FinalColor = Color.Lerp(SneceColor, SpeedColor, 0.5f);

        newMat.color = FinalColor;

        body.material = newMat;

        if (energy <= 0)
        {
            Die(transform.name + " died form hunger");
        }
        if (transform.position == homePos)
        {
            transform.rotation = homeRot;
        }

        float distance = Vector3.Distance(transform.position, targetPos);

        float distToCenter = Vector3.Distance(transform.position, Vector3.zero);

        if (distToCenter > enviroment.SpawnRange)
        {
            GetRandomPos();
        }

        if (target != null)
        {
            targetPos = target.position;
        }
        if (dayGoing)
        {
            if (!enviroment.GetPossibleFood(this) && transform.position != homePos)
            {
                if (food <= 0)
                {
                    Die(transform.name + " died form hunger");
                }
                else
                {
                    Move(homePos);
                }
            }

            if (food >= 2 || food == 1 && energy <= 0.5f && transform.position != homePos)
            {
                Move(homePos);
            }
            if (food < 2 && !(food == 1 && energy <= 0.5f))
            {
                Move(targetPos);
            }

            if (distance <= 1 && target != null)
            {
                if (target.name == "Food(Clone)")
                {
                    target.GetComponent <Food>().Eat();

                    target = null;

                    food++;
                }
                else
                {
                    Creature creature = target.GetComponent <Creature>();
                    if (creature.transform.position != creature.homePos)
                    {
                        Die(creature.transform.name + " was eaten by " + transform.name + ", a big boy");

                        target = null;

                        food++;
                    }
                }
            }
            if (distance <= 1 && target == null && food < 2)
            {
                GetRandomPos();
            }

            float currentFoodDist = 100;

            foreach (var food in enviroment.allFood)
            {
                if (food != null)
                {
                    float dist = Vector3.Distance(transform.position, food.transform.position);

                    if (dist <= genes.visionRaudis && dist < currentFoodDist)
                    {
                        currentFoodDist = dist;
                        target          = food.transform;
                    }
                }
            }
            currentFoodDist = 100;
            foreach (var Cret in enviroment.creatures)
            {
                if (Cret != null)
                {
                    float dist = Vector3.Distance(transform.position, Cret.transform.position);

                    if (dist <= genes.visionRaudis && dist < currentFoodDist && target == null && transform.localScale.y > (Cret.transform.localScale.y * 1.2f))
                    {
                        if (Cret.transform.position != Cret.homePos)
                        {
                            currentFoodDist = dist;
                            target          = Cret.transform;
                        }
                    }
                }
            }
        }
        else
        {
            if (food >= 2)
            {
                Reperduse();
            }
            food = 0;
        }
    }