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);
        }
Beispiel #5
0
 public RecipesInCategory(CategoryButtonScript categoryButtonScript)
 {
     this.categoryButtonScript = categoryButtonScript;
 }