void TowerDefenseInstanceScript::TowerDefenseMapInstanceScript::SetupEventData() { Player *player = GetPlayer(); if(!player) return; SetEventId(GenerateEventId()); // set the event id SetPlayerGUID(player->GetGUIDLow()); // set the player guid SetCurrentWaveId(0); // set the current wave id to zero SetBaseHealth(100); // set the base health to 100 SetResources(GetStartResources()); // set the resources that the player has to starter resources SetUnits(0); // set the number of spawned attackers to zero SetFinished(false); // set the event to unfinished SetEventStatus(TD_EVENT_STATUS_TELEPORT); // Set the event status to started and not running a wave Events.Reset(); }
void SubscriptionServiceInternal::TriggerEvent(NodeId node, Event event) { boost::shared_lock<boost::shared_mutex> lock(DbMutex); //A new id must be generated every time we trigger an event, //if user have not set it manually we force something if (event.EventId.Data.empty()) { event.EventId = GenerateEventId(); } for (auto sub : SubscriptionsMap) { sub.second->TriggerEvent(node, event); } }