// owner->curBuild can remain NULL for several frames after calling // QueueBuild(); hence we need a callback or listen for an event to // detect when the build-process actually finished // // NOTE: // only called if Factory::QueueBuild returned FACTORY_NEXT_BUILD_ORDER // (meaning the order was not rejected and the callback was installed) void FactoryFinishBuildCallBack(CFactory* factory, const Command& command) { CFactoryCAI* cai = dynamic_cast<CFactoryCAI*>(factory->commandAI); CFactoryCAI::BuildOption& bo = cai->buildOptions[command.GetID()]; cai->DecreaseQueueCount(command, bo, true); }