69 lines
1.7 KiB
Plaintext
69 lines
1.7 KiB
Plaintext
|
scriptName defaultBiPressurePlate extends TrapTriggerBase
|
||
|
|
||
|
bool busy
|
||
|
float property TargetDelay Auto
|
||
|
|
||
|
Event onLoad()
|
||
|
if objectsInTrigger > 0
|
||
|
GoToState("Down")
|
||
|
endif
|
||
|
endevent
|
||
|
|
||
|
auto State Up
|
||
|
Event onBeginState()
|
||
|
busy = True
|
||
|
PlayAnimation("Up")
|
||
|
activate(self)
|
||
|
Utility.Wait(TargetDelay)
|
||
|
; ;Debug.Trace("TargetDelay " + TargetDelay + " is up.")
|
||
|
; ;Debug.Trace("BiPressurePlate UpBeginState: " + objectsInTrigger)
|
||
|
if objectsInTrigger > 0
|
||
|
GoToState("Down")
|
||
|
EndIf
|
||
|
busy = False
|
||
|
EndEvent
|
||
|
|
||
|
Event OnTriggerEnter(objectReference triggerRef)
|
||
|
objectsInTrigger = self.GetTriggerObjectCount()
|
||
|
; ;Debug.Trace("BiPressurePlate TriggerEnter: " + objectsInTrigger)
|
||
|
if (!busy)
|
||
|
GoToState("Down")
|
||
|
EndIf
|
||
|
EndEvent
|
||
|
|
||
|
Event OnTriggerLeave(objectReference triggerRef)
|
||
|
objectsInTrigger = self.GetTriggerObjectCount()
|
||
|
EndEvent
|
||
|
EndState
|
||
|
|
||
|
State Down
|
||
|
Event onBeginState()
|
||
|
busy = True
|
||
|
PlayAnimation("Down")
|
||
|
activate(self)
|
||
|
Utility.Wait(TargetDelay)
|
||
|
; ;Debug.Trace("TargetDelay " + TargetDelay + " is up.")
|
||
|
; ;Debug.Trace("BiPressurePlate DownBeginState: " + objectsInTrigger)
|
||
|
if objectsInTrigger == 0
|
||
|
GoToState("Up")
|
||
|
EndIf
|
||
|
busy = False
|
||
|
EndEvent
|
||
|
|
||
|
Event OnTriggerEnter(objectReference triggerRef)
|
||
|
objectsInTrigger = self.GetTriggerObjectCount()
|
||
|
; ;Debug.Trace("BiPressurePlate: " + objectsInTrigger)
|
||
|
EndEvent
|
||
|
|
||
|
Event OnTriggerLeave(objectReference triggerRef)
|
||
|
objectsInTrigger = self.GetTriggerObjectCount()
|
||
|
; ;Debug.Trace("BiPressurePlate TriggerLeave: " + objectsInTrigger)
|
||
|
While (busy && objectsInTrigger == 0)
|
||
|
; Debug.Trace("While loop")
|
||
|
Utility.Wait(0.25)
|
||
|
EndWhile
|
||
|
if (!busy && objectsInTrigger == 0)
|
||
|
GoToState("Up")
|
||
|
EndIf
|
||
|
EndEvent
|
||
|
EndState
|