Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / map / RoomInfo.cs
@lijincheng lijincheng on 26 Feb 2023 1 KB 开发中
  1.  
  2. using System.Collections.Generic;
  3. using Godot;
  4.  
  5. /// <summary>
  6. /// 房间的数据描述
  7. /// </summary>
  8. public class RoomInfo
  9. {
  10. public RoomInfo(int id, DungeonRoomSplit roomSplit)
  11. {
  12. Id = id;
  13. RoomSplit = roomSplit;
  14. }
  15.  
  16. /// <summary>
  17. /// 房间 id
  18. /// </summary>
  19. public int Id;
  20.  
  21. /// <summary>
  22. /// 生成该房间使用的配置数据
  23. /// </summary>
  24. public DungeonRoomSplit RoomSplit;
  25. /// <summary>
  26. /// 房间大小, 单位: 格
  27. /// </summary>
  28. public Vector2I Size;
  29.  
  30. /// <summary>
  31. /// 房间位置, 单位: 格
  32. /// </summary>
  33. public Vector2I Position;
  34. /// <summary>
  35. /// 门
  36. /// </summary>
  37. public List<RoomDoorInfo> Doors = new List<RoomDoorInfo>();
  38.  
  39. /// <summary>
  40. /// 下一个房间
  41. /// </summary>
  42. public List<RoomInfo> Next = new List<RoomInfo>();
  43. /// <summary>
  44. /// 上一个房间
  45. /// </summary>
  46. public RoomInfo Prev;
  47.  
  48. public int GetHorizontalEnd()
  49. {
  50. return Position.X + Size.X;
  51. }
  52.  
  53. public int GetVerticalEnd()
  54. {
  55. return Position.Y + Size.Y;
  56. }
  57. public int GetHorizontalStart()
  58. {
  59. return Position.X;
  60. }
  61.  
  62. public int GetVerticalStart()
  63. {
  64. return Position.Y;
  65. }
  66. }