public PlayableGameState(MessageHandlerID messageHandlerId, IClientPlayerInfoManager clientPlayerInfoManager,
                                 INetworkingService networkingService,
                                 CollisionManager collisionManager,
                                 PhysicsManager physicsManager,
                                 PlayerShipManager playerShipManager,
                                 ProjectileManager projectileManager,
                                 SelectionManager selectionManager,
                                 ClientShipManager clientShipManager,
                                 SimulationManager simulationManager,
                                 StructureFactoryManager structureFactoryManager,
                                 WarpHoleManager warpholeManager,
                                 TeamManager teamManager,
                                 TargetingService targetingService,
                                 FloatyAreaObjectManager floatyAreaObjectManager,
                                 MessageService_ToServer messageService,
                                 IStructureManager structureManager,
                                 GameStateType stateType
                                 )
            : base(messageHandlerId, clientPlayerInfoManager, networkingService, messageService, playerShipManager, stateType)
        {
            _collisionManager        = collisionManager;
            _physicsManager          = physicsManager;
            _projectileManager       = projectileManager;
            _selectionManager        = selectionManager;
            _clientShipManager       = clientShipManager;
            _simulationManager       = simulationManager;
            _structureFactory        = structureFactoryManager;
            _warpholeManager         = warpholeManager;
            _teamManager             = teamManager;
            _targetingService        = targetingService;
            _floatyAreaObjectManager = floatyAreaObjectManager;
            StructureManager         = structureManager;

            _networkingService.RegisterMessageHandler(this, _playableStateManager_MessageReceived);
        }
 public PlayableGameStateClient(MessageHandlerID messageHandlerId,
                                IClientPlayerInfoManager clientPlayerInfoManager,
                                CollisionManager collisionManager,
                                IGlobalGameUISingleton globalGameUiSingleton,
                                INetworkingService networkingService,
                                PhysicsManager physicsManager,
                                PlayerShipManager playerShipManager,
                                ProjectileManager projectileManager,
                                SelectionManager selectionManager,
                                ClientShipManager clientShipManager,
                                SimulationManager simulationManager,
                                StructureFactoryManager structureFactoryManager,
                                WarpHoleManager warpholeManager,
                                TeamManager teamManager,
                                TargetingService targetingService,
                                FloatyAreaObjectManager floatyAreaObjectManager,
                                MessageService_ToServer messageService,
                                GameStateType stateType,
                                TViewModel viewModel
                                )
     : base(messageHandlerId, clientPlayerInfoManager, networkingService, collisionManager, physicsManager, playerShipManager, projectileManager, selectionManager, clientShipManager, simulationManager, structureFactoryManager, warpholeManager, teamManager, targetingService, floatyAreaObjectManager, messageService, viewModel, stateType)
 {
     ViewModel = viewModel;
     WebView   = (TWebView)Activator.CreateInstance(typeof(TWebView), globalGameUiSingleton, ViewModel);
     SetupUpdateList(_synchronousUpdateList);
 }
        public DrawablePortStateManager(
            MessageHandlerID messageHandlerId,
            IClientPlayerInfoManager clientPlayerInfoManager,
            LidgrenNetworkingService networkingService,
            GlobalGameUISingleton globalGameUiSingleton,
            SpriteBatch spriteBatch,
            MessageService_ToServer messageService
            )
            : base(messageHandlerId, clientPlayerInfoManager, networkingService, messageService, GameStateType.Port)
        {
            _drawList = new HashSet <IDraw>();

            // Todo: Make this class use a ViewModel
            WebView      = new PortWebView(globalGameUiSingleton, null);
            _spriteBatch = spriteBatch;

            OutfitForSale = new Dictionary <byte, PortService>(5);

            ShipsInPort = new Dictionary <int, PortShip>(5);

            _synchronousUpdateList.Add(this);
            _messageService = messageService;
            _drawList.Add(this);
            networkingService.RegisterMessageHandler(this, DrawablePortStateManager_ProcessMessage);
        }
Exemple #4
0
        public ClientShipManager(
            ParticleManager particleManager,
            PlayerShipManager playerShipManager,
            SpriteBatch spriteBatch,
            TextureManager textureManager,
            SimulationManager simulationManager,
            TargetingService targetManager,
            TeamManager teamManager,
            ProjectileManager projectileManager,
            MessageService_ToServer messageService,
            IClientPlayerInfoManager clientPlayerInfoManager,
            bool simulateNPCs)
        {
            _shipList = new Dictionary <int, Ship>();

            _particleManager         = particleManager;
            _playerShipManager       = playerShipManager;
            _spriteBatch             = spriteBatch;
            _textureManager          = textureManager;
            _simulationManager       = simulationManager;
            _targetManager           = targetManager;
            _teamManager             = teamManager;
            _messageService          = messageService;
            _projectileManager       = projectileManager;
            _updateIgnoreList        = new HashSet <int>();
            _simulateNPCs            = simulateNPCs;
            _positionUpdateList      = new HashSet <Ship>();
            _clientPlayerInfoManager = clientPlayerInfoManager;
        }
 public SpaceStateManager(
     MessageHandlerID messageHandlerId,
     IClientPlayerInfoManager clientPlayerInfoManager,
     IGlobalGameUISingleton globalGameUiSingleton,
     CollisionManager collisionManager,
     INetworkingService networkingService,
     PhysicsManager physicsManager,
     PlayerShipManager playerShipManager,
     ProjectileManager projectileManager,
     SelectionManager selectionManager,
     SimulationManager simulationManager,
     ClientShipManager clientShipManager,
     SpaceManager spaceManager,
     StructureFactoryManager structureFactoryManager,
     TargetingService targetingService,
     TeamManager teamManager,
     WarpHoleManager warpHoleManager,
     MessageService_ToServer messageService,
     FloatyAreaObjectManager floatyAreaObjectManager)
     : base(messageHandlerId, clientPlayerInfoManager, collisionManager, globalGameUiSingleton, networkingService, physicsManager, playerShipManager,
            projectileManager, selectionManager, clientShipManager, simulationManager, structureFactoryManager,
            warpHoleManager, teamManager, targetingService, floatyAreaObjectManager, messageService, GameStateType.Space, new SpaceViewModel(clientShipManager)
            )
 {
     _spaceManager = spaceManager;
     _synchronousUpdateList.Add(_playerShipManager);
 }
 public ActivePlayerGameState(MessageHandlerID messageHandlerId,
                              IClientPlayerInfoManager clientPlayerInfoManager,
                              INetworkingService networkingService,
                              MessageService_ToServer messageService,
                              PlayerShipManager playerShipManager,
                              GameStateType stateType)
     : base(messageHandlerId, clientPlayerInfoManager, networkingService, messageService, stateType)
 {
     _playerShipManager = playerShipManager;
 }
Exemple #7
0
 public NetworkedGameState(MessageHandlerID messageHandlerId,
                           IClientPlayerInfoManager playerInfoManager,
                           INetworkingService networkingService,
                           MessageService_ToServer messageService,
                           GameStateType stateType)
     : base(stateType)
 {
     _clientPlayerInfoManager = playerInfoManager;
     _messageHandlerID        = messageHandlerId;
     _networkingService       = networkingService;
     _synchronousUpdateList.Add(this);
     _networkingService.RegisterMessageHandler(this, _networkedGameState_MessageReceived);
     _MessageService = messageService;
 }
Exemple #8
0
 /// <summary>
 /// Manages all aspects of Planetary Invasion.
 /// </summary>
 /// <param name="Content">Content Manager</param>
 /// <param name="planetLevel">Level to play on.</param>
 public PlanetStateManager(MessageHandlerID messageHandlerId,
                           IClientPlayerInfoManager clientPlayerInfoManager,
                           IGlobalGameUISingleton globalGameUiSingleton,
                           CollisionManager collisionManager,
                           PhysicsManager physicsManager,
                           PlayerShipManager playerShipManager,
                           ProjectileManager projectileManager,
                           ClientShipManager clientShipManager,
                           StructureFactoryManager structureFactoryManager,
                           WarpHoleManager warpholeManager,
                           INetworkingService networkingService,
                           SelectionManager selectionManager,
                           SimulationManager simulationManager,
                           TargetingService targetService,
                           TeamManager teamManager,
                           GameStateType stateType,//Should be moon or planet
                           FloatyAreaObjectManager floatyAreaObjectManager,
                           MessageService_ToServer messageService,
                           int wallTexWidth, int wallTexHeight)
     : base(messageHandlerId,
            clientPlayerInfoManager,
            collisionManager,
            globalGameUiSingleton,
            networkingService,
            physicsManager,
            playerShipManager,
            projectileManager,
            selectionManager,
            clientShipManager,
            simulationManager,
            structureFactoryManager,
            warpholeManager,
            teamManager,
            targetService,
            floatyAreaObjectManager,
            messageService,
            stateType,
            new PlanetViewModel(clientShipManager)
            )
 {
     _wallWidth  = wallTexWidth;
     _wallHeight = wallTexHeight;
     _synchronousUpdateList.Add(_playerShipManager);
     _messageService = messageService;
 }
        public DrawableColonyStateManager(MessageHandlerID messageHandlerId,
                                          GlobalGameUISingleton globalGameUiSingleton,
                                          LidgrenNetworkingService networkingService,
                                          IClientPlayerInfoManager clientPlayerInfoManager,
                                          SpriteBatch spriteBatch,
                                          MessageService_ToServer messageService,
                                          GameWindow gameWindow
                                          )
            : base(messageHandlerId, clientPlayerInfoManager, networkingService, messageService, GameStateType.Colony)
        {
            _drawList    = new HashSet <IDraw>();
            _spriteBatch = spriteBatch;
            Camera       = new Camera2D(gameWindow);
            WebView      = new ColonyWebView(globalGameUiSingleton, null);

            _synchronousUpdateList.Add(this);
            _messageService = messageService;
            _drawList.Add(this);
            networkingService.RegisterMessageHandler(this, DrawableColonyStateManager_ProcessMessage);
        }
Exemple #10
0
        public DrawableSpaceStateManager(
            MessageService_ToServer messageService,
            IClientPlayerInfoManager clientPlayerInfoManager,
            BackgroundManager backgroundManager,
            BloomComponent bloom,
            CollisionManager collisionManager,
            Game game,
            GameWindow window,
            GlobalGameUISingleton globalGameUiSingleton,
            LidgrenNetworkingService networkingService,
            SpriteBatch spriteBatch,
            ParticleManager particleManager,
            PhysicsManager physicsManager,
            PlayerShipManager playerShipManager,
            ProjectileManager projectileManager,
            SelectionManager selectionManager,
            SimulationManager simulationManager,
            ClientShipManager clientShipManager,
            SpaceManager spaceManager,
            StructureFactoryManager structureFactoryManager,
            TextureManager textureManager,
            TargetingService targetingService,
            TeamManager teamManager,
            WarpHoleManager warpHoleManager,
            SpaceObjectManager spaceObjectManager,
            UIConversionService uiConversionService,
            FloatyAreaObjectManager floatyAreaObjectManager)
            : base(null, clientPlayerInfoManager, globalGameUiSingleton,
                   collisionManager, networkingService, physicsManager, playerShipManager,
                   projectileManager, selectionManager, simulationManager, clientShipManager, spaceManager, structureFactoryManager, targetingService,
                   teamManager, warpHoleManager, messageService, floatyAreaObjectManager)
        {
            _bloom               = bloom;
            _spriteBatch         = spriteBatch;
            _textureManager      = textureManager;
            _uiConversionService = uiConversionService;
            _spriteBatch         = spriteBatch;
            _particleManager     = particleManager;


            Camera      = new Camera2D(window);
            Camera.Zoom = 1f;

            //ViewModel = new SpaceViewModel(ClientShipManager);
            _spaceGameView = new SpaceGameView(
                messageService,
                backgroundManager,
                bloom,
                Camera,
                particleManager,
                projectileManager,
                clientShipManager,
                spaceManager,
                spaceObjectManager,
                spriteBatch,
                uiConversionService,
                floatyAreaObjectManager,
                ViewModel,
                globalGameUiSingleton.GameUI);

            _viewUpdateList.Add(_spaceGameView);

            _drawList = new HashSet <IDraw>();
            _drawList.Add(_spaceGameView);

            _synchronousUpdateList.Add(_particleManager);
        }
Exemple #11
0
        public DrawablePlanetStateManager(
            SpriteBatch spriteBatch,
            IClientPlayerInfoManager clientPlayerInfoManager,
            CollisionManager collisionManager,
            GlobalGameUISingleton globalGameUiSingleton,
            ParticleManager particleManager,
            PhysicsManager physicsManager,
            PlayerShipManager playerShipManager,
            ProjectileManager projectileManager,
            ClientShipManager clientShipManager,
            StructureFactoryManager structureFactoryManager,
            TextureManager textureManager,
            INetworkingService networkingService,
            SelectionManager selectionManager,
            SimulationManager simulationManager,
            TargetingService targetService,
            TeamManager teamManager,
            GameStateType stateType,//Should be planet or moon
            UIConversionService uiConversionService,
            WarpHoleManager warpholeManager,
            GameWindow window,
            FloatyAreaObjectManager floatyAreaObjectManager,
            MessageService_ToServer messageService,
            int tileWidth, int tileHeight)
            : base(null,
                   clientPlayerInfoManager,
                   globalGameUiSingleton,
                   collisionManager,
                   physicsManager,
                   playerShipManager,
                   projectileManager,
                   clientShipManager,
                   structureFactoryManager,
                   warpholeManager,
                   networkingService,
                   selectionManager,
                   simulationManager,
                   targetService,
                   teamManager,
                   stateType,
                   floatyAreaObjectManager,
                   messageService,
                   tileWidth,
                   tileHeight)
        {
            _spriteBatch     = spriteBatch;
            _textureManager  = textureManager;
            _particleManager = particleManager;
            Camera           = new Camera2D(window);
            Camera.Zoom      = 1f;
            //ViewModel = new PlanetViewModel(clientShipManager);
            _planetGameView = new PlanetGameView(
                Camera,
                uiConversionService,
                particleManager,
                ViewModel,
                projectileManager,
                clientShipManager,
                spriteBatch,
                textureManager,
                floatyAreaObjectManager,
                globalGameUiSingleton.GameUI,
                SendStructurePlacementRequest);

            _spriteBatch = spriteBatch;

            globalGameUiSingleton.GameUI.RegisterCallbackVoid("SendStructurePlacementRequest", SendStructurePlacementRequest);

            _viewUpdateList.Add(_planetGameView);

            _drawList = new HashSet <IDraw>();
            _drawList.Add(_planetGameView);



            _synchronousUpdateList.Add(_particleManager);
        }
Exemple #12
0
 public PlayableUIStateManagerContainer(GameStateType currentAreaType, PlayerShipManager playerShipManager, IClientPlayerInfoManager clientPlayerInfoManager)
     : base(currentAreaType)
 {
     PlayerShipManager       = playerShipManager;
     ClientPlayerInfoManager = clientPlayerInfoManager;
 }