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