Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / ui / settlement / SettlementPanel.cs
  1. using Godot;
  2.  
  3. namespace UI.Settlement;
  4.  
  5. /// <summary>
  6. /// 结算面板
  7. /// </summary>
  8. public partial class SettlementPanel : Settlement
  9. {
  10. public override void OnCreateUi()
  11. {
  12. S_Restart.Instance.Pressed += OnRestartClick;
  13. S_ToMenu.Instance.Pressed += OnBackClick;
  14.  
  15. if (GameApplication.Instance.DungeonManager.IsEditorMode) //在编辑器模式下打开的Ui
  16. {
  17. S_ToMenu.Instance.Text = "返回编辑器";
  18. }
  19. }
  20. //重新开始
  21. private void OnRestartClick()
  22. {
  23. Destroy();
  24. if (GameApplication.Instance.DungeonManager.IsEditorMode) //在编辑器模式下打开的Ui
  25. {
  26. EditorPlayManager.Restart();
  27. }
  28. else //正常重新开始
  29. {
  30. UiManager.Open_Loading();
  31. GameApplication.Instance.DungeonManager.RestartDungeon(false, GameApplication.Instance.DungeonConfig, () =>
  32. {
  33. UiManager.Destroy_Loading();
  34. });
  35. }
  36. }
  37.  
  38. //回到上一级
  39. private void OnBackClick()
  40. {
  41. Destroy();
  42. if (GameApplication.Instance.DungeonManager.IsEditorMode) //在编辑器模式下打开的Ui
  43. {
  44. EditorPlayManager.Exit();
  45. }
  46. else //正常关闭Ui, 回到大厅
  47. {
  48. UiManager.Open_Loading();
  49. GameApplication.Instance.DungeonManager.ExitDungeon(false, () =>
  50. {
  51. GameApplication.Instance.DungeonManager.LoadHall(() =>
  52. {
  53. UiManager.Destroy_Loading();
  54. });
  55. });
  56. }
  57. }
  58.  
  59. }