void OnTriggerExit(Collider other)
    {
        if (LevelBuilder.inst.levelBuilderIsShowing)
        {
            return;
        }
        Animal_Sheep sheep = other.GetComponent <Animal_Sheep>();

        if (sheep)
        {
            if (sheepsInside.Contains(sheep))
            {
                sheepsInside.Remove(sheep);
            }
        }
    }
    void OnTriggerEnter(Collider other)
    {
        if (LevelBuilder.inst.levelBuilderIsShowing)
        {
            return;
        }
        Animal_Sheep sheep = other.GetComponent <Animal_Sheep>();

        if (sheep)
        {
            sheepsInside.Add(sheep);
        }

        if (other.tag == "Player")
        {
            string failString = totalCollected.numerator == 0 ? "There are zero sheep here. Bring sheep totaling " + sheepNeeded.ToString() + " value here." : "You collected some sheep totaling " + totalCollected.ToString() + " value, but you need a total value of " + sheepNeeded.ToString() + ".";
            string message    = Fraction.Equals(totalCollected, sheepNeeded) ? "Great job! You already collected sheep of exactly " + sheepNeeded.ToString() + " value." : failString;
            PlayerNowMessage.inst.Display(message, Player.inst.transform.position);
        }
    }