示例#1
0
    // Comprobamos que se hayan indicado los elementos de todas las fichas para habilitar el botón siguiente
    void Update()
    {
        int[,,] fichasjugador = null;
        int totalFichasAsignadas = 0;

        fichasjugador = FichaSeleccionada.GetFichasJugadores();

        for (int i = 0; i < 9; i++)
        {
            if (fichasjugador[FichaSeleccionada.GetJugador(), i, 0] > 0)
            {
                totalFichasAsignadas++;
            }
            if (fichasjugador[FichaSeleccionada.GetJugador(), i, 1] > 0)
            {
                totalFichasAsignadas++;
            }
        }

        if (totalFichasAsignadas > 17)
        {
            this.GetComponent <Button>().interactable = true;
        }
        else
        {
            this.GetComponent <Button>().interactable = false;
        }
    }
    // Al iniciar pone las fichas con los elementos correspondientes si ya se habían seleccionado
    void Start()
    {
        GameObject[] fichas = null;
        int[,,] datosFichas = null;
        // Añadimos al array todas las fichas del jugador 1
        if (FichaSeleccionada.GetJugador() == 0)
        {
            fichas      = GameObject.FindGameObjectsWithTag("FichasJugador1");
            datosFichas = FichaSeleccionada.GetFichasJugadores();
            foreach (GameObject ficha in fichas)
            {
                // recorremos todas las fichas asignando el elemento y añadiendo a las fichas seleccionadas
                if (datosFichas[FichaSeleccionada.GetJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 1)
                {
                    CambiaObjeto.AsignaFuegoBlanco(ficha);
                }

                if (datosFichas[FichaSeleccionada.GetJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 2)
                {
                    CambiaObjeto.AsignaAguaBlanca(ficha);
                }

                if (datosFichas[FichaSeleccionada.GetJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 3)
                {
                    CambiaObjeto.AsignaMaderaBlanca(ficha);
                }
            }
        }
        // Añadimos al array todas las fichas del jugador 2
        if (FichaSeleccionada.GetJugador() == 1)
        {
            fichas      = GameObject.FindGameObjectsWithTag("FichasJugador2");
            datosFichas = FichaSeleccionada.GetFichasJugadores();
            foreach (GameObject ficha in fichas)
            {
                // recorremos todas las fichas asignando el elemento y añadiendo a las fichas seleccionadas
                if (datosFichas[FichaSeleccionada.GetJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 1)
                {
                    CambiaObjeto.AsignaFuegoNegro(ficha);
                }

                if (datosFichas[FichaSeleccionada.GetJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 2)
                {
                    CambiaObjeto.AsignaAguaNegra(ficha);
                }

                if (datosFichas[FichaSeleccionada.GetJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 3)
                {
                    CambiaObjeto.AsignaMaderaNegra(ficha);
                }
            }
        }
    }
示例#3
0
    // Control de la seleccion de elementos
    private void OnMouseUp()
    {
        int numFichasSeleccionadas = FichaSeleccionada.GetTotalFichasSeleccionadas();

        ////foreach (int i in FichaSeleccionada.GetFichasSeleccionadas())
        // Sonido botón menú
        this.GetComponent <Elementos>().SonidoSeleccion();

        // si no hay fichas del jugador seleccionadas marcaremos y/o desmarcaremos el elemento seleccionado. solo puede haber uno
        if (numFichasSeleccionadas == 0)
        {
            if (elementoSeleccionado == this.GetComponent <Elementos>().idElemento)
            {
                CambiaObjeto.PintaBlanco(this.gameObject);
                ElementoSeleccionado.SetElementoSeleccionado(0);
            }
            else
            {
                if (elementoSeleccionado == 1)
                {
                    CambiaObjeto.PintaBlanco(fuego.gameObject);
                }
                if (elementoSeleccionado == 2)
                {
                    CambiaObjeto.PintaBlanco(agua.gameObject);
                }
                if (elementoSeleccionado == 3)
                {
                    CambiaObjeto.PintaBlanco(madera.gameObject);
                }
                CambiaObjeto.PintaVerde(this.gameObject);
                ElementoSeleccionado.SetElementoSeleccionado(this.GetComponent <Elementos>().idElemento);
            }
        }
        else
        // Si hay fichas del jugador seleccionadas, las pondremos del material correspondiente al elemento y quitaremos todas las selecciones
        {
            GameObject[] fichas = null;
            // Añadimos al array todas las fichas del jugador
            if (FichaSeleccionada.GetJugador() == 0)
            {
                fichas = GameObject.FindGameObjectsWithTag("FichasJugador1");
            }
            if (FichaSeleccionada.GetJugador() == 1)
            {
                fichas = GameObject.FindGameObjectsWithTag("FichasJugador2");
            }

            elementoSeleccionado = this.GetComponent <Elementos>().idElemento;
            foreach (GameObject ficha in fichas)
            {
                if (FichaSeleccionada.GetFichasSeleccionadas()[ficha.GetComponent <numFichaJugador>().idFicha - 1] == 1)
                {
                    // recorremos todas las fichas asignando el elemento y añadiendo a las fichs seleccionadas
                    if (FichaSeleccionada.GetJugador() == 0)
                    {
                        if (ElementoSeleccionado.GetElementoSeleccionado() == 1)
                        {
                            CambiaObjeto.AsignaFuegoBlanco(ficha);
                        }

                        if (ElementoSeleccionado.GetElementoSeleccionado() == 2)
                        {
                            CambiaObjeto.AsignaAguaBlanca(ficha);
                        }

                        if (ElementoSeleccionado.GetElementoSeleccionado() == 3)
                        {
                            CambiaObjeto.AsignaMaderaBlanca(ficha);
                        }
                    }
                    if (FichaSeleccionada.GetJugador() == 1)
                    {
                        if (ElementoSeleccionado.GetElementoSeleccionado() == 1)
                        {
                            CambiaObjeto.AsignaFuegoNegro(ficha);
                        }

                        if (ElementoSeleccionado.GetElementoSeleccionado() == 2)
                        {
                            CambiaObjeto.AsignaAguaNegra(ficha);
                        }

                        if (ElementoSeleccionado.GetElementoSeleccionado() == 3)
                        {
                            CambiaObjeto.AsignaMaderaNegra(ficha);
                        }
                    }
                    FichaSeleccionada.SetFichaJugador(ficha);
                }
            }
            ElementoSeleccionado.SetElementoSeleccionado(0);
            FichaSeleccionada.InicializaFichasSeleccionadas();
        }
    }
示例#4
0
    static protected int jugador;                                // 0 o 1

    // Comportamiento al pinchar
    private void OnMouseUp()
    {
        this.GetComponent <numFichaJugador>().SonidoSeleccion();
        // Si no hay elemento seleccionado permitiremos ir seleccionando o deseleccinando varias fichas del jugador1
        if (ElementoSeleccionado.GetElementoSeleccionado() == 0)
        {
            // Si la ficha no estaba seleccionada la marcamos de verde, si ya estaba seleccionada la ponemos blanca
            if (fichasSeleccionadas[this.GetComponent <numFichaJugador>().idFicha - 1] == 0)
            {
                if (FichaSeleccionada.GetJugador() == 1 && FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] > 0)
                {
                    if (FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] == 1)
                    {
                        CambiaObjeto.AsignaFuegoBlanco(this.gameObject);
                    }

                    if (FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] == 2)
                    {
                        CambiaObjeto.AsignaAguaBlanca(this.gameObject);
                    }

                    if (FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] == 3)
                    {
                        CambiaObjeto.AsignaMaderaBlanca(this.gameObject);
                    }
                }

                CambiaObjeto.PintaVerde(this.gameObject);
                fichasSeleccionadas[this.GetComponent <numFichaJugador>().idFicha - 1] = 1;
                totalFichasSeleccionadas++;
            }
            else
            {
                if (FichaSeleccionada.GetJugador() == 0)
                {
                    CambiaObjeto.PintaBlanco(this.gameObject);
                }
                if (FichaSeleccionada.GetJugador() == 1 && FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.cara] == 0)
                {
                    CambiaObjeto.PintaGris(this.gameObject);
                }
                if (FichaSeleccionada.GetJugador() == 1 && FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.cara] > 0)
                {
                    if (FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] == 1)
                    {
                        CambiaObjeto.AsignaFuegoNegro(this.gameObject);
                    }

                    if (FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] == 2)
                    {
                        CambiaObjeto.AsignaAguaNegra(this.gameObject);
                    }

                    if (FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] == 3)
                    {
                        CambiaObjeto.AsignaMaderaNegra(this.gameObject);
                    }
                }

                fichasSeleccionadas[this.GetComponent <numFichaJugador>().idFicha - 1] = 0;
                totalFichasSeleccionadas--;
            }
        }
        else
        // Si hay un elemento seleccionado, cambiaremos el material de la ficha
        {
            // Si la ficha ya tiene ese elemento se lo quitaremos
            if (ElementoSeleccionado.GetElementoSeleccionado() == fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()])
            {
                CambiaObjeto.QuitaMaterial(this.gameObject);
                fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] = 0;
            }
            else // Si la ficha no tiene ese elemento, le asignaremos el elemento seleccionado independientemente del elemento que tuviera la ficha anteriormente
            {
                if (FichaSeleccionada.GetJugador() == 0)
                {
                    if (ElementoSeleccionado.GetElementoSeleccionado() == 1)
                    {
                        CambiaObjeto.AsignaFuegoBlanco(this.gameObject);
                    }

                    if (ElementoSeleccionado.GetElementoSeleccionado() == 2)
                    {
                        CambiaObjeto.AsignaAguaBlanca(this.gameObject);
                    }

                    if (ElementoSeleccionado.GetElementoSeleccionado() == 3)
                    {
                        CambiaObjeto.AsignaMaderaBlanca(this.gameObject);
                    }
                }
                if (FichaSeleccionada.GetJugador() == 1)
                {
                    if (ElementoSeleccionado.GetElementoSeleccionado() == 1)
                    {
                        CambiaObjeto.AsignaFuegoNegro(this.gameObject);
                    }

                    if (ElementoSeleccionado.GetElementoSeleccionado() == 2)
                    {
                        CambiaObjeto.AsignaAguaNegra(this.gameObject);
                    }

                    if (ElementoSeleccionado.GetElementoSeleccionado() == 3)
                    {
                        CambiaObjeto.AsignaMaderaNegra(this.gameObject);
                    }
                }
                FichaSeleccionada.SetFichaJugador(this.gameObject);
            }
        }
    }
示例#5
0
 // Guarda los datos de una ficha para el jugador
 public static void SetFichaJugador(GameObject obj)
 {
     fichasJugadores[FichaSeleccionada.GetJugador(), obj.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] = ElementoSeleccionado.GetElementoSeleccionado();
 }