From 07fb37880951643af7abb35a2eb8f7f9792005b5 Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Wed, 20 Sep 2023 10:54:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=AC=A6=E6=96=87=E5=89=AF?= =?UTF-8?q?=E6=9C=AC=E9=87=8D=E7=94=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BoardEditorTools/BoardEditorWindow.cs | 91 +++++++++++++++++- Assets/Editor/BFOthersTools/OtherToolsMenu.cs | 2 +- .../app/config/chapter_dungeon_rune.lua.bytes | Bin 89828 -> 89828 bytes .../battle_controller_dungeon_rune.lua.bytes | Bin 18351 -> 19493 bytes 4 files changed, 89 insertions(+), 4 deletions(-) diff --git a/Assets/Editor/BFOthersTools/BoardEditorTools/BoardEditorWindow.cs b/Assets/Editor/BFOthersTools/BoardEditorTools/BoardEditorWindow.cs index 4e58b6753..f28b0e604 100644 --- a/Assets/Editor/BFOthersTools/BoardEditorTools/BoardEditorWindow.cs +++ b/Assets/Editor/BFOthersTools/BoardEditorTools/BoardEditorWindow.cs @@ -20,11 +20,14 @@ namespace BFEditor // } const string BOARD_EXCEL_KEY = "bf_board_excel_key"; const string BOARD_GRID_TYPE_KEY = "bf_board_grid_type_key"; + const string BOARD_GRID_EDGE_KEY = "bf_board_grid_edge_key"; int gridCount = 49; string battleImgDirectory = "Assets/arts/textures/ui/battle/"; string boardFilepath; string boardGridTypePath; + string boardGridEdgePath; string boardFiledName = "board"; + string boardEdgeFiledName = "grid_edge"; string randomTypeStr = ""; int curIndex = 1; int maxRow = 7; @@ -32,6 +35,9 @@ namespace BFEditor Dictionary boardDict = new Dictionary(); Dictionary outPutBoardDict = new Dictionary(); Dictionary imgDict = new Dictionary(); + Dictionary> boardGridEdgeDict = new Dictionary>(); + Dictionary edgeDict = new Dictionary(); + Dictionary outPutBoardEdgeDict = new Dictionary(); bool loadExcelOver = false; Dictionary elementTypeImgDict = new Dictionary(){ [1] = "red_1", @@ -55,6 +61,12 @@ namespace BFEditor { boardGridTypePath = "选择grid_type配置表路径"; } + + boardGridEdgePath = GetBoardGridEdgePath(); + if (boardGridEdgePath.Equals("")) + { + boardGridEdgePath = "选择grid_edge_type配置表路径"; + } string[] paths = Directory.GetFiles(battleImgDirectory); foreach(var path in paths) { @@ -86,6 +98,16 @@ namespace BFEditor PlayerPrefs.SetString(BOARD_GRID_TYPE_KEY, path); } + string GetBoardGridEdgePath() + { + return PlayerPrefs.GetString(BOARD_GRID_EDGE_KEY, ""); + } + + void SetBoardGridEdgePath(string path) + { + PlayerPrefs.SetString(BOARD_GRID_EDGE_KEY, path); + } + BoardEditorWindow() { this.titleContent = new GUIContent("棋盘编辑器"); @@ -114,6 +136,20 @@ namespace BFEditor } } GUILayout.EndHorizontal(); + GUILayout.BeginHorizontal(); + GUILayout.Label("grid_edge 路径", GUILayout.Width(100)); + GUILayout.Space(10); + GUILayout.TextField(boardGridEdgePath, GUILayout.Width(300)); + if (GUILayout.Button("选择", GUILayout.Width(80))) + { + string openPath = EditorUtility.OpenFilePanel("选择配置表", GetBoardGridEdgePath(), ""); + if (openPath.CompareTo("") != 0) + { + boardGridEdgePath = openPath; + SetBoardGridEdgePath(openPath); + } + } + GUILayout.EndHorizontal(); GUILayout.Space(10); GUILayout.BeginHorizontal(); @@ -357,6 +393,21 @@ namespace BFEditor boardGridTypeDict[key] = dict; } + // 读取grid_edge_type配置表 + BFEditorUtils.RunCommond("python", "load_board.py " + tempPath + " " + boardGridEdgePath, pythonToolPath); + string boardGridEdgeJson = File.ReadAllText(tempPath); + jsonObj = (JObject)JsonConvert.DeserializeObject(boardGridEdgeJson); + foreach (var item in jsonObj) + { + int key = int.Parse(item.Key); + Dictionary dict = new Dictionary(); + foreach (var item2 in (JObject)item.Value) + { + dict[item2.Key] = item2.Value.ToString(); + } + boardGridEdgeDict[key] = dict; + } + // 读取boardFile配置表 BFEditorUtils.RunCommond("python", "load_board.py " + tempPath + " " + boardFilepath, pythonToolPath); string boardFileJson = File.ReadAllText(tempPath); @@ -369,6 +420,12 @@ namespace BFEditor boardDict[key] = copyBoard((JArray)item.Value[boardFiledName]); outPutBoardDict[key] = copyBoard((JArray)item.Value[boardFiledName]); } + if (item.Value[boardEdgeFiledName] != null) + { + int key = int.Parse(item.Key); + edgeDict[key] = copyBoard((JArray)item.Value[boardEdgeFiledName]); + outPutBoardEdgeDict[key] = copyBoard((JArray)item.Value[boardEdgeFiledName]); + } } loadExcelOver = true; @@ -394,7 +451,7 @@ namespace BFEditor void DragBoard() { Texture img; - GUI.DrawTexture(new Rect(0, 150, 702, 702), boardImg); + GUI.DrawTexture(new Rect(0, 200, 702, 702), boardImg); if(!loadExcelOver) { return; @@ -406,7 +463,7 @@ namespace BFEditor return; } - GUILayout.BeginArea(new Rect(0, 150, 702, 702)); + GUILayout.BeginArea(new Rect(0, 200, 702, 702)); GUILayout.BeginVertical(); JArray jo = boardDict[curIndex]; int posIndex = 0; @@ -452,9 +509,37 @@ namespace BFEditor GUILayout.EndHorizontal(); } GUILayout.EndVertical(); + if (edgeDict.ContainsKey(curIndex)) + { + JArray edgeJo = edgeDict[curIndex]; + for (int i = 0; i < edgeJo.Count; i++) + { + JArray gridInfo = (JArray)edgeJo[i]; + if(gridInfo.Count < 3) + { + continue; + } + int posId = (int)gridInfo[0]; + int edgeType = (int)gridInfo[1]; + int dir = (int)gridInfo[2]; + // 绘制类型 + if(boardGridEdgeDict[edgeType].ContainsKey("icon")) + { + string icon = boardGridEdgeDict[edgeType]["icon"]; + if (imgDict.ContainsKey(icon)) + { + int row = posId / 10; + int col = posId % 10; + img = imgDict[icon]; + GUI.DrawTexture(new Rect(startOffset + (col - 1) * textureWidth, startOffset + (row - 1) * textureWidth, 92, 32), img); + } + } + } + } + GUILayout.EndArea(); - GUILayout.BeginArea(new Rect(730, 150, 510 * 7, 550 / 7 * maxRow)); + GUILayout.BeginArea(new Rect(730, 200, 510 * 7, 550 / 7 * maxRow)); GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); GUILayout.Label("棋盘配置信息", GUILayout.Width(100), GUILayout.Height(30)); diff --git a/Assets/Editor/BFOthersTools/OtherToolsMenu.cs b/Assets/Editor/BFOthersTools/OtherToolsMenu.cs index 9c78fb7c0..7859035cb 100644 --- a/Assets/Editor/BFOthersTools/OtherToolsMenu.cs +++ b/Assets/Editor/BFOthersTools/OtherToolsMenu.cs @@ -104,7 +104,7 @@ namespace BFEditor [MenuItem("其他工具/棋盘编辑器", false, 9)] public static void CreateBoardEditorWindow() { - var window = (BoardEditorWindow)EditorWindow.GetWindowWithRect(typeof(BoardEditorWindow), new Rect(Screen.width / 2, Screen.height / 2, 1200, 850), true); + var window = (BoardEditorWindow)EditorWindow.GetWindowWithRect(typeof(BoardEditorWindow), new Rect(Screen.width / 2, Screen.height / 2, 1200, 1000), true); window.Show(); } } diff --git a/Assets/lua/app/config/chapter_dungeon_rune.lua.bytes b/Assets/lua/app/config/chapter_dungeon_rune.lua.bytes index d3e61d8fa3ae6e84958636afefb2b72a74ce46ca..4cf5aaa9c584f06feffe802adb30daf5ef9eeca5 100644 GIT binary patch delta 9055 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
w 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