コード例 #1
0
/// <summary>
    /// Este metodo se llama si el enemigo goomba colisiona por trigger con algun otro objeto
    /// </summary>
    /// /// <param name="other"></param> El que ha colisionado con el enemigo
    void OnTriggerEnter2D(Collider2D other)
    {
        // Se usa en el if para ver si el jugador tiene el estado fantasma o no
        EstadoFantasma est = other.GetComponent <EstadoFantasma>();

        PerdidasControl pc = other.GetComponent <PerdidasControl>();

        if (pc != null && est != null && !est.CogerEstadoFantasma())
        {
            GameManager.instance.EjecutarSonido(audioSource, "Goomba");
            pc.DesactivaControles(segundos, 0);
        }
    }
コード例 #2
0
    /// <summary>
    /// Si colisiona con zonas de muerte, llama para cambiar la posicion de uno de los 2 jugadores
    /// </summary>
    /// <param name="other"></param>
    void OnTriggerEnter2D(Collider2D other)
    {
        PerdidasControl pc      = other.GetComponent <PerdidasControl>();
        Respawn         respawn = other.GetComponent <Respawn>();

        if (respawn != null && pc != null && !CheatsManager.instance.GetEstadoInvencibilidad())
        {
            GameManager.instance.EjecutarSonido(audioSource, "Morir");
            if (pc.GetEstadoActual() != PerdidaControles.enCubo)
            {
                pc.DesactivaControles(segundosRespawn, 4); //si muere el jugador no puede volver a moverse hasta pasados "segundosRespawn" segundos
            }
            respawn.RespawnJugador(other.transform);
        }
    }
コード例 #3
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        EstadoFantasma est = other.GetComponent <EstadoFantasma>();

        // Llamamos al ralentizar
        PerdidasControl pc = other.GetComponent <PerdidasControl>();

        if (pc != null && est != null && !est.CogerEstadoFantasma()) // Si no esta en modo fantasma
        {
            pc.ActivaModificaVelocidad(reduccionVelVigilante, 7);
        }

        if (this.gameObject.GetComponentInParent <SeguirObjetivo>() != null && est != null)  //Si este enemigo dispone de la capacidad de seguir al jugador
        {
            SeguirObjetivo so = this.gameObject.GetComponentInParent <SeguirObjetivo>();
            if (!est.CogerEstadoFantasma() && so.PuedeIniciarSeguimiento())
            {
                so.SigueAlJugador(other.transform);        //Si no está en modo fantasma y el enemigo puede iniciar un seguimiento
            }
        }                                                  //Autorizamos el seguimiento al jugador y pasamos su transform para gestionar su posición
    }
コード例 #4
0
    void Start()
    {
        gemas           = 0;
        poderUsar       = Poderes.sinPoder;
        poderUsado      = Poderes.sinPoder;
        habilidadActiva = false;

        if (jugadorContrario.gameObject.GetComponent <AudioSource>() != null)
        {
            audioSourceJC = jugadorContrario.gameObject.GetComponent <AudioSource>();
        }

        if (jugadorContrario.gameObject.GetComponent <PerdidasControl>() != null)
        {
            pcJC = jugadorContrario.gameObject.GetComponent <PerdidasControl>();
        }

        if (jugadorContrario.gameObject.GetComponent <ControladorJugador>() != null)
        {
            controlesJugadorContrario = jugadorContrario.gameObject.GetComponent <ControladorJugador>();
        }
    }