Here is a quick snapshot of the current GUI implementation of the Crafting System before I go into details:
So now I've fully implemented the GUI Implementation for the Crafting System, lets delve into details!
GUI Part
To easily scroll through the Items available for crafting you just scroll up and down with the mouse wheel in order to choose which item to be crafted.
As you scroll the Item list will actually move up and down as well as fade out depending on how far from the centre the item is.
System Part
Basically what the system does to find matching Recipes is to take all of the items in the Inventory and find Recipes matching the items, it then puts all of this in a list as you can see on the right hand side of the screen.
But it also only finds Recipes matching what type of Doodad you are interacting with, for example,
If you're interacting with a Crafting Table, only the Recipes that can be crafted at such a table will show up at the list.
I've also added another layer for the Crafting system which is Item Requirements, such as crafting a Sword requires an Anvil + Hammer + Materials. When the Sword is crafted the Hammer won't be used up, but is required in order to be able to craft the sword.
Conclusion
Because this System's implementation is both complete in the GUI and Engine, you will see a lot more crafting content from now on.
I am still unsure if the Item Requirements, such as requiring a Hammer to craft a Sword is an unnecessary layer of complexity or not, but further testing will be done.
Pretty nice work, looking really nice!