BasemapController
Uloga u sustavu
Switches or cross-fades between imported basemap types on all terrain tiles. Setup: 1. Add this component to any persistent GameObject. 2. Assign the CityDataset asset. 3. Optionally set Default Basemap Id to activate a specific layer on Start. Usage (runtime or editor scripts): controller.SwitchTo("roadmap"); // instant cut controller.TransitionTo("tron", 1.5f); // smooth crossfade Streaming integration: When TerrainStreamingController activates a tile, call basemapController.ApplyToTile(record) so the tile starts with the currently active basemap instead of the import default.
Uloga: Modul ZGConnect
Dizajnerska obrazloženja: Modul BasemapController izdvojen je radi odvajanja odgovornosti unutar ZG Connect pipeline-a. Implementacija slijedi editor-first pristup s eksplicitnim JSON modelima i determinističkim tile ID-evima u EPSG:3765 sustavu.
Pregled
Switches or cross-fades between imported basemap types on all terrain tiles. Setup: 1. Add this component to any persistent GameObject. 2. Assign the CityDataset asset. 3. Optionally set Default Basemap Id to activate a specific layer on Start. Usage (runtime or editor scripts): controller.SwitchTo("roadmap"); // instant cut controller.TransitionTo("tron", 1.5f); // smooth crossfade Streaming integration: When TerrainStreamingController activates a tile, call basemapController.ApplyToTile(record) so the tile starts with the currently active basemap instead of the import default.
Metode (9)
private void Start()
When TerrainStreamingController activates a tile, call basemapController.ApplyToTile(record) so the tile starts with the currently active basemap instead of the import default.
Potpis
private void Start()
Povratna vrijednost: void — nema povratne vrijednosti.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Napomene: Unity lifecycle callback — poziva Unity runtime/editor.
Poziva: SwitchTo
Pozivatelji: —
public void SwitchTo(string basemapId)
The basemap id that is currently active (or being transitioned to).</summary> public string ActiveBasemapId { get; private set; } // ────────────────────────────────────────────────────────────────────── private void Start() { if (!string.IsNullOrEmpty(defaultBasemapId)) SwitchTo(defaultBasemapId); } // ── Public API ───────────────────────────────────────────────────────── <summary> Instantly cuts all active tiles to <paramref name="basemapId"/>. Stops any in-progress transition.
Parametri
| Ime | Opis |
|---|---|
basemapId | Tip: string |
Povratna vrijednost: void — nema povratne vrijednosti.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Iteracija kroz kolekciju ili niz elemenata.
Side-effecti
- Ispis u Unity konzolu.
Poziva: GetLayerIndex, ApplyUniform
Pozivatelji: Start, TransitionTo
public void TransitionTo(string basemapId, float duration)
Smoothly cross-fades all active tiles from the current basemap to <paramref name="basemapId"/> over <paramref name="duration"/> seconds. Pass duration = 0 to cut immediately (same as SwitchTo).
Parametri
| Ime | Opis |
|---|---|
basemapId | Tip: string |
duration | Tip: float |
Povratna vrijednost: void — nema povratne vrijednosti.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
Side-effecti
- Ispis u Unity konzolu.
Poziva: SwitchTo, GetLayerIndex, TransitionCoroutine
Pozivatelji: —
public void ApplyToTile(CityTileRecord rec)
Applies the currently active basemap to a single tile record. Call this when a tile is freshly enabled by TerrainStreamingController so it adopts the active basemap instead of the import default.
Parametri
| Ime | Opis |
|---|---|
rec | Tip: CityTileRecord |
Povratna vrijednost: void — nema povratne vrijednosti.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: GetLayerIndex, ApplyUniform
Pozivatelji: —
private int GetLayerIndex(string basemapId)
Applies the currently active basemap to a single tile record. Call this when a tile is freshly enabled by TerrainStreamingController so it adopts the active basemap instead of the import default.
Parametri
| Ime | Opis |
|---|---|
basemapId | Tip: string |
Povratna vrijednost: int — povratna vrijednost prema potpisu.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Iteracija kroz kolekciju ili niz elemenata.
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: SwitchTo, TransitionTo, ApplyToTile
private static void ApplyUniform(CityTileRecord rec, int activeIndex)
Metoda ApplyUniform klase BasemapController — dio ZG Connect modula BasemapController. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Parametri
| Ime | Opis |
|---|---|
rec | Tip: CityTileRecord |
activeIndex | Tip: int |
Povratna vrijednost: void — nema povratne vrijednosti.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Iteracija kroz kolekciju ili niz elemenata.
Side-effecti
- Unity Terrain API.
Poziva: GetTerrainData
Pozivatelji: SwitchTo, ApplyToTile, TransitionCoroutine
private static void ApplyBlended(CityTileRecord rec, int fromIndex, int toIndex, float t)
Metoda ApplyBlended klase BasemapController — dio ZG Connect modula BasemapController. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Parametri
| Ime | Opis |
|---|---|
rec | Tip: CityTileRecord |
fromIndex | Tip: int |
toIndex | Tip: int |
t | Tip: float |
Povratna vrijednost: void — nema povratne vrijednosti.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Iteracija kroz kolekciju ili niz elemenata.
Side-effecti
- Unity Terrain API.
Poziva: GetTerrainData
Pozivatelji: TransitionCoroutine
private static TerrainData GetTerrainData(CityTileRecord rec)
Metoda GetTerrainData klase BasemapController — dio ZG Connect modula BasemapController. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Parametri
| Ime | Opis |
|---|---|
rec | Tip: CityTileRecord |
Povratna vrijednost: TerrainData — povratna vrijednost prema potpisu.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Unity Terrain API.
Poziva: —
Pozivatelji: ApplyUniform, ApplyBlended
private IEnumerator TransitionCoroutine(
Metoda TransitionCoroutine klase BasemapController — dio ZG Connect modula BasemapController. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Potpis
private IEnumerator TransitionCoroutine(
Povratna vrijednost: IEnumerator — povratna vrijednost prema potpisu.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Iteracija kroz kolekciju ili niz elemenata.
- Vraća rezultat pozivatelju nakon obrade.
- Coroutines — dijeli posao kroz više frameova.
Side-effecti
- Asinkrono izvođenje kroz coroutine (yield return).
Poziva: ApplyBlended, ApplyUniform
Pozivatelji: TransitionTo