public override void OnLevelLoaded(LoadMode mode) { if (mode == LoadMode.NewGame || mode == LoadMode.LoadGame) { Redirector.PerformRedirections((ulong)PathfindingOptions); } }
public void OnEnabled() { sm_optionsManager.LoadOptions(); if (!sm_redirectionInstalled) { Redirector.PerformRedirections(); sm_redirectionInstalled = true; } ExtendedPathManager.DefinePathFinding <TPPPathFind>(); }
public void Init() { _instance = this; STORAGE_MANIFEST_PATH = Path.Combine(Util.getFilesFolder(), STORAGE_MANIFEST_PATH); Controller = new StorageController(); allResources = StorageMapping.GetAllResources(); allResourceTypes = allResources.Select(x => x.Key.GetType()).ToArray(); allIcons = ContentManager.LoadContent(allResources.Keys.ToArray()); Redirector.PerformRedirections(); UnityEngine.Debug.Log("[MOD] StorageManager activated"); }
public static RealTimeCore Run(RealTimeConfig config, string rootPath, LocalizationProvider localizationProvider) { if (config == null) { throw new ArgumentNullException(nameof(config)); } if (string.IsNullOrEmpty(rootPath)) { throw new ArgumentException("The root path cannot be null or empty string", nameof(rootPath)); } if (localizationProvider == null) { throw new ArgumentNullException(nameof(localizationProvider)); } try { int redirectedCount = Redirector.PerformRedirections(); Log.Info($"Successfully redirected {redirectedCount} methods."); } catch (Exception ex) { Log.Error("Failed to perform method redirections: " + ex.Message); return(null); } var timeAdjustment = new TimeAdjustment(); DateTime gameDate = timeAdjustment.Enable(); var timeInfo = new TimeInfo(); var buildingManager = new BuildingManagerConnection(); var simulationManager = new SimulationManagerConnection(); var gameConnections = new GameConnections <Citizen>( timeInfo, new CitizenConnection(), new CitizenManagerConnection(), buildingManager, simulationManager, new TransferManagerConnection()); var eventManager = new RealTimeEventManager( config, CityEventsLoader.Istance, new EventManagerConnection(), buildingManager, simulationManager, timeInfo); SetupCustomAI(timeInfo, config, gameConnections, eventManager); CityEventsLoader.Istance.ReloadEvents(rootPath); var customTimeBar = new CustomTimeBar(); customTimeBar.Enable(gameDate); customTimeBar.CityEventClick += CustomTimeBarCityEventClick; var result = new RealTimeCore(timeAdjustment, customTimeBar, eventManager); eventManager.EventsChanged += result.CityEventsChanged; SimulationHandler.NewDay += result.CityEventsChanged; SimulationHandler.DayTimeSimulation = new DayTimeSimulation(); SimulationHandler.EventManager = eventManager; SimulationHandler.CommercialAI = new CommercialAI(timeInfo, buildingManager); RealTimeStorage.Instance.GameSaving += result.GameSaving; result.storageData.Add(eventManager); result.LoadStorageData(); result.Translate(localizationProvider); return(result); }
public void Install() { Redirector.PerformRedirections(); }