MainForm.cs 998 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. using System.Windows.Forms;
  3. namespace Playgrounds.WinForms
  4. {
  5. public partial class MainForm : Form
  6. {
  7. Game game;
  8. public MainForm()
  9. {
  10. InitializeComponent();
  11. }
  12. async void restartButton_Click(object sender, EventArgs e)
  13. {
  14. game = await urhoSurface.Show<Game>(new Urho.ApplicationOptions() { UseDirectX11 = true });
  15. if (game.IsActive) //in case if user clicks "restart" too quickly
  16. game.Viewport.SetClearColor(Urho.Extensions.WinForms.UrhoSurface.ConvertColor(urhoSurface.BackColor));
  17. }
  18. void removeControlBtn_Click(object sender, EventArgs e)
  19. {
  20. urhoSurface.Stop();
  21. //or just:
  22. //game?.Exit();
  23. }
  24. void pausedCb_CheckedChanged(object sender, EventArgs e)
  25. {
  26. urhoSurface.Paused = pausedCb.Checked;
  27. }
  28. void spawnBtn_Click(object sender, EventArgs e)
  29. {
  30. if (game == null || !game.IsActive)
  31. return;
  32. Game.InvokeOnMain(() =>
  33. {
  34. for (int i = 0; i < 10; i++)
  35. {
  36. game.SpawnRandomShape();
  37. }
  38. });
  39. }
  40. }
  41. }