I have been trying to figure out how to best handle an equipment system. I have a basic UI set up but am having trouble figuring out how to get different pieces to communicate.
So you can pick a Main weapon, secondary weapon, ammo, upgrades and the like etc. I want the player to be able to pick their loadout before a match starts. They can choose what they want to use from an inventory type system. I have been toying around with blueprint interface but am just not understanding it completely.
For the equipment itself it will be represented by a card. So my main question is, should the cards themselves be widgets or blueprints that have no 3d mesh but a 2d texture instead? And if so, they wouldnt really be actors or pawns because they dont need to be spawned into the world, so what would they be? They would hold the variables of the blueprint class, make a call to the player blueprint and set its variables so that the player would spawn in the correct equipment on event begin play. This is why I was thinking a blueprint interface would do the job. But I am not able to get things to work as I would like. I have watched different tutorials on inventory systems, but they take place in game and utilize a pickup type system that populates the inventory or players equipment in game. I need this to be handled in the lobby area of the game and spawn on event begin play.
So from the equipment widget, it would display their card inventory, when they click on a slot for a certain equipment type, it would only show cards available for that equipment type, and allow them to click the card they want to equip. The card would then link into the player blueprint and update its variables with the necessary information to spawn them in game.
Long story short, should the cards be widgets themselves or blueprints? Is a blueprint interface the correct way to achieve what is needed? And should I be promoting the cards references to actor classes be promoted to variables?
Any help at all would be much appreciated, this is the last big system I need to complete before I can get to work on establishing network play to finish my prototype.