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 TileCellData IN_LT = new TileCellData(0, new Vector2I(3, 3));
  11. public TileCellData IN_LB = new TileCellData(0, new Vector2I(11, 2));
  12. public TileCellData IN_RT = new TileCellData(0, new Vector2I(1, 3));
  13. public TileCellData IN_RB = new TileCellData(0, new Vector2I(13, 2));
  14. public TileCellData R = new TileCellData(0, new Vector2I(1, 3));
  15. public TileCellData L = new TileCellData(0, new Vector2I(3, 3));
  16. public TileCellData T = new TileCellData(0, new Vector2I(2, 7));
  17. public TileCellData B = new TileCellData(0, new Vector2I(2, 2));
  18. public TileCellData Floor = new TileCellData(0, new Vector2I(0, 8));
  19. public TileCellData OUT_LT = new TileCellData(0, new Vector2I(1, 2));
  20. public TileCellData OUT_LB = new TileCellData(0, new Vector2I(1, 7));
  21. public TileCellData OUT_RT = new TileCellData(0, new Vector2I(3, 2));
  22. public TileCellData OUT_RB = new TileCellData(0, new Vector2I(3, 7));
  23. public TileCellData WALL_BLOCK = new TileCellData(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. }