using System.Collections.Generic; using Godot; /// <summary> /// 房间图块配置信息 /// </summary> public class AutoTileConfig { public TileCellData IN_LT = new TileCellData(0, new Vector2I(3, 3)); public TileCellData IN_LB = new TileCellData(0, new Vector2I(11, 2)); public TileCellData IN_RT = new TileCellData(0, new Vector2I(1, 3)); public TileCellData IN_RB = new TileCellData(0, new Vector2I(13, 2)); public TileCellData R = new TileCellData(0, new Vector2I(1, 3)); public TileCellData L = new TileCellData(0, new Vector2I(3, 3)); public TileCellData T = new TileCellData(0, new Vector2I(2, 7)); public TileCellData B = new TileCellData(0, new Vector2I(2, 2)); public TileCellData Floor = new TileCellData(0, new Vector2I(0, 8)); public TileCellData OUT_LT = new TileCellData(0, new Vector2I(1, 2)); public TileCellData OUT_LB = new TileCellData(0, new Vector2I(1, 7)); public TileCellData OUT_RT = new TileCellData(0, new Vector2I(3, 2)); public TileCellData OUT_RB = new TileCellData(0, new Vector2I(3, 7)); public TileCellData WALL_BLOCK = new TileCellData(0, new Vector2I(2, 3)); private List<Vector2I> _middleLayerAtlasCoords = new List<Vector2I>() { new Vector2I(1, 6), new Vector2I(2, 6), new Vector2I(3, 6), new Vector2I(1, 7), new Vector2I(2, 7), new Vector2I(3, 7), }; private List<Vector2I> _topLayerAtlasCoords = new List<Vector2I>() { new Vector2I(1, 4), new Vector2I(1, 3), new Vector2I(1, 2), new Vector2I(2, 2), new Vector2I(3, 2), new Vector2I(3, 3), new Vector2I(3, 4), new Vector2I(11, 2), new Vector2I(13, 2), }; public int GetLayer(Vector2I atlasCoords) { var layer = GameConfig.FloorMapLayer; if (_middleLayerAtlasCoords.Contains(atlasCoords)) { layer = GameConfig.MiddleMapLayer; } else if (_topLayerAtlasCoords.Contains(atlasCoords)) { layer = GameConfig.TopMapLayer; } return layer; } }