Beispiel #1
0
        /// <summary>
        /// Setup OpenGL and load resources here.
        /// </summary>
        /// <param name="e">Not used.</param>
        protected override void OnLoad(EventArgs e)
        {
            GL.ClearColor(System.Drawing.Color.MidnightBlue);

            Gwen.Platform.Platform.Init(new Gwen.Platform.Windows.WindowsPlatform());
            Gwen.Loader.LoaderBase.Init(new Gwen.Loader.EmbeddedResourceLoader(typeof(GwenNetLua.Sample.Sample).Assembly, typeof(GwenNetLua.Sample.Sample).Namespace + ".Images", typeof(GwenNetLua.Sample.Sample).Namespace + ".Xml"));

            //m_Renderer = new Gwen.Renderer.OpenTK.OpenTKGL10();
            //m_Renderer = new Gwen.Renderer.OpenTK.OpenTKGL20();
            m_Renderer = new Gwen.Renderer.OpenTK.OpenTKGL40();

            m_Skin             = new Gwen.Skin.TexturedBase(m_Renderer, "Skins/DefaultSkin.png");
            m_Skin.DefaultFont = new Gwen.Font(m_Renderer, "Arial", 11);
            m_Canvas           = new Gwen.Control.Canvas(m_Skin);
            m_Input            = new Gwen.Renderer.OpenTK.Input.OpenTK(this);
            m_Input.Initialize(m_Canvas);

            m_Canvas.SetSize(Width, Height);
            m_Canvas.ShouldDrawBackground = true;
            m_Canvas.BackgroundColor      = new Gwen.Color(255, 150, 170, 170);

            if (Configuration.RunningOnMacOS)
            {
                m_Canvas.Scale = 1.5f;
            }

            m_Stopwatch.Restart();
            m_LastTime = 0;

            luaTest = new GwenNetLua.Sample.Sample(m_Canvas);
            luaTest.Run();
        }
Beispiel #2
0
        public HUD(RenderWindow window, bool developerConsole)
        {
            window.KeyReleased += window_KeyReleased;
            window.MouseButtonPressed += window_MouseButtonPressed;
            window.MouseButtonReleased += window_MouseButtonReleased;
            window.MouseWheelMoved += window_MouseWheelMoved;
            window.MouseMoved += window_MouseMoved;
            window.TextEntered += window_TextEntered;            

            gwenRenderer = new Gwen.Renderer.SFML(window);
            Gwen.Skin.TexturedBase skin = new Gwen.Skin.TexturedBase(gwenRenderer, "./assets/DefaultSkin.png");
            defaultFont = new Gwen.Font(gwenRenderer) { Size = 10, FaceName = "./assets/OpenSanss.ttf" };

            if (gwenRenderer.LoadFont(defaultFont))
            {
                gwenRenderer.FreeFont(defaultFont);
            }
            else // try another
            {
                defaultFont.FaceName = "Arial";
                if (gwenRenderer.LoadFont(defaultFont))
                {
                    gwenRenderer.FreeFont(defaultFont);
                }
                else // try default
                {
                    defaultFont.FaceName = "./assets/OpenSans.ttf";
                }
            }

            skin.SetDefaultFont(defaultFont.FaceName);
            defaultFont.Dispose(); // skin has its own

            _canvas = new Gwen.Control.Canvas(skin);
            _canvas.SetSize((int)window.Size.X, (int)window.Size.Y);
            _canvas.ShouldDrawBackground = false;
            _canvas.KeyboardInputEnabled = true; 

            _input = new Gwen.Input.SFML();
            _input.Initialize(_canvas, window);

            tabControl = new Gwen.Control.TabControl(_canvas);
            int tabcontrolheight = 150;
            tabControl.SetBounds(0, window.Size.Y - tabcontrolheight, window.Size.X, tabcontrolheight);
            //Fixes the cursor flickering
            //TODO: Is this cross platform?
            System.Windows.Forms.Cursor.Hide();
            Inventory.Init();
            if (developerConsole)
            {
                HUD.Console.Init();
            }
        }
Beispiel #3
0
        protected override void OnResize(EventArgs e)
        {
            base.OnResize(e);

            GL.Viewport(0, 0, Width, Height);
            float aspect = Width / (float)Height;

            Matrix4 persp = Matrix4.CreatePerspectiveFieldOfView(zoom, aspect, 0.1f, 1000f);

            GL.MatrixMode(MatrixMode.Projection);
            GL.LoadMatrix(ref persp);
            GL.MatrixMode(MatrixMode.Modelview);
            cam.LoadView();

            gwenProjection = Matrix4.CreateOrthographicOffCenter(0, Width, Height, 0, 0, 1);
            gwenCanvas.SetSize(Width, Height);
        }
Beispiel #4
0
        public bool Initialize(int Rows, int Columns)
        {
            this.Rows    = Rows;
            this.Columns = Columns;

            RenderHandler = new Gwen.Renderer.OpenTK();

#if DEBUG
            BaseSkin = new Gwen.Skin.TexturedBase(RenderHandler, @"../../../Assets/DefaultSkin.png");
#else
            BaseSkin = new Gwen.Skin.TexturedBase(RenderHandler, @"Assets/DefaultSkin.png");
#endif
            BaseSkin.DefaultFont = new Gwen.Font(RenderHandler, "Arial", 10);

            BaseCanvas = new Gwen.Control.Canvas(BaseSkin);
            BaseCanvas.SetSize(Width, Height);
            BaseCanvas.ShouldDrawBackground = true;
            BaseCanvas.BackgroundColor      = Color.White;

            InputHandler = new Gwen.Input.OpenTK(this);
            InputHandler.Initialize(BaseCanvas);

            // Setup Generic Window Callbacks
            Keyboard.KeyDown   += Keyboard_KeyDown;
            Keyboard.KeyUp     += Keyboard_KeyUp;
            Mouse.ButtonDown   += Mouse_ButtonDown;
            Mouse.ButtonUp     += Mouse_ButtonUp;
            Mouse.Move         += Mouse_Move;
            Mouse.WheelChanged += Mouse_Wheel;

            SetupMenu();
            SetupNetworkedSessionMenu();
            SetupHighscores();
            SetupUsernameMenu();

            Ready = true;

            return(true);
        }
Beispiel #5
0
        public void OnLoad(EventArgs e)
        {
            Renderer = new Gwen.Renderer.OpenTK();
            _skin    = new Gwen.Skin.TexturedBase(Renderer, "Content/DefaultSkin.png");
            Canvas   = new Gwen.Control.Canvas(_skin);

            _input = new Gwen.Input.OpenTK(Program.Game);
            _input.Initialize(Canvas);

            Canvas.SetSize((int)Program.Game.windowSize.X, (int)Program.Game.windowSize.Y);
            Canvas.ShouldDrawBackground = false;
            Canvas.BackgroundColor      = Color.FromArgb(255, 150, 170, 170);

            SetupInputEvents();

            _sideMenuBox = new Gwen.Control.GroupBox(_canvas);
            _sideMenuBox.SetSize(80, 128);
            _sideMenuBox.Position(Gwen.Pos.Center);
            _sideMenuBox.Position(Gwen.Pos.Right, 5);

            LoadElementCatagories();

            // Current element text
            _currentElementLabel = new Gwen.Control.Label(_canvas);
            _currentElementLabel.SetPosition(10, 10);
            _currentElementLabel.SetSize(100, 40);
            _currentElementLabel.SetText("");

            // Bottom menu
            _bottomMenuBox = new Gwen.Control.GroupBox(_canvas);
            _bottomMenuBox.SetSize(800, 36);

            _bottomMenuBox.Position(Gwen.Pos.Center);
            _bottomMenuBox.Position(Gwen.Pos.Bottom);
            _bottomMenuBox.ShouldDrawBackground = true;
        }
Beispiel #6
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            InitializeOpenGL();

            //LoadLevel();
            //LoadDebugMeshes();

            gwenRenderer = new Gwen.Renderer.OpenTK();
            gwenSkin     = new Gwen.Skin.TexturedBase(gwenRenderer, "GwenSkin.png");
            gwenCanvas   = new Gwen.Control.Canvas(gwenSkin);
            gwenInput    = new Gwen.Input.OpenTK(this);

            gwenInput.Initialize(gwenCanvas);
            gwenCanvas.SetSize(Width, Height);
            gwenCanvas.ShouldDrawBackground = false;

            gwenProjection = Matrix4.CreateOrthographicOffCenter(0, Width, Height, 0, -1, 1);



            //InitializeUI();
        }
Beispiel #7
0
        /// <summary>
        /// Respond to resize events here.
        /// </summary>
        /// <param name="e">Contains information on the new GameWindow size.</param>
        /// <remarks>There is no need to call the base implementation.</remarks>
        protected override void OnResize(EventArgs e)
        {
            m_Renderer.Resize(Width, Height);

            m_Canvas.SetSize(Width, Height);
        }