예제 #1
0
        public ContentArea(Game game, string routeName, TrackContent trackContent, EnumArray <string, ColorSetting> colorPreferences, TrackViewerViewSettings viewSettings) :
            base(game)
        {
            if (null == game)
            {
                throw new ArgumentNullException(nameof(game));
            }
            if (null == colorPreferences)
            {
                throw new ArgumentNullException(nameof(colorPreferences));
            }

            Enabled        = false;
            RouteName      = routeName;
            TrackContent   = trackContent ?? throw new ArgumentNullException(nameof(trackContent));
            bounds         = trackContent.Bounds;
            spriteBatch    = new SpriteBatch(GraphicsDevice);
            fontManager    = FontManager.Exact("Segoe UI", System.Drawing.FontStyle.Regular);
            inputComponent = game.Components.OfType <MouseInputGameComponent>().Single();
            inputComponent.AddMouseEvent(MouseMovedEventType.MouseMoved, MouseMove);

            foreach (ColorSetting setting in EnumExtension.GetValues <ColorSetting>())
            {
                UpdateColor(setting, ColorExtension.FromName(colorPreferences[setting]));
            }
            this.viewSettings              = viewSettings;
            game.Window.ClientSizeChanged += Window_ClientSizeChanged;
        }
예제 #2
0
 private void SetupVisibilityMenuItem(ToolStripMenuItem menuItem, TrackViewerViewSettings setting)
 {
     menuItem.Tag     = setting;
     menuItem.Checked = (parent.Settings.ViewSettings & setting) == setting;
     menuItem.Click  += VisibilitySettingToolStripMenuItem_Click;
     if (menuItem.OwnerItem is ToolStripMenuItem parentItem)
     {
         SetupVisibilityParentMenuItem(parentItem);
     }
 }