public void Init(IModApi modAPI) { ModApi = modAPI; ModApi.Log("EmpyrionScripting Mod started: IModApi"); try { SetupHandlebarsComponent(); SaveGameModPath = Path.Combine(ModApi.Application?.GetPathFor(AppFolder.SaveGame), "Mods", EmpyrionConfiguration.ModName); ModApi.Application.GameEntered += Application_GameEntered; LoadConfiguration(); SaveGamesScripts = new SaveGamesScripts(modAPI) { SaveGameModPath = SaveGameModPath }; SaveGamesScripts.ReadSaveGamesScripts(); TaskTools.Log = ModApi.LogError; StaticCsCompiler.CsCompiler.Log = Log; CsCompiler = new CsCompiler.CsCompiler(SaveGameModPath); CsCompiler.ConfigurationChanged += CsCompiler_ConfigurationChanged; ModApi.Application.OnPlayfieldLoaded += Application_OnPlayfieldLoaded; ModApi.Application.OnPlayfieldUnloading += Application_OnPlayfieldUnloading; StopScriptsEvent += (S, E) => { PlayfieldData?.Values.ForEach(P => { ModApi.Log($"StopScriptsEvent: ({P.PlayfieldName}) {(P.PauseScripts ? "always stopped" : "scripts running")}"); P.PauseScripts = true; }); }; StartAllScriptsForPlayfieldServer(); } catch (Exception error) { ModApi.LogError($"EmpyrionScripting Mod init finish: {error}"); } ModApi.Log("EmpyrionScripting Mod init finish"); }
public void Init(IModApi modAPI) { ModApi = modAPI; ModApi.Log("EmpyrionScripting Mod started: IModApi"); try { SetupHandlebarsComponent(); Localization = new Localization(ModApi.Application?.GetPathFor(AppFolder.Content)); ItemInfos = new ItemInfos(ModApi.Application?.GetPathFor(AppFolder.Content), Localization); SaveGameModPath = Path.Combine(ModApi.Application?.GetPathFor(AppFolder.SaveGame), "Mods", EmpyrionConfiguration.ModName); LoadConfiguration(); SaveGamesScripts = new SaveGamesScripts(modAPI) { SaveGameModPath = SaveGameModPath }; SaveGamesScripts.ReadSaveGamesScripts(); TaskTools.Log = ModApi.LogError; ModApi.Application.OnPlayfieldLoaded += Application_OnPlayfieldLoaded; ModApi.Application.OnPlayfieldUnloaded += Application_OnPlayfieldUnloaded; StopScriptsEvent += (S, E) => { ModApi.Log($"StopScriptsEvent: {(PauseScripts ? "always stopped" : "scripts running")}"); PauseScripts = true; }; StartAllScriptsForPlayfieldServer(); } catch (Exception error) { ModApi.LogError($"EmpyrionScripting Mod init finish: {error}"); } ModApi.Log("EmpyrionScripting Mod init finish"); }