public static void RebuildRecipes() { if (IsObjectDBValid()) { foreach (var recipeToApply in cc.recipeConfigs) { if (recipeToApply.Enabled) { GameObject go = myItemList.Where(mil => mil.name == recipeToApply.ItemPrefab).FirstOrDefault(); if (go == null) { continue; } RecipeHelper rh = recipeToApply.LoadConfigedRecipeHelper(go); rh.FixResources(); Recipe updatedRecipe = rh.GetRecipe(); if (updatedRecipe != null) { AddRecipeToObjectDB(updatedRecipe); continue; } } } } }
public RecipeHelper ApplyRecipeHelperFromConfigRecord(GameObject go) { if (recipeConfigsToApply.Count > 0 && recipeConfigsToApply.ContainsKey(go.name)) { RecipeHelper outputRH = recipeConfigsToApply[go.name].LoadConfigedRecipeHelper(go); recipeConfigsToApply.Remove(go.name); return(outputRH); } return(null); }
public RecipeHelper LoadConfigedRecipeHelper(GameObject itemToCraft) { RecipeHelper outputRH = new RecipeHelper(itemToCraft, CraftingStation, MinimumStationLevel, 1); outputRH.recipeEnabled = Enabled; foreach (ConfigResource cr in CraftingRequirementsArray) { outputRH.AddResource(cr.ItemPrefab, cr.CraftingCost, cr.UpgradePerLevelCost); } return(outputRH); }
public void AddRecipeAsConfigRecord(RecipeHelper rh) { ConfigRecipeData newData = new ConfigRecipeData(); var existingRecord = recipeConfigs.Where(rc => rc.ItemPrefab == rh.GetPrefabName()).FirstOrDefault(); if (existingRecord != null) { newData.Enabled = existingRecord.Enabled; } newData.ReadConfigFromRecipeHelper(rh); recipeConfigs.RemoveAll(rc => rc.ItemPrefab == rh.GetPrefabName()); recipeConfigs.Add(newData); }
public void ReadConfigFromRecipeHelper(RecipeHelper rh) { ItemPrefab = rh.GetPrefabName(); CraftingStation = rh.GetCraftingStation(); //Recipe rec = rh.GetRecipeInstance(); MinimumStationLevel = rh.GetRecipeInstance().m_minStationLevel; ResourceElement[] resources = rh.GetResourceElements(); List <ConfigResource> lcr = new List <ConfigResource>(); foreach (var re in resources) { ConfigResource tempCR = new ConfigResource(); tempCR.ItemPrefab = re.prefabItemName; tempCR.CraftingCost = re.amount; tempCR.UpgradePerLevelCost = re.amountPerLevel; lcr.Add(tempCR); } CraftingRequirementsArray = lcr.ToArray(); }