using System; using System.Collections.Generic; using System.IO; using System.Text.RegularExpressions; using UnityEngine; using UnityEditor; using UnityEditor.SceneManagement; public class DesignerTool : Editor { [MenuItem("策划工具/导表")] public static void CreateTables() { TableCreater.CreateTableAsset(); TableCreater.CreateTableAsset(); TableCreater.CreateTableAsset(); TableCreater.CreateTableAsset(); TableCreater.CreateTableAsset(); } [MenuItem("策划工具/导出关卡Json")] public static void CreateLevelJson() { LevelOnlineData tData = new LevelOnlineData(); tData.Version = Application.version; tData.Formations = new List(); List tLevelList = TableLevel.Instance.GetAll(); int tCount = Mathf.Min(100, tLevelList.Count); for (int i = 0; i < tCount; i++) { tData.Formations.Add(tLevelList[i].Formation); } string tFilePath = string.Format("Assets/Excels/LevelOnline.json"); FileInfo tFile = new FileInfo(tFilePath); StreamWriter tSW = tFile.CreateText(); string tJson = LevelOnlineData.DataToJson(tData); tSW.WriteLine(tJson); tSW.Close(); tSW.Dispose(); AssetDatabase.Refresh(); } [MenuItem("策划工具/运行游戏(手摆阵容)")] public static void PlayGame1() { GameConfig.Instance.IsAutoLevel = false; RealPlay(); } [MenuItem("策划工具/运行游戏(召唤次数)")] public static void PlayGame2() { GameConfig.Instance.IsAutoLevel = true; RealPlay(); } private static void RealPlay() { GameConfig.Instance.IsDebug = true; AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); if (EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo()) { EditorSceneManager.OpenScene("Assets/Scenes/Init.unity"); } if (!EditorApplication.isPlaying) { EditorApplication.isPlaying = true; } } }