public override void Interactuar() { //Creo una variable de clase "CombatePersonaje" que accederá al componente "CombatePersonaje" de mi JUGADOR. (Para que a la hora de ejecutar el método "Atacar"... //Obtenga el daño del JUGADOR (Debido a que este se ejecuta desde el jugador) y obtenga la salud del ENEMIGO (Al proveerle como argumento sus "stats). CombatePersonaje combateJugador = jugadorAcceso.jugador.GetComponent <CombatePersonaje>(); if (combateJugador != null) { combateJugador.Atacar(misStats); //Cuando el jugador interactue con el enemigo, queremos que lo ataque (Ejecutando el método "Atacar" de mi clase "CombatePersonaje" de mi JUGADOR). } }
// Use this for initialization protected virtual void Start() { agente = GetComponent <NavMeshAgent>(); //Obtengo las propiedades de mi objeto. animador = GetComponentInChildren <Animator>(); //Obtengo las propiedades "Animator" del child de mi objeto. (Recordemos que el componente "Animator" se encuentra en el gráfico, y este script en el parent) combate = GetComponent <CombatePersonaje>(); //Obtiene la clase "CombatePersonaje" de los componentes del objeto. if (controladorSobreescribir == null) { controladorSobreescribir = new AnimatorOverrideController(animador.runtimeAnimatorController); } animador.runtimeAnimatorController = controladorSobreescribir; animacionesAtacar = animacionesAtacarDefault; combate.atacando += Atacando; //Agrego a mi delegado "atacando" mi método "Atacando" que establece las animaciones de combate. }
// Use this for initialization void Start() { objetivo = ManejadorJugador.instancia.jugador.transform; //Establecemos que nuestro objetivo, será el jugador. agente = GetComponent <NavMeshAgent>(); //Accdemos al componente NavMesh de nuestro objeto. combateEnemigo = GetComponent <CombatePersonaje>(); //Obtiene la clase y métodos de "CombatePersonaje" presente en él. }