/// <summary>устанавливает тип и режим диаграммы (влияет на внешний вид) </summary> public void SetDiagramType(bool subDiagramMode) { _subDiagramMode = subDiagramMode; if (!subDiagramMode) { switch (DiagramType) { case DiagramTypeEnum.ColumnGeneral: case DiagramTypeEnum.ColumnDetail: base.Type = ChartType.Combo; break; case DiagramTypeEnum.Map: base.Type = ChartType.Map; base.ChartArea.Background = new Background(Color.FromArgb(142, 195, 236), Color.FromArgb(63, 137, 200), 90); base.LegendBox.Visible = false; break; case DiagramTypeEnum.PieGeneral: base.Type = ChartType.Pies; break; case DiagramTypeEnum.PieDetail: base.Type = ChartType.Pies; base.PaletteName = dotnetCHARTING.WinForms.Palette.Two; break; case DiagramTypeEnum.Graph: base.Type = ChartType.Combo; base.DefaultSeries.Type = SeriesType.Line; break; case DiagramTypeEnum.Speedometer: this.YAxis.Markers.Clear(); base.Type = ChartType.Gauges; base.LegendBox.Position = LegendBoxPosition.None; base.DefaultSeries.Background.Color = Color.White; base.ClipGauges = false; base.Use3D = true; foreach (ValueRange r in _valueRange) { AxisMarker am = new AxisMarker("", new Background(r.Color), r.MinValue, r.MaxValue); base.YAxis.Markers.Add(am); } break; case DiagramTypeEnum.TrafficLight: base.Type = ChartType.Gauges; base.DefaultSeries.GaugeType = GaugeType.IndicatorLight; base.LegendBox.Visible = false; //base.ChartArea.ClearColors(); base.DefaultSeries.GaugeBorderShape = GaugeBorderShape.UseBox; base.DefaultSeries.GaugeBorderBox.DefaultCorner = BoxCorner.Round; base.DefaultSeries.GaugeBorderBox.Background.Color = Color.FromArgb(20, Color.Blue); base.DefaultElement.SmartLabel.Color = Color.Black; base.XAxis.Orientation = dotnetCHARTING.WinForms.Orientation.Top; SmartPalette sp = new SmartPalette(); foreach (ValueRange r in _valueRange) { SmartColor sc = new SmartColor(r.Color, new ScaleRange(r.MinValue, r.MaxValue)); sp.Add("*", sc); } base.SmartPalette = sp; break; default: throw new NotSupportedException("Данный тип не поддерживается"); } } else { switch (SubDiagramType) { case SubDiagramTypeEnum.ColumnDetail: base.Type = ChartType.Combo; break; case SubDiagramTypeEnum.PieDetail: base.Type = ChartType.Pies; break; case SubDiagramTypeEnum.Graph: base.Type = ChartType.Combo; base.DefaultSeries.Type = SeriesType.Line; break; default: throw new NotSupportedException("Данный тип для детализации не поддерживается"); } } }
private void Load() { // Bind OpenGL m_window.MakeCurrent(); // Set default OpenGL options GL.Viewport(0, 0, Window.Width, Window.Height); GL.Enable(EnableCap.DepthTest); GL.DepthFunc(DepthFunction.Lequal); GL.DepthMask(true); GL.Enable(EnableCap.CullFace); GL.CullFace(CullFaceMode.Back); GL.Enable(EnableCap.Blend); GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); GL.Enable(EnableCap.AlphaTest); GL.AlphaFunc(AlphaFunction.Greater, 0.0f); GL.LineWidth(2.0f); // Create render stuff var width = Math.Min(Window.Width, User.Settings.FullscreenWidth); var height = Math.Min(Window.Height, User.Settings.FullscreenHeight); var aamode = User.Settings.AAMode; m_postEffect = new PostEffectInstance(User.Settings); m_postEffect.Gamma = User.Settings.Gamma; int scale = (aamode == AntiAliasingMode.SSAA) ? 2 : 1; m_worldRenderTexture = new RenderTexture(scale * width, scale * height, true); m_upscaleEffect = new UpscaleEffectInstance(); m_backgroundEffect = new BackgroundEffectInstance(); m_upscaleRenderTexture = new RenderTexture(width, height, true); m_fullScreenQuad = CreateFullscreenQuad(); m_cameraAxisMarker = new AxisMarker(); // Create camera var aspectRatio = (float)Window.Width / (float)Window.Height; m_camera = new Camera(Matrix4.Identity, DEFAULT_FOV, aspectRatio); // Create screen m_screen = new Screen( Mouse, Keyboard, Language, m_window, m_audio, aspectRatio * SCREEN_HEIGHT, SCREEN_HEIGHT, width, height ); m_cursor = new Cursor(); m_cursor.Visible = false; m_screen.Elements.Add(m_cursor); m_debugMenu = new DebugMenu(this); m_debugMenu.Visible = false; m_screen.Elements.Add(m_debugMenu); // Add the rest of the asset sources: // Add the base assets var baseAssetFileStore = new FolderFileStore(Path.Combine(App.AssetPath, "base")); var baseAssets = new FileAssetSource("base", baseAssetFileStore); Assets.AddSource(baseAssets); // Add the main assets var mainAssetFileStore = new FolderFileStore(Path.Combine(App.AssetPath, "main")); var mainAssets = new FileAssetSource("main", mainAssetFileStore); Assets.AddSource(mainAssets); // Add the temp assets (used by the editor) var tempAssetFileStore = new LocatedFileStore( new FolderFileStore(Path.Combine(App.SavePath, "editor/temp")), "temp" ); var tempAssets = new FileAssetSource("temp", tempAssetFileStore); Assets.AddSource(tempAssets); // Add autoload mod assets foreach (Mod mod in Mods.AllMods) { if (mod.AutoLoad) { Assets.AddSource(mod.Assets); mod.Loaded = true; } } // Create initial loading state m_currentState = CreateInitialState(); m_pendingState = null; m_currentState.PreInit(null, null); m_currentState.Reveal(); m_currentState.Init(); }