Here are my design ideas:
PlayerPawn
Add mass property – (Does the character class have this?)
Implement a component on the PlayerPawn that can reference the object being grabbed.
Add C++ class for grabbing an object.
PressurePlate Actor
Add a C++ class component for the PressurePlate
Add a mass threshold trigger before opening/closing the door (Implement as events)
Add a plate object on the floor for visual cues
All Objects within the collision volume (i.e. on the plate) sum the total mass applied to the pressure plate (implement a list of objects added to the plate)
Room Object Actors
Add additional objects into the room.
Each object should have a mass property
Grabbing System
Not sure how this would work. Investigate further.
Door
This should use the PressurePlate Actor class behavior to determine Open and Close as it just receives the Open and Close commands. Ideally, these should be implemented as events fired by the PressurePlate class object and received by the Door class object. But if not these will have to be polled.