Ejemplo n.º 1
0
        private void RegisterViewsAndServices()
        {
            _container.RegisterInstance(GameOptionsManager.LoadDefaults());

            _container.RegisterType <IScheduler, EventLoopScheduler>(new ContainerControlledLifetimeManager());
            _container.RegisterType <INavigationService, NavigationService>(new ContainerControlledLifetimeManager());

            _container.Resolve <INavigationService>();

            _container.RegisterType <IGameObjectIDService, GameObjectIDService>(new ContainerControlledLifetimeManager());
            _container.RegisterType <ISupremacyCallback, GameClientCallback>(new TransientLifetimeManager());
            _container.RegisterType <IGameClient, GameClient>(new TransientLifetimeManager());
            _container.RegisterType <IGameServer, GameServer>(new TransientLifetimeManager());
            _container.RegisterType <IPlayerOrderService, PlayerOrderService>(new ExternallyControlledLifetimeManager());
            //_container.RegisterType<IPlayerTarget1Service, PlayerTarget1Service>(new ExternallyControlledLifetimeManager());
            //_container.RegisterType<IPlayerTarget2Service, PlayerTarget2Service>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <IGameController, GameController>(new TransientLifetimeManager());
            //_container.RegisterInstance<IScriptService>(new ScriptService());*/

            _container.RegisterType <StatusWindow>(new ContainerControlledLifetimeManager());
            _container.RegisterInstance(new CombatWindow());

            _container.RegisterType <GalaxyScreenPresentationModel>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <ColonyScreenPresentationModel>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <DiplomacyScreenViewModel>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <ScienceScreenPresentationModel>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <AssetsScreenPresentationModel>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <SystemAssaultScreenViewModel>(new ContainerControlledLifetimeManager());

            _container.RegisterType <IGalaxyScreenView, GalaxyScreenView>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <IColonyScreenView, ColonyScreenView>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <INewDiplomacyScreenView, NewDiplomacyScreen>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <IScienceScreenView, ResearchScreen>(new ExternallyControlledLifetimeManager());
            //_container.RegisterType<IIntelScreenView, IntelScreen>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <IAssetsScreenView, AssetsScreen>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <ILobbyScreenView, MultiplayerLobby>(new ContainerControlledLifetimeManager());
            _container.RegisterType <ISystemAssaultScreenView, SystemAssaultScreen>(new ContainerControlledLifetimeManager());

            _container.RegisterType <IGalaxyScreenPresenter, GalaxyScreenPresenter>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <IColonyScreenPresenter, ColonyScreenPresenter>(new ExternallyControlledLifetimeManager());
            //_container.RegisterType<IDiplomacyScreenPresenter, DiplomacyScreenPresenter>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <IScienceScreenPresenter, ScienceScreenPresenter>(new ExternallyControlledLifetimeManager());
            _container.RegisterType <IAssetsScreenPresenter, AssetsScreenPresenter>(new ExternallyControlledLifetimeManager());

            _regionViewRegistry.RegisterViewWithRegion(ClientRegions.GameScreens, StandardGameScreens.MenuScreen, typeof(MenuScreen));
            _regionViewRegistry.RegisterViewWithRegion(ClientRegions.GameScreens, StandardGameScreens.MultiplayerLobby, typeof(ILobbyScreenView));

            // first is first shown in Options
            _regionViewRegistry.RegisterViewWithRegion(ClientRegions.OptionsPages, typeof(AllOptionsPage));
            //_regionViewRegistry.RegisterViewWithRegion(ClientRegions.OptionsPages, typeof(SecondOptionsPage));
            _regionViewRegistry.RegisterViewWithRegion(ClientRegions.OptionsPages, typeof(TracesOptionsPage));
            //_regionViewRegistry.RegisterViewWithRegion(ClientRegions.OptionsPages, typeof(AudioOptionsPage));   // remove outcomment to be shown again
            //_regionViewRegistry.RegisterViewWithRegion(ClientRegions.OptionsPages, typeof(GraphicsOptionsPage));  // remove outcomment to be shown again
            //_regionViewRegistry.RegisterViewWithRegion(ClientRegions.OptionsPages, typeof(GeneralOptionsPage));
            //_regionViewRegistry.RegisterViewWithRegion(ClientRegions.OptionsPages, typeof(AllOptionsPage));

            _regionViewRegistry.RegisterViewWithRegion(CommonGameScreenRegions.PlanetsView, typeof(StarSystemPanel));

            _regionViewRegistry.RegisterViewWithRegion(GalaxyScreenRegions.EmpireOverview, typeof(EmpireInfoView));
            _regionViewRegistry.RegisterViewWithRegion(GalaxyScreenRegions.EmpireResources, typeof(EmpireResourcesView));
            _regionViewRegistry.RegisterViewWithRegion(GalaxyScreenRegions.GalaxyGrid, typeof(GalaxyGridView));
            _regionViewRegistry.RegisterViewWithRegion(GalaxyScreenRegions.TradeRouteList, typeof(TradeRouteListView));
            _regionViewRegistry.RegisterViewWithRegion(GalaxyScreenRegions.TaskForceList, typeof(TaskForceListView));
            _regionViewRegistry.RegisterViewWithRegion(GalaxyScreenRegions.AssignedShipList, typeof(AssignedShipListView));
            _regionViewRegistry.RegisterViewWithRegion(GalaxyScreenRegions.AvailableShipList, typeof(AvailableShipListView));
            _regionViewRegistry.RegisterViewWithRegion(GalaxyScreenRegions.ShipStats, typeof(ShipInfoPanel));

            _regionViewRegistry.RegisterViewWithRegion(ColonyScreenRegions.ColonyInfo, ColonyScreenRegions.ColonyInfo, typeof(ColonyInfoView));
            _regionViewRegistry.RegisterViewWithRegion(ColonyScreenRegions.ProductionManagement, ColonyScreenRegions.ProductionManagement, typeof(SystemProductionPanel));
            _regionViewRegistry.RegisterViewWithRegion(ColonyScreenRegions.PlanetaryBuildQueue, ColonyScreenRegions.PlanetaryBuildQueue, typeof(ColonyPlanetaryBuildQueueView));
            _regionViewRegistry.RegisterViewWithRegion(ColonyScreenRegions.PlanetaryBuildList, ColonyScreenRegions.PlanetaryBuildList, typeof(ColonyPlanetaryBuildListView));
            _regionViewRegistry.RegisterViewWithRegion(ColonyScreenRegions.SelectedPlanetaryBuildProjectInfo, ColonyScreenRegions.SelectedPlanetaryBuildProjectInfo, typeof(ColonyBuildProjectInfoView));
            _regionViewRegistry.RegisterViewWithRegion(ColonyScreenRegions.ShipyardBuildQueue, ColonyScreenRegions.ShipyardBuildQueue, typeof(ColonyShipyardBuildQueueView));
            _regionViewRegistry.RegisterViewWithRegion(ColonyScreenRegions.ShipyardBuildList, ColonyScreenRegions.ShipyardBuildList, typeof(ColonyShipyardBuildListView));
            _regionViewRegistry.RegisterViewWithRegion(ColonyScreenRegions.SelectedShipyardBuildProjectInfo, ColonyScreenRegions.SelectedShipyardBuildProjectInfo, typeof(ColonyBuildProjectInfoView));
            _regionViewRegistry.RegisterViewWithRegion(ColonyScreenRegions.StructureList, ColonyScreenRegions.StructureList, typeof(ColonyStructureListView));
        }
Ejemplo n.º 2
0
        private void ExecuteHostMultiplayerGameCommand(string playerName)
        {
            var initData = GameInitData.CreateMultiplayerGame(GameOptionsManager.LoadDefaults(), playerName);

            RunGameController(gameController => gameController.RunLocal(initData), true);
        }