コード例 #1
0
        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);
            }
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
 void CheckSeetingData()
 {
     _packerSetting = PackerLib.CheckSeetingData();
 }