public static void InitializeVariables() { KeyCodeArray = Enum.GetValues(typeof(KeyCode)); MouseButtonArray = Enum.GetValues(typeof(MouseButton)); Running = true; InputDelayMax = 9; RenderWindow = new RenderWindow( new VideoMode((uint)CurrentGamemode.SFMLWindowWidth, (uint)CurrentGamemode.SFMLWindowHeight), CurrentGamemode.Name); RenderWindow.SetFramerateLimit(60); RenderWindow.Show(true); }
private static void Main(string[] args) { var form = new SettingsDialog(); Application.EnableVisualStyles(); Application.Run(form); videoMode = VideoMode.DesktopMode; RenderWindow window = new RenderWindow(videoMode, "Maze Crap", Styles.Fullscreen); window.EnableVerticalSync(Settings.Default.VerticalSync); window.ShowMouseCursor(false); window.Closed += (sender, e) => Application.Exit(); window.KeyPressed += (sender, e) => ((RenderWindow) sender).Close(); SetUpMaze(); target = new Image(VideoMode.DesktopMode.Width/10, VideoMode.DesktopMode.Height/10) {Smooth = false}; float accumulator = 0; float WaitTime = 0; var fps = (float) Settings.Default.Framerate; window.Show(true); bool hasrun = false; while (window.IsOpened()) { accumulator += window.GetFrameTime(); while (accumulator > fps) { if (FinishedGenerating && !Solving) { if (WaitTime < Settings.Default.WaitTime && hasrun) { WaitTime += window.GetFrameTime(); } else { WaitTime = 0; CurrentCell = StartCell*2; VisitedWalls[CurrentCell.X, CurrentCell.Y] = true; CellStack.Clear(); Solving = true; hasrun = true; } accumulator -= fps; continue; } if (Solving && FinishedSolving) { if (WaitTime < Settings.Default.WaitTime) WaitTime += window.GetFrameTime(); else { Solving = false; FinishedGenerating = false; FinishedSolving = false; SetUpMaze(); continue; } continue; } if (Solving && !FinishedSolving) { if (Settings.Default.ShowSolving) FinishedSolving = !SolveIterate(CellStack, Cells, Walls, StartCell, EndCell); else { while (SolveIterate(CellStack, Cells, Walls, StartCell, EndCell)) ; FinishedSolving = true; } accumulator -= fps; continue; } if (Settings.Default.ShowGeneration) { FinishedGenerating = !GenerateIterate(CellStack, Cells, Walls); hasrun = true; } else { while (GenerateIterate(CellStack, Cells, Walls)) ; FinishedGenerating = true; } accumulator -= fps; NeedsRedraw = true; } Render(window); window.Display(); window.DispatchEvents(); } }
public Main() { StartPosition = FormStartPosition.Manual; InitializeComponent(); Text = "Box2CS Level Editor - Box2D version " + Box2DVersion.Version.ToString(); renderWindow = new RenderWindow(panel1.Handle, new ContextSettings(32, 0, 12)); renderWindow.Resized += new EventHandler<SizeEventArgs>(render_Resized); renderWindow.MouseButtonPressed += new EventHandler<MouseButtonEventArgs>(renderWindow_MouseButtonPressed); renderWindow.MouseButtonReleased += new EventHandler<MouseButtonEventArgs>(renderWindow_MouseButtonReleased); renderWindow.MouseMoved += new EventHandler<MouseMoveEventArgs>(renderWindow_MouseMoved); renderWindow.KeyPressed += new EventHandler<SFML.Window.KeyEventArgs>(renderWindow_KeyPressed); renderWindow.KeyReleased += new EventHandler<SFML.Window.KeyEventArgs>(renderWindow_KeyReleased); renderWindow.Show(true); OnGLResize(); Tao.FreeGlut.Glut.glutInit(); debugDraw = new TestDebugDraw(); debugDraw.Flags = DebugFlags.Shapes | DebugFlags.Joints | DebugFlags.CenterOfMasses; Gl.glEnable(Gl.GL_BLEND); Gl.glBlendFunc(Gl.GL_SRC_ALPHA, Gl.GL_ONE_MINUS_SRC_ALPHA); }
/// <summary> /// Handles the <see cref="IGameContainer.RenderWindowChanged"/> event. /// </summary> /// <param name="oldValue">The old value.</param> /// <param name="newValue">The new value.</param> protected virtual void OnRenderWindowChanged(RenderWindow oldValue, RenderWindow newValue) { if (newValue == null) return; newValue.ShowMouseCursor(ShowMouseCursor); newValue.EnableVerticalSync(UseVerticalSync); newValue.SetActive(); newValue.Show(true); }
void RecreateRenderWindow(IntPtr handle) { if (_rw != null) { if (!_rw.IsDisposed) _rw.Dispose(); _rw = null; } _rw = new RenderWindow(handle); _rw.EnableVerticalSync(false); _rw.Show(true); OnRenderWindowCreated(_rw); }