public LevelController(IConfig config, MapSerializationModel mapSerializationModel) { /* * Bootstrap simulation */ var levelContainer = LevelBootstrapper.CreateContainer(config); _graphicsResourceManager = levelContainer.Resolve <GraphicsResourceManager>(); _uiState = levelContainer.Resolve <UiStateModel>(); _updateController = levelContainer.Resolve <UpdateController>(); _overlayController = levelContainer.Resolve <OverlayController>(); _fieldController = levelContainer.Resolve <FieldController>(); var map = levelContainer.Resolve <MapModel>(); var mapLoader = levelContainer.Resolve <MapLoader>(); mapLoader.InitializeMap(map, mapSerializationModel); /* * Other initialization */ var simulationManager = levelContainer.Resolve <ISimulationManager>(); var simulationStateModel = levelContainer.Resolve <SimulationStateModel>(); _updateEventArgs = new UpdateEventArgs(simulationManager, simulationStateModel); }
public SimulationManager(UpdateController updateController, MapModel map, IAgentProvider agentProvider, IIndicatorRegistry indicatorRegistry) { _map = map ?? throw new ArgumentNullException(nameof(map)); _updateController = updateController ?? throw new ArgumentNullException(nameof(updateController)); _agentProvider = agentProvider ?? throw new ArgumentNullException(nameof(agentProvider)); _indicatorRegistry = indicatorRegistry ?? throw new ArgumentNullException(nameof(indicatorRegistry)); }