Интеграция 3D: сохранение в первом кадре не затирает 3D-город; Ратуша на карте мира -- из последнего открытого города

CaptureState до ApplySaved отдаёт загруженное состояние (поход, вернувшийся офлайн, сохранял пустой город).
ISettlement.TownHallLevel вне города -- уровень Ратуши последнего открытого города (2D или 3D).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Alexander
2026-11-05 16:22:23 +01:00
co-authored by Claude Opus 5.5
parent a03098ffe0
commit 56b66af0c3
3 changed files with 17 additions and 2 deletions
@@ -135,6 +135,9 @@ public class City3DController : MonoBehaviour, City3DSave.ILive
public City3DSave.Data CaptureState()
{
// Сохранённый город ещё не поставлен (сохранение в первом кадре -- например, поход вернулся офлайн):
// отдаём то, что было загружено, иначе пустая сцена затёрла бы весь 3D-город
if (!stateApplied || map == null) return City3DSave.Cached;
var d = new City3DSave.Data { nextId = nextBuildingId };
foreach (var b in map.Buildings)
{