Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / ui / main / MainPanel.cs
  1. using Godot;
  2.  
  3. namespace UI.Main;
  4.  
  5. /// <summary>
  6. /// 主菜单
  7. /// </summary>
  8. public partial class MainPanel : Main
  9. {
  10.  
  11. public override void OnCreateUi()
  12. {
  13. S_Start.Instance.Pressed += OnStartGameClick;
  14. S_Exit.Instance.Pressed += OnExitClick;
  15. S_Tools.Instance.Pressed += OnToolsClick;
  16. S_Setting.Instance.Pressed += OnSettingClick;
  17. }
  18. //点击开始游戏
  19. private void OnStartGameClick()
  20. {
  21. //验证该组是否满足生成地牢的条件
  22. var config = GameApplication.Instance.DungeonConfig;
  23. var result = DungeonManager.CheckDungeon(config.GroupName);
  24. if (result.HasError)
  25. {
  26. EditorWindowManager.ShowTips("警告", "当前组'" + config.GroupName + "'" + result.ErrorMessage + ", 不能生成地牢!");
  27. }
  28. else
  29. {
  30. GameApplication.Instance.DungeonManager.LoadDungeon(config);
  31. HideUi();
  32. }
  33. }
  34.  
  35. //退出游戏
  36. private void OnExitClick()
  37. {
  38. GetTree().Quit();
  39. }
  40.  
  41. //点击开发者工具
  42. private void OnToolsClick()
  43. {
  44. OpenNextUi(UiManager.UiName.MapEditorProject);
  45. }
  46.  
  47. //点击设置按钮
  48. private void OnSettingClick()
  49. {
  50. OpenNextUi(UiManager.UiName.Setting);
  51. }
  52. }