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); }
// 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); }
// 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); }
// 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); }