I've tried many, many, many different solutions but I always come up short and just can't seem to figure it out.
I'm trying to develop a simplified elevator system. There is a lobby with 4 'real' floors, but I want there to be an infinite number of theoretical floors. What really happens is the elevator loops through floors 3 and 4 (once the elevator reaches the 4th floor it will teleport back to the 3rd). I have a global variable that needs to increase each time the elevator reaches the next floor, and decrease when going down. When the elevator is stopped on a theoretical floor it stops and lets the player out on the 3rd floor (the 4th is an exact clone of the 3rd, so the user doesn't see the 'switch' when I teleport the elevator). However the player thinks they are on a much higher floor.
When the user stands inside a trigger zone (placed near the buttons) and presses Fire1 (left mouse button) they press the 'go up' button. If they stand in the same trigger and press Fire 2 they go down, unless they are on floor 1, in which case nothing happens except the doors closing. If the user presses either Fire1 or Fire2 while inside the trigger the elevator needs to stop on the next floor (whether going up or down). Floors 1 and 2 are different (a lobby) so those cannot be looped, and act as the base floors.
Please someone help me or give me some clues. I seem to be hopelessly stuck. Every solution I think I come up with falls through and doesn't work. I've asked on the Unity forums but people don't seem to know how to do it (I think most of them are artists or idea people)
FYI: I am using Playmaker