棋盘编辑器扩展
This commit is contained in:
parent
358a41e2ed
commit
c0a5a33d45
@ -218,6 +218,7 @@ namespace BFEditor
|
|||||||
GUILayout.BeginVertical();
|
GUILayout.BeginVertical();
|
||||||
GUILayout.Label("随机类型和数量[类型,数量] 空格 [类型,数量]");
|
GUILayout.Label("随机类型和数量[类型,数量] 空格 [类型,数量]");
|
||||||
randomTypeStr = GUILayout.TextField(randomTypeStr, GUILayout.Width(500));
|
randomTypeStr = GUILayout.TextField(randomTypeStr, GUILayout.Width(500));
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
if(GUILayout.Button("生成随机棋盘", GUILayout.Width(80)))
|
if(GUILayout.Button("生成随机棋盘", GUILayout.Width(80)))
|
||||||
{
|
{
|
||||||
string[] units = randomTypeStr.Split('[');
|
string[] units = randomTypeStr.Split('[');
|
||||||
@ -236,7 +237,6 @@ namespace BFEditor
|
|||||||
{
|
{
|
||||||
list.Add(i);
|
list.Add(i);
|
||||||
}
|
}
|
||||||
Debug.Log(JsonConvert.SerializeObject(dict));
|
|
||||||
JArray ja = new JArray();
|
JArray ja = new JArray();
|
||||||
for (int i = 0; i < gridCount; i++)
|
for (int i = 0; i < gridCount; i++)
|
||||||
{
|
{
|
||||||
@ -254,6 +254,51 @@ namespace BFEditor
|
|||||||
}
|
}
|
||||||
boardDict[curIndex] = ja;
|
boardDict[curIndex] = ja;
|
||||||
}
|
}
|
||||||
|
if(GUILayout.Button("生成随机棋盘+元素", GUILayout.Width(110)))
|
||||||
|
{
|
||||||
|
string[] units = randomTypeStr.Split('[');
|
||||||
|
Dictionary<int, int> dict = new Dictionary<int, int>();
|
||||||
|
for (int i = 0; i < units.Length; i++)
|
||||||
|
{
|
||||||
|
string formatStr = units[i].Replace("[", "").Replace("]", "").Replace(" ", "");
|
||||||
|
string[] unitList = formatStr.Split(',');
|
||||||
|
if (unitList.Length >= 2)
|
||||||
|
{
|
||||||
|
dict[int.Parse(unitList[0])] = int.Parse(unitList[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<int> list = new List<int>();
|
||||||
|
for (int i = 0; i < gridCount; i++)
|
||||||
|
{
|
||||||
|
list.Add(i);
|
||||||
|
}
|
||||||
|
JArray ja = new JArray();
|
||||||
|
for (int i = 0; i < gridCount; i++)
|
||||||
|
{
|
||||||
|
JArray unit = (JArray)JsonConvert.DeserializeObject("[0, 0]");
|
||||||
|
ja.Add(unit);
|
||||||
|
}
|
||||||
|
foreach (int gridType in dict.Keys)
|
||||||
|
{
|
||||||
|
for(int i = 0; i < dict[gridType]; i++)
|
||||||
|
{
|
||||||
|
int index = UnityEngine.Random.Range(0, list.Count);
|
||||||
|
ja[list[index]][0] = gridType;
|
||||||
|
list.RemoveAt(index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int i = 0; i < ja.Count; i++)
|
||||||
|
{
|
||||||
|
int gridType = (int)(ja[i][0]);
|
||||||
|
Dictionary<string, string> gridTypeDict = boardGridTypeDict[gridType];
|
||||||
|
if (gridTypeDict.ContainsKey("break_stay_element") || !gridTypeDict.ContainsKey("element_invalid"))
|
||||||
|
{
|
||||||
|
ja[i][1] = UnityEngine.Random.Range(1, 6);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
boardDict[curIndex] = ja;
|
||||||
|
}
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
GUILayout.EndArea();
|
GUILayout.EndArea();
|
||||||
if(GUI.Button(new Rect(1050, 10, 100, 30), "导出到Excel"))
|
if(GUI.Button(new Rect(1050, 10, 100, 30), "导出到Excel"))
|
||||||
{
|
{
|
||||||
@ -302,6 +347,7 @@ namespace BFEditor
|
|||||||
foreach (var item2 in (JObject)item.Value)
|
foreach (var item2 in (JObject)item.Value)
|
||||||
{
|
{
|
||||||
dict[item2.Key] = item2.Value.ToString();
|
dict[item2.Key] = item2.Value.ToString();
|
||||||
|
Debug.Log(item2.Key);
|
||||||
}
|
}
|
||||||
boardGridTypeDict[key] = dict;
|
boardGridTypeDict[key] = dict;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user