Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / hall / DungeonEntrance.cs
@小李xl 小李xl on 22 Feb 2024 1 KB 大厅进入地牢流程开发中
  1. using Godot;
  2.  
  3. /// <summary>
  4. /// 地牢入口节点
  5. /// </summary>
  6. public partial class DungeonEntrance : Area2D
  7. {
  8. public override void _Ready()
  9. {
  10. BodyEntered += OnBodyEntered;
  11. }
  12.  
  13. private void OnBodyEntered(Node2D body)
  14. {
  15. if (body is Player)
  16. {
  17. UiManager.Open_Loading();
  18. GameApplication.Instance.DungeonManager.ExitHall(() =>
  19. {
  20. // 验证该组是否满足生成地牢的条件
  21. var config = GameApplication.Instance.DungeonConfig;
  22. var result = DungeonManager.CheckDungeon(config.GroupName);
  23. if (result.HasError)
  24. {
  25. UiManager.Destroy_Loading();
  26. EditorWindowManager.ShowTips("警告", "当前组'" + config.GroupName + "'" + result.ErrorMessage + ", 不能生成地牢!");
  27. }
  28. else
  29. {
  30. GameApplication.Instance.DungeonManager.LoadDungeon(config, () =>
  31. {
  32. UiManager.Destroy_Loading();
  33. });
  34. }
  35. });
  36. }
  37. }
  38. }