本文整理汇总了C++中Raid::getNextRaidEvent方法的典型用法代码示例。如果您正苦于以下问题:C++ Raid::getNextRaidEvent方法的具体用法?C++ Raid::getNextRaidEvent怎么用?C++ Raid::getNextRaidEvent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Raid
的用法示例。
在下文中一共展示了Raid::getNextRaidEvent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: forceRaid
void Commands::forceRaid(Player& player, const std::string& param)
{
Raid* raid = Raids::getInstance()->getRaidByName(param);
if (!raid || !raid->isLoaded()) {
player.sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "No such raid exists.");
return;
}
if (Raids::getInstance()->getRunning()) {
player.sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Another raid is already being executed.");
return;
}
Raids::getInstance()->setRunning(raid);
RaidEvent* event = raid->getNextRaidEvent();
if (!event) {
player.sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "The raid does not contain any data.");
return;
}
raid->setState(RAIDSTATE_EXECUTING);
uint32_t ticks = event->getDelay();
if (ticks > 0) {
g_scheduler.addEvent(createSchedulerTask(ticks, std::bind(&Raid::executeRaidEvent, raid, event)));
} else {
g_dispatcher.addTask(createTask(std::bind(&Raid::executeRaidEvent, raid, event)));
}
player.sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Raid started.");
}
示例2: forceRaid
bool Commands::forceRaid(Creature* creature, const std::string& cmd, const std::string& param)
{
Player* player = creature->getPlayer();
if(!player){
return false;
}
Raid* raid = Raids::getInstance()->getRaidByName(param);
if(!raid || !raid->isLoaded()){
player->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, "No such raid exists.");
return false;
}
if(Raids::getInstance()->getRunning()){
player->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, "Another raid is already being executed.");
return false;
}
Raids::getInstance()->setRunning(raid);
RaidEvent* event = raid->getNextRaidEvent();
if(!event){
player->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, "The raid does not contain any data.");
return false;
}
raid->setState(RAIDSTATE_EXECUTING);
uint32_t ticks = event->getDelay();
if(ticks > 0){
Scheduler::getScheduler().addEvent(createSchedulerTask(ticks,
boost::bind(&Raid::executeRaidEvent, raid, event)));
}
else{
Dispatcher::getDispatcher().addTask(createTask(
boost::bind(&Raid::executeRaidEvent, raid, event)));
}
player->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, "Raid started.");
return true;
}