Пример #1
0
 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);
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
 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);
 }
Пример #5
0
 /// <summary>
 /// Synchronously processes all pending messages for the corresponding areaID
 /// </summary>
 /// <param name="areaID"></param>
 public void FlushMessages(MessageHandlerID messageHandlerID)
 {
     foreach (var message in _pendingMessages)
     {
         _messageReceived(this, message);
     }
     _pendingMessages.Clear();
 }
 public ActivePlayerGameState(MessageHandlerID messageHandlerId,
                              IClientPlayerInfoManager clientPlayerInfoManager,
                              INetworkingService networkingService,
                              MessageService_ToServer messageService,
                              PlayerShipManager playerShipManager,
                              GameStateType stateType)
     : base(messageHandlerId, clientPlayerInfoManager, networkingService, messageService, stateType)
 {
     _playerShipManager = playerShipManager;
 }
        /// <summary>
        /// Synchronously processes all pending messages for the corresponding areaID
        /// </summary>
        /// <param name="areaID"></param>
        public void FlushMessages(MessageHandlerID messageHandlerID)
        {
            for (int i = 0; i < _pendingMessages[messageHandlerID.Value].Count; i++)
            {
                var message = _pendingMessages[messageHandlerID.Value][i];

                _areaIDToHandlerMethod[(int)message.TargetAreaId](this, message);
            }

            _pendingMessages[messageHandlerID.Value].Clear();
        }
Пример #8
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;
 }
        public GameStateNetworkingManager(
            int managerID,
            IGameStateManager gameStateManager,
            LidgrenNetworkingService networkingService,
            MessageService_ToServer messageManager
            )
        {
            _gameStateManager  = gameStateManager;
            _networkingService = networkingService;
            _messageManager    = messageManager;

            _messageHandlerID = new MessageHandlerID(managerID);


            _networkingService.RegisterMessageHandler(this, _GameStateNetworkingManager_MessageReceived);
        }
Пример #10
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;
 }
Пример #11
0
        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);
        }