Adding GameObjects to the mix
GameObjects are a fundamental part of any Unity game, which makes them an essential addition to our Factory pattern implementation. For our example, we’re going to add GameObjects to each Creator class variation we’ve already built so the items not only have a code component but also appear in the game scene.
Because the main building block of our item classes is the IItem interface, we’re going to make each of our concrete items a MonoBehaviour so Unity treats them as components. We’ll use the factories to instantiate new GameObjects based on the pre-made models in the starter project and show you how to build up complex objects from scratch. In an ideal world, we would have the item classes own their own GameObjects, but C# doesn’t allow interfaces to have instance fields.
If you’re asking yourself why I don’t just add an instance field to each item class and assign it a GameObject in its...