Пример #1
0
    /// <summary>
    /// Craftea el objeto que estuviera en cola.
    /// </summary>
    public void Craftear(Estructura build, GameAction action)
    {
        if (ComprobarAcceso(action) || build == null)
        {
            return;
        }

        Crafteable craftTable = build.GetComponent <Crafteable>();

        if (craftTable == null)
        {
            Debug.LogWarning("Craftear::ActionMethods error: Eso no es mesa de crafteo...");
            return;
        }

        Craft crafteo = craftTable.GetThisCraft();

        if (crafteo == null)
        {
            return;
        }

        foreach (ResourceInfo info in crafteo.requisitos)
        {
            action.worker.inventario.RemoveResource(info.type, info.quantity);
        }
        action.worker.inventario.AddResource(crafteo.obtencion.type, crafteo.obtencion.quantity);

        craftTable.FinishCraft();

        if (craftTable.HasMoreCrafts())
        {
            actions.CreateAction(action, action.worker, true, action.prioridad, craftTable.GetThisCraft().requisitos);
        }
    }
Пример #2
0
    /// <summary>
    /// Muestra en pantalla la mesa actual.
    /// </summary>
    /// <param name="table"></param>
    public void SetCraftableTable(Crafteable table)
    {
        actualTable = table;
        //Añadir solo las recetas de crafteos disponible para esta mesa.
        //Por ejemplo, las recetas de cocina estaran ocultos para la estructura de mesa.
        foreach (CrafteoBoton boton in listaBotones.Keys)
        {
            bool activar = listaBotones[boton].tipoCraft == table.tipoCrafteador;
            boton.gameObject.SetActive(activar);

            for (int i = 0; i < botonesCola.Length; i++)
            {
                if (i < table.crafteos.Count)
                {
                    botonesCola[i].obtencion.imagen.enabled = true;
                    botonesCola[i].obtencion.imagen.sprite  = manager.resourceController.GetSprite(table.crafteos[i].obtencion.type);
                    botonesCola[i].obtencion.cantidad.text  = table.crafteos[i].obtencion.quantity.ToString();
                }
                else
                {
                    botonesCola[i].obtencion.imagen.enabled = false;
                    botonesCola[i].obtencion.cantidad.text  = "";
                }
            }
        }

        toggleRepetir.isOn = actualTable.repetir;

        UpdateCraft();
    }