public static void PackThisFolder(MenuCommand cmd) { PackerSetting packerSetting = CheckSeetingData(); if (packerSetting.OneKeyDst == null || packerSetting.OneKeySrc == null) { PackerWindow.OpenWin(); return; } string srcPath = AssetDatabase.GetAssetPath(packerSetting.OneKeySrc); string dstPath = AssetDatabase.GetAssetPath(packerSetting.OneKeyDst); List <string> packPathList = new List <string>(); foreach (string guid in Selection.assetGUIDs) { string path = AssetDatabase.GUIDToAssetPath(guid); if (path.Contains(srcPath)) { packPathList.Add(path); } OneKeyPack(srcPath, packPathList.ToArray(), dstPath, packerSetting.Gap, packerSetting.SheetMaxSize); } }
/// <summary> /// 检查并获取设置文件, 若不存在会创建一个 /// </summary> /// <returns></returns> public static PackerSetting CheckSeetingData() { PackerSetting packerSetting; string parentPath = "Assets"; if (Instance.SettingFolder) { parentPath = AssetDatabase.GetAssetPath(Instance.SettingFolder); } packerSetting = AssetDatabase.LoadAssetAtPath <PackerSetting>(parentPath + "/PackerSetting.asset"); if (!packerSetting) { PackerSetting setting = CreateInstance <PackerSetting>(); AssetDatabase.CreateAsset(setting, parentPath + "/PackerSetting.asset"); } packerSetting = AssetDatabase.LoadAssetAtPath <PackerSetting>(parentPath + "/PackerSetting.asset"); return(packerSetting); }
void CheckSeetingData() { _packerSetting = PackerLib.CheckSeetingData(); }