示例#1
0
    private string generateRequirementsText(Recipe recipe)
    {
        List <int> requirements = recipe.getRequireTech();

        string text = "";
        bool   flag = false;

        foreach (int id in requirements)
        {
            if (flag)
            {
                text += "\n";
            }
            else
            {
                flag = true;
            }

            if (rm.checkTechDone(id))
            {
                text += TechnologyDatabase.findNameById(id);
            }
            else
            {
                text += highlight(TechnologyDatabase.findNameById(id));
            }
        }

        return(text);
    }
示例#2
0
    // harvest from seed
    public void ITEM_Seed(List <int> param)
    {
        // int day = param[0];
        int productId    = param[1];
        int productCount = param[2];
        int seedId       = param[3];
        int seedCount    = param[4];

        player.addItem(productId, productCount);

        if (rm.checkTechDone(TechnologyDatabase.findIdByName("비료")))
        {
            seedCount += 1;
        }

        player.addItem(seedId, seedCount);
    }
示例#3
0
    // formalize text

    /*
     * 기술1
     * 기술2
     */
    private string generateRequirementsText(List <Requirement> requirements)
    {
        string text = "";

        foreach (Requirement e in requirements)
        {
            if (rm.checkTechDone(e.tech.getId()))
            {
                text += e.tech.getName() + "\n";
            }
            else
            {
                text += highlight(e.tech.getName() + "\n");
            }
        }

        return(text);
    }
示例#4
0
    // craft Item
    public bool craft(int recipeId, int craftCount)
    {
        Recipe recipe = getRecipe(recipeId);
        List <RecipeElement> ingredients  = recipe.getIngredients();
        List <int>           requirements = recipe.getRequireTech();
        RecipeElement        product      = recipe.getProduct();

        foreach (RecipeElement e in ingredients)
        {
            // player don't have enough item
            if (!player.checkItemPossession(e.item.getId(), e.count * craftCount))
            {
                Debug.Log("NOT ENOUGH ITEM T.T");
                return(false);
            }
        }

        foreach (int id in requirements)
        {
            if (!rm.checkTechDone(id))
            {
                Debug.Log("TECHNOLOGY NOT SATISFIED");
                return(false);
            }
        }

        foreach (RecipeElement e in ingredients)
        {
            player.removeItem(e.item.getId(), e.count * craftCount);
        }

        if (product.item.getType() == ITEMTYPE.BUILDING)
        {
            return(true);
        }

        player.changeSatiety(SATIETYPOINTS.CRAFTING);
        player.addItem(product.item.getId(), product.count * craftCount);
        Debug.Log("Craft Done");
        return(true);
    }