public void landCow()
    {
        GetComponent <Collider2D>().isTrigger = false;
        if (cattlepulted)
        {
            foreach (GameObject Barn in GameObject.FindGameObjectsWithTag("Barn"))
            {
                if (GetComponent <Collider2D>().IsTouching(Barn.GetComponent <Collider2D>()))
                {
                    Barn.GetComponent <House1>().takeDamage(this.gameObject.GetComponent <CowBehaviour>().damage);
                    GetComponent <CowBehaviour>().destroyCow();
                    return;
                }
            }
            foreach (GameObject cow in GameObject.FindGameObjectsWithTag("Cow"))
            {
                if (GetComponent <Collider2D>().IsTouching(cow.GetComponent <Collider2D>()))
                {
                    if (GetComponent <CowBehaviour>().getSize() + 1 >= cow.GetComponent <CowBehaviour>().getSize())
                    {
                        cow.GetComponent <CowBehaviour>().destroyCow();
                        GetComponent <CowBehaviour>().destroyCow();
                        return;
                    }
                }
            }
        }

        foreach (GameObject farmer in GameObject.FindGameObjectsWithTag("Player"))
        {
            if (GetComponent <Collider2D>().IsTouching(farmer.GetComponent <CircleCollider2D>()))
            {
                farmer.GetComponent <FarmerBehaviour>().stunFarmer(this.gameObject.GetComponent <CowBehaviour>().getSize());
            }
        }

        bool kill = true;

        foreach (GameObject Pen in GameObject.FindGameObjectsWithTag("Pen"))
        {
            if (Pen.GetComponent <BoxCollider2D>().bounds.Contains(transform.position))
            {
                kill = false;
            }
        }

        if (kill)
        {
            GetComponent <CowBehaviour>().destroyCow();
        }
        else
        {
            transform.position = target;
            GetComponent <CowBehaviour>().setIdle();
            GetComponent <CowBehaviour>().setAnimationBool(false);
            rend.sortingOrder = 2;
        }
    }
Beispiel #2
0
 /// <summary>
 /// Changes movementspeed and sets the animal pen area
 /// </summary>
 public override void Enter()
 {
     AIagent.speed = MovementSpeed * 0.7f;
     penArea       = Pen.GetComponent <AnimalPen>().PenArea;
     GameComponents.FairGameList.Remove(owner.gameObject);
 }