Ejemplo n.º 1
0
    public static bool DoAOEAttack(Vector3 pos, float radius, float force, float playerForce, MonsterAI Monster)
    {
        Collider[] Colliders = new Collider[0];
        Colliders = Physics.OverlapSphere(pos, radius);
        for (int i = 0; i < Colliders.Length; i++)
        {
            MonsterAI m = Colliders[i].GetComponent <MonsterAI>();
            if (m != null)
            {
                //Hit a sheep
                if (m.GetType().Equals(typeof(SheepAI)))
                {
                    Monster.HitSheep(m.GetComponent <QuestObject>(), m, m.gameObject, force, false, Monster);
                }
                else
                {
                    //Debug.Log("WTF ATTACKED PLAYER??" + m.name);
                    //hit monster
                    //Monster.playerAction.MonsterAttackedMonster(Monster);
                }
            }

            //Debug.Log("One in range");
            if (Colliders[i].tag == "Player")
            {
                //Debug.Log("This on is a player");
                Rigidbody body = Colliders[i].transform.GetComponent <Rigidbody>();
                if (body)
                {
                    //Debug.Log(playerForce);
                    body.AddExplosionForce(playerForce, pos, radius);
                }

                PlayerActionController PAC = Colliders[i].gameObject.GetComponent <PlayerActionController>();
                PAC.PlayerAttacked(Monster);
                return(true);
            }
        }
        return(false);
    }