示例#1
0
    // Use this for initialization
    void Start()
    {
        armario         = GetComponentInChildren <ColisionArmario>();
        collider        = GetComponent <Collider2D>();
        conQueColisiona = LayerMask.GetMask("Obstaculos", "Jugador");
        master          = GetComponent <Interactuable>();
        master.Accion   = (Jugador a) => {
            if (!a.Invisible())
            {
                armario.Contiene(true);
                a.Esconderse(true, posicionDentro.position);
                a.Interactuar();
            }

            else
            {
                armario.Contiene(false);
                a.Esconderse(false, posicionSalida.position);
            }
        };
        master.EsPosibleLaInteraccion = (Jugador a) =>
        {
            return(collider.bounds.Contains(a.transform.position) || master.InteraccionPorLineaDeVision(a.transform, distanciaDeInteraccion, conQueColisiona));
        };
        master.DistanciaDeInteraccion = () => { return(distanciaDeInteraccion); };
    }
示例#2
0
    // Use this for initialization
    void Start()
    {
        master          = GetComponent <Interactuable>();
        monstruoRB      = GetComponentInParent <Rigidbody2D>();
        monstruo        = GetComponentInParent <Monstruo>();
        vida            = GetComponentInParent <Vida>();
        conQueColisiona = LayerMask.GetMask("Obstaculos", "Jugador");

        master.Accion = (Jugador a) => {
            a.Atacar();
        };
        master.EsPosibleLaInteraccion = (Jugador a) =>
        {
            return(master.InteraccionPorLineaDeVision(a.transform, distanciaInteraccion, conQueColisiona));
        };
    }
示例#3
0
 private void Start()
 {
     /* if (cogerDrogaSonido == null) {
      *   cogerDrogaSonido = new Sonidosss(cogerDroga, false, true, volumenCogerDroga, 1f, SoundManager.instance.VolumenSonidos);
      *   DontDestroyOnLoad(cogerDrogaSonido.gO);
      * }*/
     conQueColisiona = LayerMask.GetMask("Obstaculos", "Jugador");
     master          = GetComponent <Interactuable>();
     master.Accion  += (Jugador a) =>
     {
         cogerDroga.Play();
         DrogaConsumida();
     };
     master.EsPosibleLaInteraccion = (Jugador a) =>
     {
         return(master.InteraccionPorLineaDeVision(a.transform, distanciaDeInteraccion, conQueColisiona));
     };
     master.DistanciaDeInteraccion = () => { return(distanciaDeInteraccion); };
 }
示例#4
0
 void Start()
 {
     /* if (sonidoPalanca == null)
      * {
      *   sonidoPalanca = new Sonidosss(sonido, false, true, volumen, 1f, SoundManager.instance.VolumenMusica);
      *   DontDestroyOnLoad(sonidoPalanca.gO);
      * }*/
     luz = GetComponentInChildren <DynamicLight2D.DynamicLight>().gameObject;
     Apagar();
     puertas          = GameObject.FindObjectsOfType <Puerta>();
     palancaAnimacion = GetComponent <Animator>();
     palancaAnimacion.SetBool("activada", posicionInicial);
     palancaAnimacion.SetInteger("color", (int)color);
     conQueColisiona = LayerMask.GetMask("Obstaculos", "Jugador");
     master          = GetComponent <Interactuable>();
     master.Accion   = (Jugador a) =>
     {
         sonido.Play();
         tiempo = Time.time;
         a.Interactuar();
         posicionInicial = !posicionInicial;
         palancaAnimacion.SetBool("activada", posicionInicial);
         Vector2 pos = a.GetComponent <Rigidbody2D>().position;
         for (int i = 0; i < puertas.Length; i++)
         {
             if (puertas[i].color == color)
             {
                 puertas[i].Abrir(pos);
             }
         }
         ControladorRecorrido.instance.ReiniciarRed();
     };
     master.EsPosibleLaInteraccion = (Jugador a) =>
     {
         return((Time.time - tiempo) > tiempoDeReactivacion && master.InteraccionPorLineaDeVision(a.transform, distanciaDeInteraccion, conQueColisiona));
     };
     master.DistanciaDeInteraccion = () => { return(distanciaDeInteraccion); };
     Apagar();
 }