private SFMLGraphics2D() { m_PostOffice = null; m_RenderWindow = null; m_SpriteManager = null; m_GraphicsSettings = null; m_ModuleID = Constant.enumModuleID.GRAPHICS; m_MsgTypeArray = new Constant.enumMessage[] { Constant.enumMessage.INITIALISE, Constant.enumMessage.UPDATE, Constant.enumMessage.DRAW, Constant.enumMessage.CLOSING, Constant.enumMessage.LOAD_TEXTURES, Constant.enumMessage.UPDATE_GRAPHICS_SETTINGS, Constant.enumMessage.SWITCH_SPRITES_DRAW_STATUS, Constant.enumMessage.GET_GRAPHICS_SETTINGS, Constant.enumMessage.SEND_GAMEOBJECT, Constant.enumMessage.SEND_SPRITE_COMPONENTS, Constant.enumMessage.SEND_POSITION_COMPONENTS, Constant.enumMessage.SEND_TEXTURE_IDS, Constant.enumMessage.SEND_COMPONENTS, Constant.enumMessage.SEND_GAMEOBJECT, Constant.enumMessage.SEND_KEYBOARD_EVENT_HANDLER, Constant.enumMessage.SEND_MOUSE_BUTTON_EVENT_HANDLER, Constant.enumMessage.SEND_MOUSE_MOVE_EVENT_HANDLER, Constant.enumMessage.SEND_MOUSE_WHEEL_EVENT_HANDLER, Constant.enumMessage.SEND_GAMEOBJECTCOMPONENTS }; }
public GameFieldGraphicsComponent(IGameFieldEntity gameField, IGraphicsSettings graphicsSettings, IGraphicsSystem graphicsSystem, IGameSettings gameSettings) { _gameFieldEntity = gameField ?? throw new ArgumentNullException(nameof(gameField)); _graphicsSettings = graphicsSettings ?? throw new ArgumentNullException(nameof(graphicsSettings)); _graphicsSystem = graphicsSystem ?? throw new ArgumentNullException(nameof(graphicsSystem)); _gameSettings = gameSettings ?? throw new ArgumentNullException(nameof(gameSettings)); }
public GraphicsSystem(IGraphicsSettings graphicsSettings, ContentManager contentManager, SpriteFont spriteFont, SpriteFont debugSpriteFont, ITextureManager textureManager, OrthographicCamera camera2D, GraphicsDevice graphicsDevice) { GraphicsSettings = graphicsSettings; _contentManager = contentManager ?? throw new ArgumentNullException(nameof(contentManager)); SpriteFont = spriteFont; DebugSpriteFont = debugSpriteFont; TextureManager = textureManager; Camera2D = camera2D; GraphicsDevice = graphicsDevice; }
public void Init() { if (m_GraphicsSettings == null) { m_GraphicsSettings = Methods.GetObjectOf <IGraphicsSettings>(m_PostOffice.GetMessageObjects(m_ModuleID, Constant.enumMessage.GET_GRAPHICS_SETTINGS)); if (m_GraphicsSettings == null) { m_GraphicsSettings = new GraphicsSettings2D(); } m_GraphicsSettings.Initialise(new Vector2(800, 600), false, true, true); } UpdateGraphicsSettings(m_GraphicsSettings); }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { _logger.Debug("Game.Initialize()"); _graphicsSettings = new GraphicsSettings { IsDebugRenderingEnabled = _gameSettings.IsDebugRenderingEnabled, IsRenderingEnabled = _gameSettings.IsRenderingEnabled }; _gameKeys = new GameKeys(Keys.Space, Keys.D, Keys.R, Keys.Escape, Keys.OemTilde); _inputHandler = new InputHandler(this); Components.Add(_inputHandler); _camera = new OrthographicCamera(GraphicsDevice); base.Initialize(); }
private void UpdateGraphicsSettings(IGraphicsSettings graphicsSettings) { m_GraphicsSettings = graphicsSettings; m_PostOffice.SendMessage(Constant.enumMessage.GET_INPUT_EVENT_HANDLERS); if (m_RenderWindow != null) { m_RenderWindow.Clear(); m_RenderWindow.Close(); } m_RenderWindow = new RenderWindow(new VideoMode((uint)m_GraphicsSettings.m_ScreenSize.x, (uint)m_GraphicsSettings.m_ScreenSize.y), m_GraphicsSettings.m_Title, m_GraphicsSettings.m_FullScreen ? Styles.Fullscreen : Styles.Default); m_RenderWindow.SetVerticalSyncEnabled(m_GraphicsSettings.m_VSync); m_RenderWindow.Closed += new EventHandler(CloseWindow); m_RenderWindow.KeyPressed += m_KeyEventHandler; m_RenderWindow.KeyReleased += m_KeyEventHandler; m_RenderWindow.MouseButtonPressed += m_MouseButtonEventHandler; m_RenderWindow.MouseButtonReleased += m_MouseButtonEventHandler; m_RenderWindow.MouseMoved += m_MouseMoveEventHandler; m_RenderWindow.MouseWheelMoved += m_MouseWheelEventHandler; }
public void Update() { IGraphicsSettings graphicSetting = m_ScriptController.RequestData <IGraphicsSettings>(Constant.enumMessage.GET_GRAPHICS_SETTINGS).FirstOrDefault(); //IRigidBody playerRigidBody = m_ScriptController.RequestData<IComponent>(Constant.enumMessage.GET_GAMEOBJECTCOMPONENTS, new Object[] { m_GameObject.m_GameObjectKey, new Constant.enumComponent[] { Constant.enumComponent.RIGIDBODY } }).OfType<IRigidBody>().FirstOrDefault(); IRigidBody playerRigidBody = m_GameObject.getComponent <IRigidBody>(Constant.enumComponent.RIGIDBODY); if (playerRigidBody.m_Position.ReturnAnyLessThen(new Vector3(-90, -40, 0)) || playerRigidBody.m_Position.ReturnAnyGreaterThen(new Vector3(graphicSetting.m_ScreenSize.x, graphicSetting.m_ScreenSize.y, 0))) { // IPositionComponent3D playerPos = m_ScriptController.RequestData<IComponent>(Constant.enumMessage.GET_GAMEOBJECTCOMPONENTS, new Object[] { "player", new Constant.enumComponent[] { Constant.enumComponent.POSITIONCOMPONENT3D } }).OfType<IPositionComponent3D>().FirstOrDefault(); IPositionComponent3D playerPos = m_GameObject.getComponent <IPositionComponent3D>(Constant.enumComponent.POSITIONCOMPONENT3D); playerPos.m_Position.x = (graphicSetting.m_ScreenSize.x / 2) - 45; playerPos.m_Position.y = graphicSetting.m_ScreenSize.y / 2; playerRigidBody.m_Velocity = new Vector3(); } string[] pressedKeys = m_ScriptController.RequestData <string>(Constant.enumMessage.GET_PRESSED_KEYS); foreach (string key in pressedKeys) { Constant.enumKey currKey = (Constant.enumKey)Enum.Parse(typeof(Constant.enumKey), key); switch (currKey) { case Constant.enumKey.Up: playerRigidBody.AddForce(0, -500, 0);; break; case Constant.enumKey.Down: playerRigidBody.AddForce(0, 500, 0);; break; case Constant.enumKey.Left: playerRigidBody.AddForce(-500, 0, 0);; break; case Constant.enumKey.Right: playerRigidBody.AddForce(500, 0, 0);; break; } } }
private void UpdateGraphicsSettings(IGraphicsSettings graphicsSettings) { m_GraphicsSettings = graphicsSettings; m_PostOffice.SendMessage(Constant.enumMessage.GET_INPUT_EVENT_HANDLERS); if (m_RenderWindow != null) { m_RenderWindow.Clear(); m_RenderWindow.Close(); } m_RenderWindow = new RenderWindow(new VideoMode((uint)m_GraphicsSettings.m_ScreenSize.x, (uint)m_GraphicsSettings.m_ScreenSize.y), m_GraphicsSettings.m_Title,m_GraphicsSettings.m_FullScreen ? Styles.Fullscreen : Styles.Default ); m_RenderWindow.SetVerticalSyncEnabled(m_GraphicsSettings.m_VSync); m_RenderWindow.Closed += new EventHandler(CloseWindow); m_RenderWindow.KeyPressed += m_KeyEventHandler; m_RenderWindow.KeyReleased += m_KeyEventHandler; m_RenderWindow.MouseButtonPressed += m_MouseButtonEventHandler; m_RenderWindow.MouseButtonReleased += m_MouseButtonEventHandler; m_RenderWindow.MouseMoved += m_MouseMoveEventHandler; m_RenderWindow.MouseWheelMoved += m_MouseWheelEventHandler; }
public void Init() { if (m_GraphicsSettings == null) { m_GraphicsSettings = Methods.GetObjectOf<IGraphicsSettings>(m_PostOffice.GetMessageObjects(m_ModuleID, Constant.enumMessage.GET_GRAPHICS_SETTINGS)); if (m_GraphicsSettings == null) { m_GraphicsSettings = new GraphicsSettings2D(); } m_GraphicsSettings.Initialise(new Vector2(800, 600), false, true, true); } UpdateGraphicsSettings(m_GraphicsSettings); }
public GraphicsExampleGame() { m_Random = new Random(); m_CurrGraphicsSettings = new GraphicsSettings2D(); }