示例#1
0
        public override void ReactionComplete()
        {
            ScienceWorkbenchUI ui = ParentState as ScienceWorkbenchUI;
            Item resultSlot       = ui.GetSlot(ui.SlotsLength - 1).StoredItem;

            resultSlot.stack += curRecipeStack;

            Recipe recipe = curRecipes[ui.CurrentRecipe];

            for (int i = 0; i < ui.SlotsLength - 1; i++)
            {
                Item slot       = ui.GetSlot(i).StoredItem;
                Item recipeItem = recipe.requiredItem[i];

                if (!recipeItem.IsAir && !slot.IsAir)
                {
                    slot.stack -= recipeItem.stack;

                    if (slot.stack <= 0)
                    {
                        slot.TurnToAir();
                    }
                }
            }

            HasRecipe = RecipeUtils.HasRecipe(ui, out curRecipeType, out curRecipeStack, curRecipes);

            Main.PlaySound(SoundID.Grab);
        }
示例#2
0
        public override bool UpdateReaction()
        {
            ScienceWorkbenchUI ui = ParentState as ScienceWorkbenchUI;

            return(ui.UpdateSuccess);
        }