public ScreenWidget() { xCoord screen_dim = XRenderManager.Instance().GetScreenDim(); InitWidget(null, XUI.Instance().GetStyle(eStyle.Screen), new xAABB2(Vector2.Zero, new Vector2(screen_dim.x, screen_dim.y))); SetInputEnabled(false); }
/// <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() { XBulletinBoard.Instance().Init(); XTouch.Instance().Init(); XKeyInput.Instance().Init(); XWorld.Instance().Init(); XMouse.Instance().Init(); XFontDraw.Instance().Init(GraphicsDevice, Content); XRenderManager.Instance().Initialize(GraphicsDevice, mGraphicsDeviceManager, Content); XUI.Instance().Init(); XRootDebugMenu.Instance().Init(); base.Initialize(); XBulletinBoard.Instance().mBroadcaster_ExitGameEvent.Subscribe(mListener_ExitGameEvent); }
public Game1() { mGraphicsDeviceManager = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; mListener_ExitGameEvent = new XListener <ExitGameEvent>(1, eEventQueueFullBehaviour.Ignore, "ExitGame"); XBulletinBoard.CreateInstance(); XFontDraw.CreateInstance(); XRenderManager.CreateInstance(); XTouch.CreateInstance(); XKeyInput.CreateInstance(); XWorld.CreateInstance(); XMouse.CreateInstance(); XUI.CreateInstance(); XRootDebugMenu.CreateInstance(); }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { XRenderManager.Instance().LoadContent(); }
/// <summary> /// This is called when the game should draw itself. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Draw(GameTime game_time) { XRenderManager.Instance().Draw(game_time); base.Draw(game_time); }
public Selector(_Position pos, String title, eStyle style, eStyle button_style, eStyle title_style, long id, String[] texts) { mRenderEnabled = true; mID = id; mPos = pos.GetPosition(); mPosition = pos; mTitle = title; mStyle = style; mButtonStyle = button_style; mTitleStyle = title_style; this.mSelections = new _IButton[texts.Length]; // create a default button to see how big it is vertically // size and position border accordingly, factoring in width of largest button including title // destroy that button // create all the proper buttons in the right spot // create title 'button' as disabled button XUI xui_inst = XUI.Instance(); _IButton test = xui_inst._CreateRectangularButton(Vector2.Zero, "Test", style); xAABB2 button_size = test.GetAABB(); float button_size_y = button_size.GetSize().Y; xui_inst._DestroyButton(test); const float k_border_padding_scalar = 0.5f; float border_padding = k_border_padding_scalar * button_size_y; const float k_spacing_scalar = 0.2f; float spacing = k_spacing_scalar * button_size_y; // pad out the text strings so the buttons can be wide if the text is small int longest = GetLongestString(texts); PadButtonTexts(texts, longest); // create buttons PositionAndCreateButtons(texts, mSelections, border_padding, spacing, button_size_y, button_style, 0); // track largest float largest_x = GetWidest(mSelections); // create title button (non-functional) and see if it's the largest Vector2 title_pos = mPos + new Vector2(border_padding, border_padding); mTitleButton = xui_inst._CreateRectangularButton(title_pos, title, title_style); mTitleButton.SetActive(false); largest_x = Math.Max(largest_x, mTitleButton.GetAABB().GetSize().X); // calculate aabb const float title_padding_scalar = 4.0f; float title_padding = border_padding * title_padding_scalar; Vector2 title_padding_v = new Vector2(0, title_padding); float full_width = largest_x + 2 * border_padding; float full_height = button_size_y * (mSelections.Length) + (mSelections.Length - 1) * spacing + 2 * border_padding + title_padding; mAABB.Set(mPos, mPos + new Vector2(full_width, full_height)); // translate each button to be centered, and account for title CenterButtons(mSelections, largest_x, title_padding); CenterButton(mTitleButton, largest_x, 0); // if the selector has a non-trivial Position, fix it if (mPosition.IsCentered()) { // see where it is now, figure out where it should be, translate. // apply to aabb for selector plus translate all the buttons xCoord screen_dim = XRenderManager.Instance().GetScreenDim(); Vector2 span = mAABB.GetSize(); Vector2 screen_dim_vec = new Vector2(screen_dim.x, screen_dim.y); Vector2 edge = 0.5f * (screen_dim_vec - span); Translate(edge); } }
public void Init() { XRenderManager render_manager = XRenderManager.Instance(); mScreenDim = render_manager.mScreenDim; }