From 2299a478bbbf451b3b33382751b66c153357c9a7 Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Fri, 7 Aug 2020 22:16:00 +0200 Subject: [PATCH] func_door_rotating: Handle trigger state (on/off/toggle). --- src/gs-entbase/server/func_door_rotating.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/gs-entbase/server/func_door_rotating.cpp b/src/gs-entbase/server/func_door_rotating.cpp index a9e86118..a8af0e97 100644 --- a/src/gs-entbase/server/func_door_rotating.cpp +++ b/src/gs-entbase/server/func_door_rotating.cpp @@ -196,7 +196,6 @@ void func_door_rotating::Away(void) RotToDest(m_vecPos2 * fDirection, Arrived); } -/* TODO: Handle state */ void func_door_rotating::Trigger(int state) { if (GetMaster() == FALSE) { @@ -208,12 +207,19 @@ void func_door_rotating::Trigger(int state) } m_flNextAction = time + m_flWait; - if ((m_iState == STATE_UP) || (m_iState == STATE_RAISED)) { + if (state == TRIG_TOGGLE) { + if ((m_iState == STATE_UP) || (m_iState == STATE_RAISED)) { + Back(); + return; + } else { + Away(); + } + } else if (state == TRIG_OFF) { Back(); - return; + } else if (state == TRIG_ON) { + Away(); } - Away(); if (m_flDelay) { CBaseTrigger::UseTargets_Delay(TRIG_TOGGLE, m_flDelay);