Here are my rough ideas so far
So essentially, I think we need these two things:
- A grabbable item (weighted or not, for now assume not)
- Affordance of grabbability
Think something like this would be good.
Creating a Component which we defined with all the grabbable properties and stuff. This component we can attach to anything we would want to be grabbable onwards.
To make it a bit more re-usable, this could become a blueprint (or what the cpp equivalent would be to drag it in the scene) and be able to add a static mesh to it like you would a blueprint.
All logic would then essentially be written in cpp already but we get a bit more visual with attaching static meshes and such. No idea how yet though.
Either in the script of the grabbable, we can define that playercontroller can grab it. Or create a character pawn which has the logic in it?
The OpenDoor script would then need to be able to react on all overlapping events with the Grabbable. If we did involve weights or heck, a max amount of items that need or can be placed on the platform, we would do it here too I think.
For grabbability, “anything you can knockdown is you can grab” might be a fun one.