protected Hud(ScreenManager screenManager, Metronome metronome, Rectangle rect) { mScreenManager = screenManager; mMetronome = metronome; mRectangle = rect; // Initialize basic buttons "Ok" and "Close" that should be displayed on every HUD. var actions = new MetronomeScreen.RunAction[] { Ok, Close }; var names = new[] { "Ok", "Close" }; Initialize(actions, names); var size = 32; mButtons[0].mRectangle = new Rectangle(mRectangle.X + mRectangle.Width - (size * 2 + 20), mRectangle.Y + 5, size, size); mButtons[1].mRectangle = new Rectangle(mRectangle.X + mRectangle.Width - (size + 10), mRectangle.Y + 5, size, size); }
public SideBar(ScreenManager screenManager, ContentManager content, Metronome metronome, Rectangle rect) : base(screenManager, metronome, rect) { mContent = content; // Initialize other screens const int width = 300; const int height = 200; var rectangle = new Rectangle(Game.mScreenWidth / 2 - width / 2, Game.mScreenHeight / 2 - height / 2, width, height); mCreateSpeedTemplateHud = new CreateSpeedTemplateHud(mScreenManager, mMetronome, rectangle); mCreateRudimentHud = new CreateRudimentHud(mScreenManager, mMetronome, rectangle); mEditSpeedTemplateHud = new EditSpeedTemplateHud(mScreenManager, mMetronome, rectangle); // Initialize Create buttons var labels = new[] {"New Template", "New Rudiment"}; var actions = new MetronomeScreen.RunAction[] {CreateNewTemplate, CreateNewRudiment}; mButtons = new Button[labels.Length + mMetronome.mSpeedTemplates.Count]; for (var i = 0; i < labels.Length; i++) { mButtons[i].mLabel = labels[i]; mButtons[i].mTexName = "TextButton"; mButtons[i].mState = OwnButtonState.Normal; mButtons[i].mAction = actions[i]; mButtons[i].mTextures = new Texture2D[3]; } mButtons[0].mRectangle = new Rectangle(mRectangle.X + 10, mRectangle.Y + 40 + mMetronome.mSpeedTemplates.Count*30, 100, 25); mButtons[1].mRectangle = new Rectangle(mRectangle.X + 10, mButtons[0].mRectangle.Y + 80 + mMetronome.mRudiments.Count*30, 100, 25); // Initialize Speed Template buttons for (var i = 2; i - 2 < mMetronome.mSpeedTemplates.Count; i++) { mButtons[i].mLabel = mMetronome.mSpeedTemplates[i - 2].mName; mButtons[i].mTexName = "TextButtonBlue"; mButtons[i].mState = OwnButtonState.Normal; mButtons[i].mParameterAction = StartTemplate; mButtons[i].mParameterActionRight = EditTemplate; mButtons[i].mParameter = i - 2; mButtons[i].mTextures = new Texture2D[3]; mButtons[i].mRectangle = new Rectangle(10, 40 + (i - 2) * 30, 100, 20); } }