Exemple #1
0
        public RadarSpaceManager(ContentManager Content,
                                 SpriteBatch spriteBatch,
                                 GraphicsDevice graphics,
                                 BorderManager borderManager,
                                 PlayerShipManager playerShipManager,
                                 ProjectileManager projectileManager,
                                 SpaceObjectManager spaceObjectManager,
                                 ClientShipManager clientShipManager,
                                 WarpHoleManager warpholeManager,
                                 GameWindow gameWindow)
        {
            textFont        = Content.Load <SpriteFont>(@"GUI/drawFont");
            tex_Radar       = Content.Load <Texture2D>(@"GUI/radar");
            tex_DotW        = Content.Load <Texture2D>(@"GUI/dot_w");
            tex_OrbitalRing = Content.Load <Texture2D>(@"GUI/planetrings");
            tex_Ship        = Content.Load <Texture2D>(@"GUI/Minimap/Hud_ShipRadar");
            tex_NetworkShip = Content.Load <Texture2D>(@"GUI/Minimap/otherShips");
            tex_EdgeOfRadar = Content.Load <Texture2D>(@"GUI/Minimap/edgeofradar");
            tex_Sun         = Content.Load <Texture2D>(@"GUI/Minimap/sunMinimap");
            tex_Warp        = Content.Load <Texture2D>(@"GUI/Minimap/warp3");

            _graphics           = graphics;
            _content            = Content;
            _borderManager      = borderManager;
            _playerShipManager  = playerShipManager;
            _projectileManager  = projectileManager;
            _clientShipManager  = clientShipManager;
            _radarCamera        = new Camera2D(gameWindow);
            _spaceObjectManager = spaceObjectManager;
            _spriteBatch        = spriteBatch;
            _warpholeManager    = warpholeManager;

            radarWidth  = 300;
            radarHeight = 300;
            radarTarget = new RenderTarget2D(spriteBatch.GraphicsDevice, radarWidth, radarHeight, false,
                                             SurfaceFormat.Color, DepthFormat.Depth24);

            // Adds all of the dynamically sized rings for Minimap.
            planetRings = new List <Texture2D>();
            planetRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseRing_50px"));
            planetRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseRing_68px"));
            planetRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseRing_80px"));
            planetRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseRing_100px"));
            planetRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseRing_120px"));
            planetRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseRing_150px"));
            planetRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseRing_200px"));
            planetRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseRing_250px"));
            planetRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseRing_300px"));

            moonRings = new List <Texture2D>();
            moonRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseMoonRing_30px"));
            moonRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseMoonRing_40px"));
            moonRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseMoonRing_50px"));
            moonRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseMoonRing_80px"));
            moonRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseMoonRing_100px"));
            moonRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseMoonRing_120px"));
            moonRings.Add(Content.Load <Texture2D>(@"GUI/Minimap/BaseMoonRing_150px"));

            _radarCamera._zoom = 1.2f;
        }
Exemple #2
0
        public static SpaceStateManager BuildSpaceStateManager(int?areaID, IMessenger messenger, INetworkingService _networkingService)
        {
            //Null references, unused by the Simulator
            TextureManager         textureManager        = null;
            SpriteBatch            spriteBatch           = null;
            ParticleManager        particleManager       = null;
            Texture2D              warpholeTexture       = null;
            Texture2D              borderTexture         = null;
            SelectionManager       selectionManager      = null;
            IGlobalGameUISingleton globalGameUISingleton = null;


            MessageService_ToServer  messageService          = new MessageService_ToServer(messenger);
            SimulationManager        simulationManager       = new SimulationManager();
            CollisionManager         collisionManager        = new CollisionManager(messageService);
            PlayerShipManager        playerShipManager       = new PlayerShipManager(messageService);
            IClientPlayerInfoManager clientPlayerInfoManager = new PlayablePlayerInfoManager(playerShipManager);
            TargetingService         targetingService        = new TargetingService();
            TeamManager       teamManager       = new TeamManager(targetingService);
            PhysicsManager    physicsManager    = new PhysicsManager();
            BorderManager     borderManager     = new BorderManager(borderTexture, spriteBatch, physicsManager);
            ProjectileManager projectileManager = new ProjectileManager(particleManager, physicsManager.World, spriteBatch, targetingService, simulationManager, messageService, collisionManager);
            ClientShipManager clientShipManager = new ClientShipManager(particleManager, playerShipManager, spriteBatch, textureManager, simulationManager, targetingService, teamManager, projectileManager, messageService, clientPlayerInfoManager, true);

            clientShipManager.SendPositionUpdates = true;
            StructureFactoryManager structureFactoryManager = new StructureFactoryManager(messageService, physicsManager.World, projectileManager, targetingService, teamManager, null, clientShipManager, null, true);
            WarpHoleManager         warpholeManager         = new WarpHoleManager(messageService, particleManager, physicsManager, clientShipManager, warpholeTexture);
            GravityManager          gravityManager          = new GravityManager(physicsManager);
            SpaceObjectManager      spaceObjectManager      = new SpaceObjectManager(textureManager, messageService, spriteBatch, particleManager, physicsManager);
            SpaceManager            spaceManager            = new SpaceManager(spriteBatch, borderManager, gravityManager, physicsManager, spaceObjectManager, warpholeManager);
            FloatyAreaObjectManager floatyAreaObjectManager = new FloatyAreaObjectManager(physicsManager.World, textureManager, messageService, spriteBatch, particleManager);

            var mhi = areaID == null ? new MessageHandlerID() : new MessageHandlerID((int)areaID);



            SpaceStateManager spaceStateManager = new SpaceStateManager(mhi,
                                                                        clientPlayerInfoManager,
                                                                        globalGameUISingleton,
                                                                        collisionManager,
                                                                        _networkingService,
                                                                        physicsManager,
                                                                        playerShipManager,
                                                                        projectileManager,
                                                                        selectionManager,
                                                                        simulationManager,
                                                                        clientShipManager,
                                                                        spaceManager,
                                                                        structureFactoryManager,
                                                                        targetingService,
                                                                        teamManager,
                                                                        warpholeManager,
                                                                        messageService,
                                                                        floatyAreaObjectManager);

            spaceStateManager.SetAreaId(areaID);

            return(spaceStateManager);
        }
Exemple #3
0
        // Area for declaring variables pertaining to the list of planets.

        /// <summary>
        /// Creates system with Planets and Borders
        /// </summary>
        public SpaceManager(SpriteBatch spriteBatch,
                            BorderManager borderManager,
                            GravityManager gravityManager,
                            PhysicsManager physicsManager,
                            SpaceObjectManager spaceObjectManager,
                            WarpHoleManager warpholeManager)
        {
            r = new Random(45546);
            _physicsManager  = physicsManager;
            _warpholeManager = warpholeManager;

            _spaceObjectManager = spaceObjectManager;
            _borderManager      = borderManager;
            _gravityManager     = gravityManager;
        }
Exemple #4
0
        public SpaceGameView(
            MessageService_ToServer messageService,
            BackgroundManager background,
            BloomComponent bloom,
            Camera2D camera,
            ParticleManager particleManager,
            ProjectileManager projectileManager,
            ClientShipManager clientShipManager,
            SpaceManager spaceManager,
            SpaceObjectManager spaceObjectManager,
            SpriteBatch spriteBatch,
            UIConversionService uiConversionService,
            FloatyAreaObjectManager floatyAreaObjectManager,
            SpaceViewModel viewModel,
            GlobalGameUI globalGameUi
            )
        {
            _background              = background;
            _bloom                   = bloom;
            _particleManager         = particleManager;
            _projectileManager       = projectileManager;
            _clientShipManager       = clientShipManager;
            _spaceObjectManager      = spaceObjectManager;
            _spaceManager            = spaceManager;
            _spriteBatch             = spriteBatch;
            _uiConversionService     = uiConversionService;
            _spaceViewModel          = viewModel;
            _floatyAreaObjectManager = floatyAreaObjectManager;
            _messageService          = messageService;


            globalGameUi.RegisterCallbackVoid("ChangeZoom", ChangeZoom);

            Camera      = camera;
            Camera.Zoom = 1f;
        }
Exemple #5
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 #6
0
        DrawableSpaceStateManager _buildSpaceStateManager(GlobalGameUISingleton globalGameUiSingleton, CameraService cameraService, TextureManager textureManager, ParticleManager particleManager, TextDrawingService textDrawingService, MessageService_ToServer messageService, IClientWebViewConfig clientWebviewConfig, LidgrenNetworkingService networkingService, BloomComponent bloom)
        {
            CollisionManager        instance_collisionManager;
            ParticleManager         instance_particleManager = null;
            SimulationManager       instance_simulationManager;
            TargetingService        instance_targetingService;
            TeamManager             instance_teamManager;
            UIConversionService     instance_uiConversionService;
            ClientShipManager       instance_clientShipManager;
            PhysicsManager          instance_physicsManager;
            ProjectileManager       instance_projectileManager;
            StructureFactoryManager instance_structureFactoryManager;
            WarpHoleManager         instance_warpholeManager;
            SelectionManager        instance_selectionManager;
            FloatyAreaObjectManager instance_floatyAreaObjectManager;

            //Space unique
            BackgroundManager  instance_backgroundManager = null;
            SpaceManager       instance_spaceManager;
            BorderManager      instance_borderManager = null;
            GravityManager     instance_gravityManager;
            SpaceObjectManager instance_spaceObjectManager;


            instance_collisionManager = new CollisionManager(messageService);
            if (_loadGraphics)
            {
                instance_particleManager = new ParticleManager(_graphics, _spriteBatch, Content, textureManager);
            }
            instance_simulationManager = new SimulationManager();
            instance_targetingService  = new TargetingService();
            instance_teamManager       = new TeamManager(instance_targetingService);
            PlayerShipManager        instance_playerShipManager       = new PlayerShipManager(messageService);
            IClientPlayerInfoManager instance_clientPlayerInfoManager = new PlayablePlayerInfoManager(instance_playerShipManager);

            instance_uiConversionService     = new UIConversionService(cameraService, instance_playerShipManager, _spriteBatch);
            instance_physicsManager          = new PhysicsManager();
            instance_projectileManager       = new ProjectileManager(instance_particleManager, instance_physicsManager.World, _spriteBatch, instance_targetingService, instance_simulationManager, messageService, instance_collisionManager);
            instance_clientShipManager       = new ClientShipManager(instance_particleManager, instance_playerShipManager, _spriteBatch, textureManager, instance_simulationManager, instance_targetingService, instance_teamManager, instance_projectileManager, messageService, instance_clientPlayerInfoManager, false);
            instance_structureFactoryManager = new StructureFactoryManager(messageService, instance_physicsManager.World, instance_projectileManager, instance_targetingService, instance_teamManager, textureManager, instance_clientShipManager, _spriteBatch, false);
            instance_warpholeManager         = new WarpHoleManager(messageService, instance_particleManager, instance_physicsManager, instance_clientShipManager, _loadGraphics ? textureManager.Warphole : null);
            instance_selectionManager        = new SelectionManager(textDrawingService, _spriteBatch, instance_clientShipManager, messageService, instance_physicsManager, instance_playerShipManager, instance_targetingService, instance_uiConversionService);

            if (_loadGraphics)
            {
                instance_backgroundManager = new BackgroundManager(Content, instance_particleManager, _spriteBatch, cameraService,
                                                                   new Random(8));
            }

            instance_borderManager = new BorderManager(_loadGraphics?textureManager.tex_DotW:null, _spriteBatch,
                                                       instance_physicsManager);

            instance_gravityManager          = new GravityManager(instance_physicsManager);
            instance_spaceObjectManager      = new SpaceObjectManager(textureManager, messageService, _spriteBatch, instance_particleManager, instance_physicsManager);
            instance_spaceManager            = new SpaceManager(_spriteBatch, instance_borderManager, instance_gravityManager, instance_physicsManager, instance_spaceObjectManager, instance_warpholeManager);
            instance_floatyAreaObjectManager = new FloatyAreaObjectManager(instance_physicsManager.World, textureManager, messageService, _spriteBatch, particleManager);

            return(new DrawableSpaceStateManager(
                       messageService,
                       instance_clientPlayerInfoManager,
                       instance_backgroundManager,
                       bloom,
                       instance_collisionManager,
                       this,
                       Window,
                       globalGameUiSingleton,
                       networkingService,
                       _spriteBatch,
                       instance_particleManager,
                       instance_physicsManager,
                       instance_playerShipManager,
                       instance_projectileManager,
                       instance_selectionManager,
                       instance_simulationManager,
                       instance_clientShipManager,
                       instance_spaceManager,
                       instance_structureFactoryManager,
                       textureManager,
                       instance_targetingService,
                       instance_teamManager,
                       instance_warpholeManager,
                       instance_spaceObjectManager,
                       instance_uiConversionService,
                       instance_floatyAreaObjectManager));
        }