private static void SetupCustomAI( TimeInfo timeInfo, RealTimeConfig config, GameConnections <Citizen> gameConnections, RealTimeEventManager eventManager) { var realTimeResidentAI = new RealTimeResidentAI <ResidentAI, Citizen>( config, gameConnections, ResidentAIHook.GetResidentAIConnection(), eventManager); ResidentAIHook.RealTimeAI = realTimeResidentAI; var realTimeTouristAI = new RealTimeTouristAI <TouristAI, Citizen>( config, gameConnections, TouristAIHook.GetTouristAIConnection(), eventManager); TouristAIHook.RealTimeAI = realTimeTouristAI; var realTimePrivateBuildingAI = new RealTimePrivateBuildingAI( config, timeInfo, new ToolManagerConnection()); PrivateBuildingAIHook.RealTimeAI = realTimePrivateBuildingAI; }
private static bool SetupCustomAI( TimeInfo timeInfo, RealTimeConfig config, GameConnections <Citizen> gameConnections, RealTimeEventManager eventManager) { ResidentAIConnection <ResidentAI, Citizen> residentAIConnection = ResidentAIPatch.GetResidentAIConnection(); if (residentAIConnection == null) { return(false); } var spareTimeBehavior = new SpareTimeBehavior(config, timeInfo); var realTimeResidentAI = new RealTimeResidentAI <ResidentAI, Citizen>( config, gameConnections, residentAIConnection, eventManager, spareTimeBehavior); ResidentAIPatch.RealTimeAI = realTimeResidentAI; SimulationHandler.CitizenProcessor = new CitizenProcessor(realTimeResidentAI, spareTimeBehavior); TouristAIConnection <TouristAI, Citizen> touristAIConnection = TouristAIPatch.GetTouristAIConnection(); if (touristAIConnection == null) { return(false); } var realTimeTouristAI = new RealTimeTouristAI <TouristAI, Citizen>( config, gameConnections, touristAIConnection, eventManager, spareTimeBehavior); TouristAIPatch.RealTimeAI = realTimeTouristAI; var realTimePrivateBuildingAI = new RealTimePrivateBuildingAI( config, timeInfo, gameConnections.BuildingManager, new ToolManagerConnection()); BuildingAIPatches.RealTimeAI = realTimePrivateBuildingAI; return(true); }