Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / room / AutoTileConfig.cs
  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. private List<Vector2I> _middleLayerAtlasCoords = new List<Vector2I>()
  24. {
  25. new Vector2I(1, 6),
  26. new Vector2I(2, 6),
  27. new Vector2I(3, 6),
  28. new Vector2I(1, 7),
  29. new Vector2I(2, 7),
  30. new Vector2I(3, 7),
  31. };
  32. private List<Vector2I> _topLayerAtlasCoords = new List<Vector2I>()
  33. {
  34. new Vector2I(1, 4),
  35. new Vector2I(1, 3),
  36. new Vector2I(1, 2),
  37. new Vector2I(2, 2),
  38. new Vector2I(3, 2),
  39. new Vector2I(3, 3),
  40. new Vector2I(3, 4),
  41. new Vector2I(11, 2),
  42. new Vector2I(13, 2),
  43. };
  44.  
  45. public int GetLayer(Vector2I atlasCoords)
  46. {
  47. var layer = GameConfig.FloorMapLayer;
  48. if (_middleLayerAtlasCoords.Contains(atlasCoords))
  49. {
  50. layer = GameConfig.MiddleMapLayer;
  51. }
  52. else if (_topLayerAtlasCoords.Contains(atlasCoords))
  53. {
  54. layer = GameConfig.TopMapLayer;
  55. }
  56.  
  57. return layer;
  58. }
  59. }