public override void Populate(Recipe recipe) { NumCrafted = 0; _maxCrafts = CraftingHelper.GetMaxNumberOfCrafts(recipe); NumberToCraft = 1; // Math.Min(_maxCrafts, 1); //if (t) //{ // t.text = _maxCrafts.ToString(); //} m_output = null; if (OutputImage) { OutputImage.texture = null; } SetCraftCount(); PopulateIngredients(); base.Populate(recipe); }
public override bool CheckState(FrameOperationContext fop, CanExecuteRecipeCondition condition, out object[] results) { results = null; if (condition.RecipeReference != null) { // First, is recipe active var recipe = ActivatedRecipeManager.Instance.GetRecipe(condition.RecipeReference.ObjectId); if (recipe != null) { return(CraftingHelper.GetMaxNumberOfCrafts(recipe) >= condition.Count.GetValueOrDefault(1)); } } return(false); }
public override bool CheckState(FrameOperationContext fop, CanCraftCollectibleCondition condition, out object[] results) { if (condition.CollectibleCount != null) { var recipes = ActivatedRecipeManager.Instance.GetRecipesForCollectible(condition.CollectibleCount.CollectibleId); if (recipes != null) { var canCraft = recipes.Where( r => CraftingHelper.GetMaxNumberOfCrafts(r) >= condition.CollectibleCount.Count) .ToArray(); if (canCraft.Length >= 1) { results = canCraft; return(true); } } } results = null; return(false); }
void CheckState() { ObjectHelper.SetObjectsActive(ShowWhenCantExecute, false); ObjectHelper.SetObjectsActive(ShowWhenCanExecute, true); if (m_output != null) { if (OutputText) { OutputText.text = m_output.Title; } } else { if (OutputText) { OutputText.text = null; } } var reason = CraftingHelper.GetRecipeReason(Data); if (OutputText) { OutputText.gameObject.SetActive(true); } if (CantExecuteText) { CantExecuteText.gameObject.SetActive(true); } switch (reason) { case CraftingReason.RequirementsMet: if (ExecuteButton) { ExecuteButton.interactable = true; } if (LaunchCrafterButton) { LaunchCrafterButton.interactable = true; LaunchCrafterButton.onClick.AddListener(PushCraftScreen); if (OutputText) { OutputText.gameObject.SetActive(false); } } if (CantExecuteText) { CantExecuteText.gameObject.SetActive(false); } break; case CraftingReason.RequirementsUnmet: CantExecute("Requirements have not been met."); break; case CraftingReason.XpUnmet: CantExecute(reason.ToString()); break; case CraftingReason.NoRequirements: case CraftingReason.NoRecipe: default: break; } }