Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / room / AutoTileConfig.cs
@小李xl 小李xl on 22 Sep 2023 2 KB 地牢迷雾,开发中
  1.  
  2. using System.Collections.Generic;
  3. using Godot;
  4.  
  5. /// <summary>
  6. /// 房间图块配置信息
  7. /// </summary>
  8. public class AutoTileConfig
  9. {
  10. public TileCellInfo IN_LT = new TileCellInfo(0, new Vector2I(3, 3));
  11. public TileCellInfo IN_LB = new TileCellInfo(0, new Vector2I(11, 2));
  12. public TileCellInfo IN_RT = new TileCellInfo(0, new Vector2I(1, 3));
  13. public TileCellInfo IN_RB = new TileCellInfo(0, new Vector2I(13, 2));
  14. public TileCellInfo R = new TileCellInfo(0, new Vector2I(1, 3));
  15. public TileCellInfo L = new TileCellInfo(0, new Vector2I(3, 3));
  16. public TileCellInfo T = new TileCellInfo(0, new Vector2I(2, 7));
  17. public TileCellInfo B = new TileCellInfo(0, new Vector2I(2, 2));
  18. public TileCellInfo Floor = new TileCellInfo(0, new Vector2I(0, 8));
  19. public TileCellInfo OUT_LT = new TileCellInfo(0, new Vector2I(1, 2));
  20. public TileCellInfo OUT_LB = new TileCellInfo(0, new Vector2I(1, 7));
  21. public TileCellInfo OUT_RT = new TileCellInfo(0, new Vector2I(3, 2));
  22. public TileCellInfo OUT_RB = new TileCellInfo(0, new Vector2I(3, 7));
  23. public TileCellInfo WALL_BLOCK = new TileCellInfo(0, new Vector2I(2, 3));
  24. private List<Vector2I> _middleLayerAtlasCoords = new List<Vector2I>()
  25. {
  26. new Vector2I(1, 6),
  27. new Vector2I(2, 6),
  28. new Vector2I(3, 6),
  29. new Vector2I(1, 7),
  30. new Vector2I(2, 7),
  31. new Vector2I(3, 7),
  32. };
  33. private List<Vector2I> _topLayerAtlasCoords = new List<Vector2I>()
  34. {
  35. new Vector2I(1, 4),
  36. new Vector2I(1, 3),
  37. new Vector2I(1, 2),
  38. new Vector2I(2, 2),
  39. new Vector2I(3, 2),
  40. new Vector2I(3, 3),
  41. new Vector2I(3, 4),
  42. new Vector2I(11, 2),
  43. new Vector2I(13, 2),
  44. };
  45.  
  46. public int GetLayer(Vector2I atlasCoords)
  47. {
  48. var layer = GameConfig.FloorMapLayer;
  49. if (_middleLayerAtlasCoords.Contains(atlasCoords))
  50. {
  51. layer = GameConfig.MiddleMapLayer;
  52. }
  53. else if (_topLayerAtlasCoords.Contains(atlasCoords))
  54. {
  55. layer = GameConfig.TopMapLayer;
  56. }
  57.  
  58. return layer;
  59. }
  60. }