private void SelectCategory(CategoryButtonScript categoryButtonScript) { categoryButtonScript.OnPressed(); chosenCategory = categoryButtonScript; foreach (RecipeButtonScript recipeButtonScript in GetRecipesInCategory(categoryButtonScript.CategoryAndIcon.RecipeCategory).RecipeButtonScripts ) { recipeButtonScript.gameObject.SetActive(true); } }
private void DeselectCategory(CategoryButtonScript categoryButtonScript) { if (categoryButtonScript == null) { return; } categoryButtonScript.OnUnpressed(); foreach (RecipeButtonScript recipeButtonScript in GetRecipesInCategory(categoryButtonScript.CategoryAndIcon.RecipeCategory).RecipeButtonScripts ) { recipeButtonScript.gameObject.SetActive(false); } chosenCategory = null; }
/// <summary> /// Deselects a chosen category or, if it's null, deselects all categories. /// Selects the new category. /// </summary> /// <param name="categoryButtonScript">The category button to select.</param> public void ChangeCategory(CategoryButtonScript categoryButtonScript) { if (chosenCategory == null) { // ok we don't know where we should clear recipe buttons, so let's clear all possible recipe buttons. foreach (RecipesInCategory recipesInCategory in recipesInCategories) { DeselectCategory(recipesInCategory.CategoryButtonScript); } } else { // ok we know where we should clear recipe buttons. DeselectCategory(chosenCategory); } DeselectRecipe(chosenRecipe); SelectCategory(categoryButtonScript); }
private void InitCategories() { foreach (GameObject categoryButtonPrefab in categoryButtonsPrefabs) { GameObject initiatedCategoryButtonGameObject = Instantiate( categoryButtonPrefab, categoriesLayoutGameObject.transform ); CategoryButtonScript categoryButtonScript = initiatedCategoryButtonGameObject.GetComponent <CategoryButtonScript>(); if (GetRecipesInCategory(categoryButtonScript.CategoryAndIcon.RecipeCategory) != null) { Logger.LogError("An attempt to create two same categories in a crafting menu. " + $"The duplicated category: {categoryButtonScript.CategoryAndIcon.RecipeCategory}"); continue; } recipesInCategories[(int)categoryButtonScript.CategoryAndIcon.RecipeCategory] = new RecipesInCategory(categoryButtonScript); } CheckCategoriesCompleteness(); SelectCategory(recipesInCategories[0].CategoryButtonScript); }
public RecipesInCategory(CategoryButtonScript categoryButtonScript) { this.categoryButtonScript = categoryButtonScript; }