Export a Import

Datum 30. March 2026 · MyKE Edit Upravit

Export a Import#

Export a Import jsou funkce pro ukládání a načítání vybraných herních objektů. Jedná se o nástroje určené především pro správce serveru.

Export#

Export funguje podobně jako uložení (save), ale zachovává pouze vybranou sadu objektů. Reference na Thingy, GameAccounty a ThingDefy se uloží jen jako odkazy, zatímco reference na jiné objekty se uloží jako odkazy a zároveň se uloží i odkazovaný objekt.

Export se skládá ze dvou fází:

  1. Určení objektů k uložení – buď manuálně, nebo pomocí C# skriptové funkce
  2. Spuštění exportu – zavolání ExportImport.Export(), které vytvoří soubor, zapíše exportované objekty a připojí značku [EOF]

Operace exportu je bezpečná, protože nemění stav herního světa.

Import#

Import se podobá načítání (load), ale probíhá za běhu serveru. Před ním i po něm musí být svět ve validním stavu, proto se jedná o potenciálně nebezpečnou operaci.

Import probíhá v sedmi fázích:

  1. Výběr souboru – pevně zadaný nebo manuální vstup
  2. Parsování souboru – zavolání ExportImport.Import(), které zpracuje soubor na instance PropsSection
  3. Přiřazení instancí – přiřazení k ImportHelper objektům přes označené statické metody
  4. Ověření – kontrola, že všechny ImportHelpery mají přiřazené instance
  5. Volání Import() – spuštění metod Import() na instancích
  6. Odložené metody – spuštění přes DelayedResolver.ResolveAll()
  7. Dokončení – spuštění označených [ImportingFinishedMethod] statických metod

Jakákoliv chyba ve fázích 5–7 znamená okamžité nucené shození serveru.

Související články#