vimp-engine 0.22.0 → 0.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -218,9 +218,22 @@ class RoundManager {
|
|
|
218
218
|
// `_startRound` раздавал бы точки респауна карты каталога, то есть исходного
|
|
219
219
|
// размера, и расставлял всех по геометрии, которой в ядре уже нет
|
|
220
220
|
// (`@vimp-games/snakes`, `src/host/ArenaScaler.js`).
|
|
221
|
+
//
|
|
222
|
+
// Подменяются ОБЕ копии, и это не удобство, а исправление: `sendMap`
|
|
223
|
+
// отдаёт подключающемуся `_currentMapData`, то есть карту каталога — и
|
|
224
|
+
// клиент рисовал геометрию, которой в ядре уже нет, пока игра сама не
|
|
225
|
+
// пришлёт ему MAP_DATA. Между этими двумя кадрами он видит чужую границу.
|
|
226
|
+
//
|
|
227
|
+
// `mapData` приходит в КЛИЕНТСКОМ виде (несмасштабированные координаты плюс
|
|
228
|
+
// `scale`) — это тот же объект, который игра рассылает через `sendMap`, —
|
|
229
|
+
// поэтому масштабирование делается здесь, ровно как в `_prepareMapData`.
|
|
230
|
+
// Отдать `_scaledMapData` клиенту напрямую нельзя: клиент масштабирует сам
|
|
231
|
+
// (`client/main.js`, applyMapData), и при `scale !== 1` карта была бы
|
|
232
|
+
// умножена дважды.
|
|
221
233
|
overrideMapData(mapData) {
|
|
222
234
|
if (mapData) {
|
|
223
|
-
this.
|
|
235
|
+
this._currentMapData = mapData;
|
|
236
|
+
this._scaledMapData = scaleMapData(mapData);
|
|
224
237
|
}
|
|
225
238
|
}
|
|
226
239
|
|