Creating related and dependent products
Imagine your action platformer needs an upgrade system, one where your players can use raw materials to upgrade existing items according to preset recipes. To create, manage, and expand this system, your team needs a way to create different crafting configurations of products while hiding their implementation. Further, you need to be able to interact with each product and factory using the same interfaces, so the client code doesn’t break when factories or items are switched out or updated.
Writing dependent product abstract classes
In the Scripts folder, create a new C# script named DependentFactory
and update its code to match the following code, which declares our two abstract products, one for raw materials and one for upgradeable items. Since we need dependent products for this example, each concrete UpgradeMaterial
will be used to upgrade items, and each Item
will accept an UpgradeMaterial
to see whether it’s a viable...