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 |