bool Raid::executeRaidEvent(RaidEvent* raidEvent) { if(!raidEvent->executeEvent()) return !resetRaid(false); RaidEvent* newRaidEvent = getNextRaidEvent(); if(!newRaidEvent) return !resetRaid(false); nextEvent = Scheduler::getInstance().addEvent(createSchedulerTask( std::max(RAID_MINTICKS, (int32_t)(newRaidEvent->getDelay() - raidEvent->getDelay())), boost::bind(&Raid::executeRaidEvent, this, newRaidEvent))); return true; }
void Raid::executeRaidEvent(RaidEvent* raidEvent) { if (raidEvent->executeEvent()) { nextEvent++; RaidEvent* newRaidEvent = getNextRaidEvent(); if (newRaidEvent) { uint32_t ticks = static_cast<uint32_t>(std::max<int32_t>(RAID_MINTICKS, newRaidEvent->getDelay() - raidEvent->getDelay())); nextEventEvent = g_scheduler.addEvent(createSchedulerTask(ticks, std::bind(&Raid::executeRaidEvent, this, newRaidEvent))); } else { resetRaid(); } } else { resetRaid(); } }
void Raid::executeRaidEvent(RaidEvent* raidEvent) { if(raidEvent->executeEvent()) { nextEvent++; RaidEvent* newRaidEvent = getNextRaidEvent(); if(newRaidEvent) { uint32_t ticks = (uint32_t)std::max(((uint32_t)RAID_MINTICKS), ((int32_t)newRaidEvent->getDelay() - raidEvent->getDelay())); nextEventEvent = g_scheduler.addEvent(createSchedulerTask(ticks, boost::bind(&Raid::executeRaidEvent, this, newRaidEvent))); } else resetRaid(); } else resetRaid(); }