Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / hall / DungeonEntrance.cs
  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. // 验证该组是否满足生成地牢的条件
  18. var config = GameApplication.Instance.DungeonConfig;
  19. var result = DungeonManager.CheckDungeon(config.GroupName);
  20. if (result.HasError)
  21. {
  22. UiManager.Destroy_Loading();
  23. EditorWindowManager.ShowTips("警告", "当前组'" + config.GroupName + "'" + result.ErrorMessage + ", 不能生成地牢!");
  24. }
  25. else
  26. {
  27. UiManager.Open_Loading();
  28. GameApplication.Instance.DungeonManager.ExitHall(true, () =>
  29. {
  30. GameApplication.Instance.DungeonManager.LoadDungeon(config, () =>
  31. {
  32. UiManager.Destroy_Loading();
  33. });
  34. });
  35. }
  36. }
  37. }
  38. }