| 155 | } |
| 156 | |
| 157 | CMapLocation* CMapManager::AddUserLocation(const shared_str& spot_type, const shared_str& level_name, Fvector position) |
| 158 | { |
| 159 | u16 _id = Level().Server->PerformIDgen(0xffff); |
| 160 | CMapLocation* l = xr_new<CMapLocation>(spot_type.c_str(), _id, true); |
| 161 | l->InitUserSpot(level_name, position); |
| 162 | |
| 163 | // "KRodin: на данный момент юзерские метки используют дефицитные ID объектов. В конструктор класса CMapLocation можно смело отправлять u16(-1), |
| 164 | // а вот хранилище Locations() я бы трогать побоялся, т.к. не уверен, что из него не достают ID и что-то там с ним делают. В идеале конечно надо это всё перепилить. |
| 165 | |
| 166 | Locations().emplace_back(SLocationKey(spot_type, _id)); |
| 167 | Locations().back().location = l; |
| 168 | return l; |
| 169 | } |
| 170 | |
| 171 | void CMapManager::RemoveMapLocation(const shared_str& spot_type, u16 id) |
| 172 | { |
no test coverage detected