public void StartMenu(MenuDefinition menuDef) { QuitMenu(); //foreach (var camera in Engine.Renderer.Cameras) // camera.Position = Vector2.Zero; GameObject menuRoot = new GameObject("Menu Root"); menuRoot.Tag = "Menu"; m_currentMenu = new Menu(menuDef); menuRoot.Attach(m_currentMenu); }
public Menu(MenuDefinition menuDef) { m_definition = menuDef; m_parameters = Engine.AssetManager.GetAsset <MenuParameters>("Game/Menu.lua::Menu"); m_name = menuDef.Name; m_items = new Dictionary <string, MenuItem>(); m_itemIndex = 0; if (m_definition.Sounds != null) { if (m_definition.Sounds.Select != null) { m_audioCmpSelect = new AudioComponent(m_definition.Sounds.Select); } if (m_definition.Sounds.SelectAlt != null) { m_audioCmpSelectAlt = new AudioComponent(m_definition.Sounds.SelectAlt); } if (m_definition.Sounds.Valid != null) { m_audioCmpValid = new AudioComponent(m_definition.Sounds.Valid); } if (m_definition.Sounds.Cancel != null) { m_audioCmpCancel = new AudioComponent(m_definition.Sounds.Cancel); } } SpriteFont font = Engine.AssetManager.Get <SpriteFont>("Graphics/Menu/BigMacUnselectedPen"); SpriteFont fontSelected = Engine.AssetManager.Get <SpriteFont>("Graphics/Menu/BigMacSelected"); m_normalStyle = new TextStyle() { Scale = 1.0f, Color = Color.White, Font = font }; m_selectedStyle = new TextStyle() { Scale = 1.0f, Color = Color.White, Font = fontSelected }; float colorCoef = .5f; m_disabledStyle = new TextStyle() { Scale = 1.0f, Color = Color.White, Font = font }; m_disabledStyle.Color = new Color(m_disabledStyle.Color.R / 255.0f * colorCoef, m_disabledStyle.Color.G / 255.0f * colorCoef, m_disabledStyle.Color.B / 255.0f * colorCoef, m_disabledStyle.Color.A); }