Ejemplo n.º 1
0
 /*
  *      Realiza un damage al personaje
  */
 public void atackCharacter()
 {
     //Comprobar que el propio agente no este muerto
     if (!isDead)
     {
         characterFeature.removeHP(enemyFeature.getDamage());
         //animator.SetBool ("Atack",true);
         //impactSound.Play ();
     }
 }
Ejemplo n.º 2
0
    private void realizeAtack()
    {
        //Compruebo que la distancia es la correcta para poder atacar
        if (checkDistance(atackDistance))
        {
            //Asignar la rotacion

            /*
             *      NO SE DEBERIAN DE ACTIVAR LAS ANIMACIONES, YA QUE LAS DEBE
             *      HACER EL PROPIO AGENTE CUANDO SE LLAME A SU FUNCION
             */
            //En caso de no estar activa la animacion, se activa
            if (!isAnimationActive)
            {
                animator.SetBool(nameAnim, true);
                isAnimationActive = true;
            }


            //Realiza ataque al personaje principal
            if (enemyType == EnemyType.Character && enemyBehaviour != null)
            {
                enemyBehaviour.atackCharacter();
            }
            else
            {
                //Realiza ataque al pilar
                if (enemyType == EnemyType.Pillar && enemyBehaviour != null)
                {
                    enemyBehaviour.atackMasterPillar();
                }
                else
                {
                    //Realizar ataque al enemigo
                    if (enemyType == EnemyType.Enemy)
                    {
                        /*
                         *      Situacion en las que village ataca al enemigo
                         */
                    }
                    else
                    {
                        //Realizar ataque a los village
                        if (enemyType == EnemyType.Village && enemyPosition != null)
                        {
                            (enemyPosition.GetComponent <VillageBehaviour>()).setDamage(enemyFeature.getDamage());
                        }
                    }
                }
            }
        }
        else
        {
            if (isAnimationActive)
            {
                animator.SetBool(nameAnim, false);
                isAnimationActive = false;
            }
        }
    }