Exemple #1
0
    private IEnumerator AddObjeto(int num, GameObject popupGO)
    {
        Inventario inventarioPropio;

        //Buscamos el inventario en la colaobjetos
        ColaObjeto inventarioCola = Manager.instance.GetColaObjetos(Manager.rutaInventario + "Inventario.xml");

        //Se ha encontrado en la cola de objetos
        if (inventarioCola != null)
        {
            ObjetoSerializable objetoSerializable = inventarioCola.GetObjeto();
            inventarioPropio = objetoSerializable as Inventario;
        }
        //No se ha encontrado en la cola de objetos
        else
        {
            //Cargamos el inventario si existe, sino lo creamos
            if (System.IO.File.Exists(Manager.rutaInventario + "Inventario.xml"))
            {
                inventarioPropio = Inventario.LoadInventario(Manager.rutaInventario + "Inventario.xml");
            }
            else
            {
                inventarioPropio = new Inventario();
            }
        }

        inventarioPropio.AddObjeto(inventario.DevolverID(num), 1);
        inventarioPropio.AddToColaObjetos();

        yield return(StartCoroutine(UIPopUpObjeto.MostrarPopupObjetos()));

        Destroy(popupGO);
    }
Exemple #2
0
    public void RemoveFromColaObjetos(string path)
    {
        ColaObjeto cobj = GetColaObjetos(path);

        if (cobj != null)
        {
            colaObjetos.Remove(cobj);
        }
    }
Exemple #3
0
    /*
     *
     *
     *  COLAOBJETOS
     *
     *
     */

    public void AddToColaObjetos(string path, ObjetoSerializable objetoSerializable)
    {
        //Comprobamos si ya existe el objeto indicado
        //Si ya existe, lo eliminamos
        if (ColaObjetoExiste(path))
        {
            RemoveFromColaObjetos(path);
        }

        ColaObjeto colaObjeto = new ColaObjeto(objetoSerializable, path);

        colaObjetos.Add(colaObjeto);
    }
Exemple #4
0
    public void GuardarValor()
    {
        if (activado != activadoActual)
        {
            if (activadoActual)
            {
                datos.SetValorVariable(numVariable, valorInicial + 1);
            }
            else
            {
                datos.SetValorVariable(numVariable, valorInicial - 1);
            }
            datos.Serialize();

            //CAMBIAR EN EL FUTURO
            //Buscamos el inventario en la colaobjetos
            Inventario inventario;
            ColaObjeto inventarioCola = Manager.instance.GetColaObjetos(Manager.rutaInventario + "Inventario.xml");

            //Se ha encontrado en la cola de objetos
            if (inventarioCola != null)
            {
                ObjetoSerializable objetoSerializable = inventarioCola.GetObjeto();
                inventario = objetoSerializable as Inventario;
            }
            //No se ha encontrado en la cola de objetos
            else
            {
                //Cargamos el inventario si existe, sino lo creamos
                if (System.IO.File.Exists(Manager.rutaInventario + "Inventario.xml"))
                {
                    inventario = Inventario.LoadInventario(Manager.rutaInventario + "Inventario.xml");
                }
                else
                {
                    inventario = new Inventario();
                }
            }
            Manager.instance.ActualizarAcciones(inventario);
        }
    }
Exemple #5
0
    private void SetOptionButton(GameObject button, DialogueOption dialogueOption)
    {
        bool mostrar = true;

        for (int i = 0; i < dialogueOption.DevuelveNumeroGrupos(); i++)
        {
            int IDGrupo = dialogueOption.DevuelveIDGrupo(i);             //Miramos si la opción está asignada a algún grupo

            Grupo grupo = Manager.instance.DevolverGrupoActivo(IDGrupo);

            if (grupo != null)
            {
                List <DialogueOptionGrupoVariables> variables = dialogueOption.DevuelveVariables(i);

                for (int j = 0; i < variables.Count; j++)
                {
                    //Si la variable de la opcion es mayor que la actual del grupo, no se muestra la opción
                    if (variables[j].valor > grupo.variables[variables[j].numVariable])
                    {
                        mostrar = false;
                    }
                }
            }
            //El grupo no está activo
            else
            {
                mostrar = false;
            }
        }

        if (mostrar)
        {
            //Creamos un objeto inventario
            Inventario inventario;

            //Buscamos el inventario en la colaobjetos
            ColaObjeto inventarioCola = Manager.instance.GetColaObjetos(Manager.rutaInventario + "Inventario.xml");

            //Se ha encontrado en la cola de objetos
            if (inventarioCola != null)
            {
                ObjetoSerializable objetoSerializable = inventarioCola.GetObjeto();
                inventario = objetoSerializable as Inventario;
            }
            //No se ha encontrado en la cola de objetos
            else
            {
                //Cargamos el inventario si existe, sino lo creamos
                if (System.IO.File.Exists(Manager.rutaInventario + "Inventario.xml"))
                {
                    inventario = Inventario.LoadInventario(Manager.rutaInventario + "Inventario.xml");
                }
                else
                {
                    inventario = new Inventario();
                }
            }

            for (int i = 0; i < dialogueOption.DevuelveNumeroObjetos(); i++)
            {
                int  IDObjeto   = dialogueOption.DevuelveIDObjeto(i);
                bool enPosesion = dialogueOption.DevuelveObjetoPosesion(i);

                bool existe = inventario.ObjetoInventarioExiste(IDObjeto);

                //Mostramos la opción solo si coincide el parámetro
                if (enPosesion != existe)
                {
                    mostrar = false;
                }
            }
        }

        if (mostrar)
        {
            UIDialogo.instance.SetOptionButton(button, dialogueOption);
        }
    }