BasemapController

Runtime/BasemapController.cs · 191 linija · ZGConnect

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.

ADR-015, ADR-016 Kronologija

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.

Development · Changelog

Metode (9)

private void Start()

Linija 36 · klasa BasemapController

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

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.

Side-effecti

Napomene: Unity lifecycle callback — poziva Unity runtime/editor.

Poziva: SwitchTo

Pozivatelji:

public void SwitchTo(string basemapId)

Linija 48 · klasa BasemapController

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

ImeOpis
basemapIdTip: string

Povratna vrijednost: void — nema povratne vrijednosti.

Algoritam

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Iteracija kroz kolekciju ili niz elemenata.

Side-effecti

Poziva: GetLayerIndex, ApplyUniform

Pozivatelji: Start, TransitionTo

public void TransitionTo(string basemapId, float duration)

Linija 71 · klasa BasemapController

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

ImeOpis
basemapIdTip: string
durationTip: float

Povratna vrijednost: void — nema povratne vrijednosti.

Algoritam

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.

Side-effecti

Poziva: SwitchTo, GetLayerIndex, TransitionCoroutine

Pozivatelji:

public void ApplyToTile(CityTileRecord rec)

Linija 93 · klasa BasemapController

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

ImeOpis
recTip: CityTileRecord

Povratna vrijednost: void — nema povratne vrijednosti.

Algoritam

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.

Side-effecti

Poziva: GetLayerIndex, ApplyUniform

Pozivatelji:

private int GetLayerIndex(string basemapId)

Linija 102 · klasa BasemapController

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

ImeOpis
basemapIdTip: string

Povratna vrijednost: int — povratna vrijednost prema potpisu.

Algoritam

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Iteracija kroz kolekciju ili niz elemenata.
  3. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Poziva:

Pozivatelji: SwitchTo, TransitionTo, ApplyToTile

private static void ApplyUniform(CityTileRecord rec, int activeIndex)

Linija 112 · klasa BasemapController

Metoda ApplyUniform klase BasemapController — dio ZG Connect modula BasemapController. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.

Parametri

ImeOpis
recTip: CityTileRecord
activeIndexTip: int

Povratna vrijednost: void — nema povratne vrijednosti.

Algoritam

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Iteracija kroz kolekciju ili niz elemenata.

Side-effecti

Poziva: GetTerrainData

Pozivatelji: SwitchTo, ApplyToTile, TransitionCoroutine

private static void ApplyBlended(CityTileRecord rec, int fromIndex, int toIndex, float t)

Linija 130 · klasa BasemapController

Metoda ApplyBlended klase BasemapController — dio ZG Connect modula BasemapController. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.

Parametri

ImeOpis
recTip: CityTileRecord
fromIndexTip: int
toIndexTip: int
tTip: float

Povratna vrijednost: void — nema povratne vrijednosti.

Algoritam

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Iteracija kroz kolekciju ili niz elemenata.

Side-effecti

Poziva: GetTerrainData

Pozivatelji: TransitionCoroutine

private static TerrainData GetTerrainData(CityTileRecord rec)

Linija 155 · klasa BasemapController

Metoda GetTerrainData klase BasemapController — dio ZG Connect modula BasemapController. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.

Parametri

ImeOpis
recTip: CityTileRecord

Povratna vrijednost: TerrainData — povratna vrijednost prema potpisu.

Algoritam

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Poziva:

Pozivatelji: ApplyUniform, ApplyBlended

private IEnumerator TransitionCoroutine(

Linija 162 · klasa BasemapController

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

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Iteracija kroz kolekciju ili niz elemenata.
  3. Vraća rezultat pozivatelju nakon obrade.
  4. Coroutines — dijeli posao kroz više frameova.

Side-effecti

Poziva: ApplyBlended, ApplyUniform

Pozivatelji: TransitionTo