void Map::Add(T *obj) { CellPair p = LeGACY::ComputeCellPair(obj->GetPositionX(), obj->GetPositionY()); assert(obj); if(p.x_coord >= TOTAL_NUMBER_OF_CELLS_PER_MAP || p.y_coord >= TOTAL_NUMBER_OF_CELLS_PER_MAP) { sLog.outError("Map::Add: Object " I64FMTD " have invalid coordinates X:%u Y:%u grid cell [%u,%u]", obj->GetGUID(), obj->GetPositionX(), obj->GetPositionY(), p.x_coord, p.y_coord); return; } Cell cell(p); EnsureGridCreated(GridPair(cell.GridX(), cell.GridY())); NGridType *grid = getNGrid(cell.GridX(), cell.GridY()); assert( grid != NULL ); AddToGrid(obj,grid,cell); obj->AddToWorld(); DEBUG_LOG("Object %u enters grid[%u,%u]", GUID_LOPART(obj->GetGUID()), cell.GridX(), cell.GridY()); UpdateObjectVisibility(obj,cell,p); AddNotifier(obj,cell,p); }
BOOL MainWindow::AfterCreated() { SetIcon((Util::GetAppPath() + L"/resources/icon/amao.ico").c_str()); CreateControls(); AddNotifier(this); return TRUE; }
void Map::Add(Player *player) { player->AddToWorld(); SendInitSelf(player); // update player state for other and vice-versa CellPair p = LeGACY::ComputeCellPair(player->GetPositionX(), player->GetPositionY()); Cell cell(p); EnsureGridLoadedForPlayer(cell, player, true); // TODO: FIX HERE UpdatePlayerVisibility(player, cell, p); //UpdateObjectsVisibilityFor(player, cell, p); AddNotifier(player, cell, p); // reinitialize reset time //InitResetTime(); }
CNotificationHelper::CNotificationHelper() { m_NotificationSwitchInterval = 0; m_NotificationSensorInterval = 12 * 3600; /* more notifiers can be added here */ AddNotifier(new CNotificationProwl()); AddNotifier(new CNotificationNma()); AddNotifier(new CNotificationPushbullet()); AddNotifier(new CNotificationPushover()); AddNotifier(new CNotificationPushalot()); AddNotifier(new CNotificationEmail()); AddNotifier(new CNotificationSMS()); AddNotifier(new CNotificationHTTP()); AddNotifier(new CNotificationKodi()); AddNotifier(new CNotificationLogitechMediaServer()); AddNotifier(new CNotificationGCM()); }