class ActionInteractLoopBaseCB : ActionInteractBaseCB { bool CancelCondition() { if ( !m_ActionData ) { return DefaultCancelCondition(); } //SetCommand(DayZPlayerConstants.CMD_ACTIONINT_ACTIONLOOP); //Print("cancel condition enabled: " + GetState().ToString() ); if ( !m_Interrupted && (GetState() == STATE_LOOP_LOOP || GetState() == STATE_LOOP_LOOP2) ) { AnimatedActionBase action = AnimatedActionBase.Cast(m_ActionData.m_Action); action.Do(m_ActionData,m_ActionData.m_State); } return DefaultCancelCondition(); } override void CreateActionComponent() { m_ActionData.m_ActionComponent = new CAInteract; } override void InitActionComponent() { super.InitActionComponent(); EnableCancelCondition(true); } }; class ActionInteractLoopBase : ActionInteractBase { void ActionInteractLoopBase() { m_CallbackClass = ActionInteractLoopBaseCB; m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT; } };