/// <summary> /// Contains the shared constructor code /// </summary> /// <param name="target"></param> private Gui(RenderTarget target) { _renderer = new Gwen.Renderer.SFML(target); skin = new TexturedBase(_renderer, "DefaultSkin.png"); // load font. TODO: remove hardcoding using (var font = new Gwen.Font(_renderer, "OpenSans.ttf", 14)) { if (_renderer.LoadFont(font)) _renderer.FreeFont(font); else { font.FaceName = "Arial Unicode MS"; if (_renderer.LoadFont(font)) _renderer.FreeFont(font); else { font.FaceName = "Arial"; _renderer.LoadFont(font); } } skin.SetDefaultFont(font.FaceName, 14); } GuiCanvas = new Canvas(skin); GuiCanvas.SetSize((int)target.Size.X, (int)target.Size.Y); GuiCanvas.ShouldDrawBackground = false; GuiCanvas.BackgroundColor = System.Drawing.Color.Black; GuiCanvas.KeyboardInputEnabled = true; _input = new Gwen.Input.SFML(); _input.Initialize(GuiCanvas, target); }
private static void Initialize() { #region setup debug TextWriterTraceListener debugger = new TextWriterTraceListener(Console.Out); Debug.Listeners.Add(debugger); #endregion Debug.WriteLine("Initializing Game"); #region window setup window = new RenderWindow(new VideoMode((uint)screenSize.X, (uint)screenSize.Y, 32), "BPN", Styles.Close); window.SetFramerateLimit(30); window.KeyReleased += new EventHandler<KeyEventArgs>(window_KeyReleased); window.Closed += new EventHandler(window_Closed); window.MouseButtonReleased += new EventHandler<MouseButtonEventArgs>(window_MouseButtonReleased); window.MouseMoved += new EventHandler<MouseMoveEventArgs>(window_MouseMoved); window.MouseButtonPressed += new EventHandler<MouseButtonEventArgs>(window_MouseButtonPressed); window.MouseWheelMoved += new EventHandler<MouseWheelEventArgs>(window_MouseWheelMoved); window.EnableVerticalSync(true); #endregion #region Gui Setup guiRenderer = new Gwen.Renderer.SFML(window); guiRenderer.Initialize(); skin = new TexturedBase(guiRenderer, @"Data/DefaultSkin.png"); guiFont = new Gwen.Font("Data/OpenSans.ttf", 10); guiFontLarge = new Gwen.Font("Data/OpenSans.ttf", 14); guiRenderer.LoadFont(guiFont); guiRenderer.LoadFont(guiFontLarge); skin.SetDefaultFont(guiFont.FaceName); _canvas = new Canvas(skin); _canvas.SetSize(screenSize.X, screenSize.Y); _canvas.ShouldDrawBackground = true; _canvas.BackgroundColor = System.Drawing.Color.FromArgb(255, 150, 170, 170); _canvas.KeyboardInputEnabled = true; input = new Gwen.Input.SFML(); input.Initialize(_canvas); #endregion #region Side Buttons aboutPageButton = new Button(_canvas); aboutPageButton.Text = "About"; aboutPageButton.SetPos(4, 2*screenSize.Y/3-8); aboutPageButton.OnDown += new Gwen.Controls.Base.ControlCallback(aboutPageButton_OnDown); bookPageButton = new Button(_canvas); bookPageButton.Text = "Books"; bookPageButton.SetPos(4, 32); bookPageButton.OnDown += new Gwen.Controls.Base.ControlCallback(bookPageButton_OnDown); activePageButton = bookPageButton; #endregion int leftBound = 80; smallPageBounds = new System.Drawing.Rectangle(leftBound,leftBound,screenSize.X-leftBound*2,screenSize.Y -leftBound*2); #region Name Generator Initialization BookNameGenerator.Initialize(); PersonNameGenerator.Initialize(); //Have a few books ready for review at beginning of the game for (int i = 0; i < 8; i++) { Book b = new Book(); } #endregion GameManager.Initialize(); guiRenderer.Initialize(); Notifications.Initialize(); Book.Initialize(); Debug.WriteLine("Initialization Complete"); }