MCPcopy Create free account
hub / github.com/BohemiaInteractive/CWR / FailCommand

Function FailCommand

engine/Poseidon/AI/AISubgroupFSM.cpp:2508–2567  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2506}
2507
2508void FailCommand(AISubgroupContext* context)
2509{
2510 AI_ERROR(context->_subgroup);
2511 Command* cmd = context->_task;
2512 AI_ERROR(cmd);
2513 FSM* fsm = context->_fsm;
2514 AI_ERROR(fsm);
2515
2516 if (fsm)
2517 {
2518 switch (cmd->_message)
2519 {
2520 case Command::NoCommand:
2521 break;
2522 case Command::Wait:
2523 fsm->SetState(SWaitFail, context);
2524 break;
2525 case Command::Attack:
2526#if ENABLE_HOLDFIRE_FIX
2527 case Command::AttackAndFire:
2528 fsm->SetState(SAttackFail, context);
2529 break;
2530#endif
2531 case Command::Hide:
2532 fsm->SetState(SHideFail, context);
2533 break;
2534 case Command::Move:
2535 fsm->SetState(SMoveFail, context);
2536 break;
2537 case Command::Heal:
2538 case Command::Repair:
2539 case Command::Refuel:
2540 case Command::Rearm:
2541 case Command::Action:
2542 fsm->SetState(SSupplyFail, context);
2543 break;
2544 case Command::Support:
2545 fsm->SetState(SSupportFail, context);
2546 break;
2547 case Command::Join:
2548 fsm->SetState(SJoinFail, context);
2549 break;
2550 case Command::GetIn:
2551 fsm->SetState(SGetInFail, context);
2552 break;
2553 case Command::Fire:
2554 fsm->SetState(SFireFail, context);
2555 break;
2556 case Command::GetOut:
2557 fsm->SetState(SGetOutFail, context);
2558 break;
2559 case Command::Stop:
2560 fsm->SetState(SStopFail, context);
2561 break;
2562 case Command::Expect:
2563 fsm->SetState(SExpectFail, context);
2564 break;
2565 }

Callers 1

FailCommandMethod · 0.85

Calls 1

SetStateMethod · 0.45

Tested by

no test coverage detected