void CFlowNode_AISequenceAction_ApproachAndEnterVehicle::ProcessEvent(IFlowNode::EFlowEvent event, IFlowNode::SActivationInfo* pActInfo) { if (!pActInfo->pEntity) return; switch(event) { case eFE_Activate: { m_actInfo = *pActInfo; m_stopFlowGraphNodeFromGettingUpdatedWhenSequenceActionFinishesOrCancels = true; m_movementRequestID = MovementRequestID::Invalid(); if (IsPortActive(pActInfo, InputPort_Start)) { if (const AIActionSequence::SequenceId assignedSequenceId = GetAssignedSequenceId()) { gEnv->pAISystem->GetSequenceManager()->RequestActionStart(assignedSequenceId, pActInfo->myID); m_actInfo.pGraph->SetRegularlyUpdated(m_actInfo.myID, true); } } } break; } }
void CFlowNode_AISequenceAction_VehicleRotateTurret::ProcessEvent(IFlowNode::EFlowEvent event, IFlowNode::SActivationInfo* pActInfo) { if (!pActInfo->pEntity) return; switch(event) { case eFE_Activate: { m_actInfo = *pActInfo; m_stopFlowGraphNodeFromGettingUpdatedWhenSequenceActionFinishesOrCancels = true; m_pActionRotateTurret = NULL; if (IsPortActive(pActInfo, InputPort_Start)) { if (const AIActionSequence::SequenceId assignedSequenceId = GetAssignedSequenceId()) { gEnv->pAISystem->GetSequenceManager()->RequestActionStart(assignedSequenceId, pActInfo->myID); m_actInfo.pGraph->SetRegularlyUpdated(m_actInfo.myID, true); } } } break; case eFE_Update: { if (m_pActionRotateTurret) { float pitch, yaw; m_pActionRotateTurret->GetRemainingAnglesToAimGoalInDegrees(pitch, yaw); if (fabsf(pitch) <= m_pitchThreshold && fabs(yaw) <= m_yawThreshold) { FinishSequenceActionAndActivateOutputPort(OutputPort_Done); } } } break; } }
void CFlowNode_AISequenceAction_WeaponDrawFromInventory::ProcessEvent(EFlowEvent event, SActivationInfo* pActInfo) { if (!pActInfo->pEntity) return; switch(event) { case eFE_Activate: { m_actInfo = *pActInfo; if (IsPortActive(pActInfo, InputPort_Start)) { if (const AIActionSequence::SequenceId assignedSequenceId = GetAssignedSequenceId()) { gEnv->pAISystem->GetSequenceManager()->RequestActionStart(assignedSequenceId, m_actInfo.myID); } } } break; } }
void CryAction_AIActionSequenceFlowNodeBase::CancelSequenceAndActivateOutputPort(int port) { gEnv->pAISystem->GetSequenceManager()->CancelSequence(GetAssignedSequenceId()); SequenceActionFinishedOrCanceled(); ActivateOutput(&m_actInfo, port, true); }
void CryGame_AIActionSequenceFlowNodeBase::FinishSequenceActionAndActivateOutputPort(int port) { gEnv->pAISystem->GetSequenceManager()->ActionCompleted(GetAssignedSequenceId()); ActivateOutput(&m_actInfo, port, true); }