public void Initialise(SlotCollection inventory)
        {
            _playerCraftingDisplay    = _playerCraftingDisplayRef.Get();
            _playerRecipeQueueDisplay = _playerRecipeQueueDisplayRef.Get();
            _inventory            = inventory;
            _recipeProcessorQueue = new RecipeProcessorQueue();

            _playerRecipeQueueDisplay.Listen(_recipeProcessorQueue);
            _playerCraftingDisplay.CanCraftRecipe = TryCraft;
            _recipeProcessorQueue.UnloadProduce   = _inventory.TransactionalAdd;
        }
 public void Listen(RecipeProcessorQueue recipeProcessorQueue)
 {
     recipeProcessorQueue.OnStartProcess    += RecipeProcessorQueue_OnStartProcess;
     recipeProcessorQueue.OnProcessing      += RecipeProcessorQueue_OnProcessing;
     recipeProcessorQueue.OnFinishedProcess += RecipeProcessorQueue_OnFinishedProcess;
 }