Ok - this is almost right. Only changes are in the door blueprint I think.
-
The first node after the event - UpdateDoorPosition needs to set LeverAdder to 0. LeverAdder is a variable which adds up all of the LeverAmounts from all of the lever objects you have in the scene - it needs to start at 0.
-
In the loop you need to Get LeverAdder, add it to LeverAmount and set LeverAdder to that. This will add up each lever’s amount.
-
You don’t use a timeline in the door blueprint - the ones in the Lever blueprint(s) will handle the animation for you. From the ‘completed’ output of the ForEach loop do a SetLocalTransform (not add) and connect your Lerper to it as you have done (And your door static mesh component).
-
Drag off your ‘MyLevers’ array and type LEN - this will return the amount of levers you have in your scene - If you have 6 levers the length of MyLevers should be 6.
-
You need to do LeverAdder divided by this LEN node and feed this into the alpha of the transform lerp.
So if you have 6 levers all activated then when you count each LeverAmount it will come to 6. So 6 divided bt 6 is 1 - which is your door fully open. If any of the levers aren’t activates you’ll get a value less than one.
Also - I don’t really do things the way you have in regards to enabling/disabling input in the Lever blueprint, but i’d say you want to connect the DisableInput node to the CLOSE pin on the gate.
Dan