示例#1
0
        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
            };
        }
示例#2
0
 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));
 }
示例#3
0
        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
            };
        }
示例#4
0
 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;
 }
示例#5
0
 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);
 }
示例#6
0
        /// <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();
        }
示例#7
0
        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;
        }
示例#8
0
        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;
                }
            }
        }
示例#9
0
        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;
        }
示例#10
0
 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);
 }
示例#11
0
 public GraphicsExampleGame()
 {
     m_Random = new Random();
     m_CurrGraphicsSettings = new GraphicsSettings2D();
 }
示例#12
0
 public GraphicsExampleGame()
 {
     m_Random = new Random();
     m_CurrGraphicsSettings = new GraphicsSettings2D();
 }