After lots of struggles, my good friend came over and helped me figure out how to handle the elevator blueprint interfacing with the button blueprints and vice versa... It's handled like this. The Button BP has has an exposed variable that allows me to set what floor it's on. The blueprint interface got an input where I plug in that floor, which it then feeds to the lift blueprint. Meanwhile the lift got an array containing all the floor vectors (in order) which it uses to cross-reference the incoming floor number. Floor 0 got index 0 which points to a specific vector, floor 1 got index 1 and so on.
There is also an alternative version where the lift got a map variable, allowing each button to send a name, like "Bottom Floor", "Armory", "Lounge" etc. That one looked like this: (the purple node in the FIND) node would be plugged in with a "CalledFromFloor" variable.
There is also an alternative version where the lift got a map variable, allowing each button to send a name, like "Bottom Floor", "Armory", "Lounge" etc. That one looked like this: (the purple node in the FIND) node would be plugged in with a "CalledFromFloor" variable.
And the blueprint for that use the vector array looks like this
The button blueprints look like this
The next step is adding internal and external doors, lights and the logic that goes with them. And at some point I will have to deal with the fact that the elevator is going to its location in .5 seconds, which means an inconsistent travel speed. Until next time!