Assets/Editor/Config.meta
New file @@ -0,0 +1,9 @@ fileFormatVersion: 2 guid: 55b761ab9c14ec946bedcea30a60d9f4 folderAsset: yes timeCreated: 1539239747 licenseType: Pro DefaultImporter: userData: assetBundleName: assetBundleVariant: Assets/Editor/Config/ExcelToTxt.txt
New file @@ -0,0 +1,167 @@ 配置母表文件名 客户端表名 B.宝箱表开启 Chests B.宝箱表产出表 ChestsAward B.Boss技能提示 bossSkillTips C.充值表 CTG C.充值商品编号表 OrderInfo C.称号表 Dienstgrad C.成就表 Success C.成长型怪物公式参数表 - D.等级表 PlayerLV D.等级开启功能 FuncOpenLV D.地图表格 Map D.地图资源表格 MapResources D.掉落表 NPCDropItem D.地图NPC配置表 MapEventPoint F.富文本信息替换 RichTextMsgReplace F.符印表 Rune F.副本表 Dungeon F.副本总表 DungeonOpenTime F.副本状态时间表 DungeonStateTime F.副本状态时间定制表 DungeonSpecialStateTime F.副本刷怪标识点表 - F.符印塔表 RuneTower F.符印塔塔层表 RuneTowerFloor G.GM测试属性表 - G.功能配置表格 FuncConfig G.怪物名称颜色 MonsterNameColor H.合成表 ItemCompound H.换装表 ModelRes H.魂石配置表 AttrFruit J.境界表 Realm J.技能表 Skill L.灵宠表 PetInfo Z.装备分解属性表 EquipDeCompose L.灵宠升阶消耗表 PetClassCost N.NPC表 NPC Q.区域镜头 AreaCamera S.神兵表 GodWeapon S.属性条目配置 PlayerProperty S.随机名字列表 RandomName W.物品表 Item X.洗练属性 EquipWash X.洗练套装属性 EquipWashSpec X.信息提示表 SysInfo Y.羽翼精炼材料表 WingRefineExp Y.羽翼精炼属性随机 WingRefineAttr Z.战斗力参数 FightPowerParam Z.装备评分 EquipGSParam Z.装备对应积分经验表 PetEatEquip Z.装备强化表 ItemPlus Z.装备强化等级上限 ItemPlusMax Z.装备全身强化属性 ItemPlusSumAttr Z.坐骑升级消耗表 HorseUp Z.坐骑表 Horse Z.装备套装属性 EquipSuitAttr Z.装备套装材料 EquipSuitCompound Z.各个职业相关配置表 JobSetup T.特效管理表 Effect P.屏蔽词 DirtyWord P.排行榜表 RankList S.世界等级表 WorldLV X.仙盟表 Family X.仙盟科技表 FamilyTech Z.职业名称 OccupationName X.仙盟Boss表 FairyBoss Y.语言表 Language Y.音效表 Audio Y.运营活动表 ActionControl I.Icon表 Icon C.传送点配置 maptransport C.创角表 CreateRole Z.战斗伤害数字 DamageNum B.表情表 Face R.日常任务表 DailyQuest R.日常活动表 DailyQuestOpenTime R.日常活动定制表 DailyQuestSpecialOpenTime R.日常活跃奖励表 DailyLivenessReward J.集市表 Market J.集市查询表 MarketQuery Y.邮件模板表 Mail Z.装备全身星数属性 RoleEquipStars F.法宝表 Treasure J.技能升级 TreasureSkill J.界面索引表 WindowSearch X.修行表 RealmPractice F.副本目标提示表 DungeonHint Q.签到奖励表 SignIn Q.累计签到奖励表 ContinueSignIn V.VIP礼包表 VIPAward D.定制物品表 AppointItem V.vip特权表 VipPrivilege V.VIP杀怪加攻击表 VIPKillNPC S.商城 Store S.世界BOSS表 WorldBoss B.Boss之家 BossHome B.Boss信息 BossInfo G.个人BOSS PersonalBoss G.古神禁地 ElderGodArea F.法宝铸炼表 TreasureRefine L.炼丹炉等级表 RefineStove L.炼丹表 Alchemy L.炼丹表特殊产出表 AlchemySpec Y.宴会题库表 QuestionBank X.仙盟活跃表 UnionLiven B.BOSS秀 ActorShow H.红包表 RedPack G.功能预告表 FunctionForecast G.GM命令表 GmCmd H.获取途径索引表 GetItemWays C.查看玩家功能表 ViewRoleFunc Y.引导表 Guide W.我要变强表 RoleStronger H.获取资源表 RoleResource N.NPC自言自语表 NPCDialogue R.任务列表 TaskList F.封魔坛BOSS表 DemonJar J.剧情对话任务表 StoryMissions F.副本鼓舞表 DungeonInspire F.符印合成表 RuneCompose Z.资源找回表 ResourcesBack C.场景阴影配置 SceneShadow G.怪物刷新点表 MonsterRefreshPoint T.天气效果表 Weather G.规则表 Rule S.神兽表 Dogz S.神兽强化表 DogzEquipPlus F.副本组队目标表 TeamTarget Q.全民冲榜排行奖励表 OSCBillRankAward Q.全民冲榜达成奖励表 OSCBillTagAward Q.七天登陆奖励 InSevenDays Q.七天在线奖励 OnlineAward Q.七天限时特惠表 SpringSale D.等级礼包表 LVAawrd B.本源法宝推荐属性表 DemonRecommondProperty T.投资表 Invest T.套装特效表 SuitEffect L.Loading提示表 LoadingTip X.仙魔成就表 XMZZAchievement X.寻宝产出库表 XBGetItem K.开服红包成就表 OSRedAchieve X.仙宝寻主表 TreasureFindHost F.法宝升级表 TreasureUp F.法宝特权表 TreasurePrivilege L.loading界面功能展示 LoadingFunction D.登录广告表 LoginAd S.双倍经验活动表 - X.消费返利活动表 - X.消费返利模板表 - X.限时特惠表 - X.限时礼包表 - X.限时礼包模板表 - J.极品白拿表 FreeGoods B.Boss复活 BossReborn B.Boss复活模板表 - B.BOSS复活活动时间表 - X.仙界盛典活动时间表 - X.仙界盛典-绝版降临表 UniquenessArrive X.仙界盛典-全民来嗨 AllPeopleParty X.仙界盛典-全民来嗨奖励 AllPeoplePartyAward T.天赋表 Talent K.空中楼宇 AerialBuilding D.多倍修行点活动时间表 - Z.宗门试炼兑换表 TrialExchange S.神兽副本 DogzDungeon Z.宗门试炼奖励表 TrialRewards X.仙盟抢Boss表 FairyGrabBoss P.玩家名屏蔽词 DirtyName Assets/Editor/Config/ExcelToTxt.txt.meta
New file @@ -0,0 +1,7 @@ fileFormatVersion: 2 guid: b95a059653303884e9b0069dfd83c671 TextScriptImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: Assets/Editor/Tool/ExcelReader.cs
New file @@ -0,0 +1,95 @@ using UnityEngine; using System.Collections; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.IO; using Excel; using System.Data; using UnityEditor; public class ExcelReader { static Dictionary<string, string> txtExcelTables = new Dictionary<string, string>(); public static string GetExcelPath(string txtName) { if (!txtExcelTables.ContainsKey(txtName)) { var lines = File.ReadAllLines(Application.dataPath + "/Editor/Config/ExcelToTxt.txt"); for (var i = 1; i < lines.Length; i++) { var contents = lines[i].Split('\t'); txtExcelTables[contents[1]] = contents[0]; } } if (!txtExcelTables.ContainsKey(txtName)) { Debug.LogFormat("没有找到{0}的Excel母表."); return string.Empty; } return StringUtility.Contact(ExtensionalTools.excelRootPath, "/", txtExcelTables[txtName], ".xlsx"); } [MenuItem("Assets/同步Excel母表")] static void XLSX() { if (Selection.objects == null) { return; } foreach (var item in Selection.objects) { var path = AssetDatabase.GetAssetPath(item); path = Application.dataPath + path.Substring(6, path.Length - 6); var extension = Path.GetExtension(path); if (extension.ToLower() == ".txt") { var excelPath = GetExcelPath(Path.GetFileNameWithoutExtension(path)); var lines = ExcelRead(excelPath); File.WriteAllLines(path, lines.ToArray(), Encoding.UTF8); } } } static List<string> ExcelRead(string excelPath) { var stream = File.Open(excelPath, FileMode.Open, FileAccess.Read); var excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); var result = excelReader.AsDataSet(); int columns = result.Tables[0].Columns.Count; int rows = result.Tables[0].Rows.Count; var contents = new Dictionary<int, Dictionary<int, string>>(); for (var i = 0; i < rows; i++) { for (var j = 0; j < columns; j++) { var isClient = result.Tables[0].Rows[0][j].ToString().ToLower().Contains("c"); var nvalue = result.Tables[0].Rows[i][j].ToString(); if (isClient) { var lineContents = contents.ContainsKey(i) ? contents[i] : contents[i] = new Dictionary<int, string>(); lineContents[j] = nvalue; } } } var lines = new List<string>(); foreach (var item in contents.Values) { lines.Add(string.Join("\t", item.Values.ToArray())); } lines.RemoveAt(0); return lines; } } Assets/Editor/Tool/ExcelReader.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: e03bdb3769d2b2347b04cc90141fd46b timeCreated: 1539239795 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Assets/Editor/Tool/ExtenalTools.cs
New file @@ -0,0 +1,55 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class ExtensionalTools { public static string shaderEditorPath { get { return LocalSave.GetString("ExtensionalTools_ShaderEditor"); } set { LocalSave.SetString("ExtensionalTools_ShaderEditor", value); } } public static string txtEditorPath { get { return LocalSave.GetString("ExtensionalTools_TxtEditor"); } set { LocalSave.SetString("ExtensionalTools_TxtEditor", value); } } public static string excelRootPath { get { return LocalSave.GetString("ExtensionalTools_ExcelRootPath"); } set { LocalSave.SetString("ExtensionalTools_ExcelRootPath", value); } } } public class ExtensionalToolsWindow : EditorWindow { static ExtensionalToolsWindow window; [MenuItem("Tools/外部工具")] public static void Open() { window = GetWindow(typeof(ExtensionalToolsWindow), false, "外部工具") as ExtensionalToolsWindow; window.Show(); window.autoRepaintOnSceneChange = true; } private void OnGUI() { EditorGUILayout.BeginHorizontal(); ExtensionalTools.shaderEditorPath = EditorGUILayout.TextField("Shader编辑器", ExtensionalTools.shaderEditorPath); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); ExtensionalTools.txtEditorPath = EditorGUILayout.TextField("文本文件编辑器", ExtensionalTools.txtEditorPath); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); ExtensionalTools.excelRootPath = EditorGUILayout.TextField("Excel表根目录", ExtensionalTools.excelRootPath); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); } } Assets/Editor/Tool/ExtenalTools.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: bfc01b94e3a79ff43802015b7d492755 timeCreated: 1539239795 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Assets/Editor/Tool/FileOpenEx.cs
@@ -1,7 +1,7 @@ using UnityEngine; using UnityEngine; using UnityEditor; using UnityEditor.Callbacks; using System.IO; public class FileOpenEx { @@ -21,15 +21,44 @@ if (name.EndsWith(".Shader") || name.EndsWith(".cginc") || name.EndsWith(".shader")) { if (string.IsNullOrEmpty(ExtensionalTools.shaderEditorPath)) { return false; } else { System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; startInfo.FileName = "C:/Program Files/Microsoft VS Code/Code.exe"; startInfo.FileName = ExtensionalTools.shaderEditorPath; startInfo.Arguments = name; process.StartInfo = startInfo; process.Start(); return true; } } if (name.EndsWith(".txt") && name.Contains("ResourcesOut") && name.Contains("Refdata")) { if (string.IsNullOrEmpty(ExtensionalTools.txtEditorPath)) { return false; } else { System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; startInfo.FileName = ExtensionalTools.txtEditorPath; name = ExcelReader.GetExcelPath(Path.GetFileNameWithoutExtension(path)); startInfo.Arguments = name; process.StartInfo = startInfo; process.Start(); return true; } } return false; } Assets/Plugins/Editor/Excel.meta
New file @@ -0,0 +1,8 @@ fileFormatVersion: 2 guid: 159f879cc94b81340a878033a3164697 folderAsset: yes DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: Assets/Plugins/Editor/Excel/Excel.dllBinary files differ
Assets/Plugins/Editor/Excel/Excel.dll.meta
New file @@ -0,0 +1,32 @@ fileFormatVersion: 2 guid: a0a90eb6f33f648fbbadd1d35297e42b PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} isPreloaded: 0 isOverridable: 0 platformData: data: first: Any: second: enabled: 0 settings: {} data: first: Editor: Editor second: enabled: 1 settings: DefaultValueInitialized: true data: first: Windows Store Apps: WindowsStoreApps second: enabled: 0 settings: CPU: AnyCPU userData: assetBundleName: assetBundleVariant: Assets/Plugins/Editor/Excel/ICSharpCode.SharpZipLib.dllBinary files differ
Assets/Plugins/Editor/Excel/ICSharpCode.SharpZipLib.dll.meta
New file @@ -0,0 +1,32 @@ fileFormatVersion: 2 guid: cf3854095e29e4313b268dd02e5302d4 PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} isPreloaded: 0 isOverridable: 0 platformData: data: first: Any: second: enabled: 0 settings: {} data: first: Editor: Editor second: enabled: 1 settings: DefaultValueInitialized: true data: first: Windows Store Apps: WindowsStoreApps second: enabled: 0 settings: CPU: AnyCPU userData: assetBundleName: assetBundleVariant: Assets/Plugins/Editor/Excel/System.Data.dllBinary files differ
Assets/Plugins/Editor/Excel/System.Data.dll.meta
New file @@ -0,0 +1,32 @@ fileFormatVersion: 2 guid: f793feb5b35df4d18b87616d42104af3 PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} isPreloaded: 0 isOverridable: 0 platformData: data: first: Any: second: enabled: 0 settings: {} data: first: Editor: Editor second: enabled: 1 settings: DefaultValueInitialized: true data: first: Windows Store Apps: WindowsStoreApps second: enabled: 0 settings: CPU: AnyCPU userData: assetBundleName: assetBundleVariant: