Пример #1
0
        /// <summary>
        /// 取得宏定义
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        private static string GetDefine(EnumBuidleType type)
        {
            string result = string.Empty;

            //配置宏定义
            switch (type)
            {
            case EnumBuidleType.ZhengShi:
                result = DEFINE_ZhengShi;
                break;

            case EnumBuidleType.Debug:
                result = DEFINE_DEBUG;
                break;

            case EnumBuidleType.OffLineDebug:
                result = DEFINE_NOLINE_DEBUG;
                break;

            case EnumBuidleType.OffHTTP:
                result = DEFINE_OFFHTTP_DEBUG;
                break;
            }
            return(result);
        }
Пример #2
0
 /// <summary>
 /// Unity配置预先设置
 /// </summary>
 /// <param name="type"></param>
 static void PerSetting(EnumBuidleType type)
 {
     PlayerSettings.productName = BUILD_NAME;        //GetBuildName(type);
                                                     //设置版本号
     PlayerSettings.bundleVersion = CURRENT_VERSION; // GetVersion();
                                                     //PlayerSettings.Android.bundleVersionCode = GetAndroidVersionCode();
                                                     //设置开发版
                                                     //EditorUserBuildSettings.development = IS_DEVELOPER;
                                                     //设置可否调试
                                                     //EditorUserBuildSettings.allowDebugging = ALLOW_DEBUG;
                                                     //设置游戏质量
                                                     //QualitySettings.antiAliasing = ANTI_ALIASING;
                                                     //抗锯齿 可设置为 0,2,4,8 对应每个像素使用多重采样的数量
     QualitySettings.vSyncCount = 0;
     //更新版本号
     //VersionClient.Versionclient_Update(GetVersion());
     //刷新Unity保存
     AssetDatabase.Refresh();
 }
Пример #3
0
        /// <summary>
        /// 通用打包函数
        /// </summary>
        /// <param name="buidleType"></param>
        /// <param name="type"></param>
        /// <param name="BuildName"></param>
        /// <param name="isClearPath"></param>
        private static void BuidleByType(EnumBuidleType buidleType, BuildTarget type, bool isClearPath = false)
        {
            //取得保存路径
            string savePath = GetTargetDirPath();
            //取得保存exe路径
            string saveExEPath = savePath + GetSavePath(buidleType, type);

            savePath = savePath + buidleType.ToString();

            if (isClearPath)
            {
                //清空目录
                ClearPath(saveExEPath);
            }

            //删除已经存在的游戏包
            if (System.IO.File.Exists(saveExEPath))
            {
                System.IO.File.Delete(saveExEPath);
            }

            //创建目录
            MakePath(saveExEPath);
            UnityEngine.Debug.Log("保存路径" + saveExEPath);


            //UnityEngine.Debug.Log("TYPE" + (type == BuildTarget.iOS));

            //设置预先配置信息
            PerSetting(buidleType);

            ////刷新Unity保存
            //AssetDatabase.Refresh();
            //设置宏定义
            SetBuildingDefine(GetBuildTargetGroup(type), GetDefine(buidleType));

            //取得打包Options
            BuildPlayerOptions option = GetBuildPlayerOptions(type, saveExEPath);

            //打包
            BuildForPlatform(option, savePath);
        }
Пример #4
0
        /// <summary>
        /// 取得保存 目的地址
        /// </summary>
        /// <param name="type"></param>
        /// <param name="target"></param>
        /// <returns></returns>
        private static string GetSavePath(EnumBuidleType type, BuildTarget target)
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            switch (target)
            {
            case BuildTarget.StandaloneWindows:
            case BuildTarget.StandaloneWindows64:
                sb.Append(type.ToString());
                sb.Append("\\");
                sb.Append(Application.productName);
                sb.Append(".");
                sb.Append(CURRENT_VERSION);
                sb.Append(".");
                sb.Append(type.ToString());
                sb.Append(".exe");
                break;

            default:
                break;
            }
            return(sb.ToString());
        }
Пример #5
0
 /// <summary>
 /// PC 打包函数
 /// </summary>
 /// <param name="buidleType"></param>
 /// <param name="isClearPath"></param>
 private static void BuidlePCByType(EnumBuidleType buidleType, bool isClearPath = false)
 {
     BuidleByType(buidleType, BuildTarget.StandaloneWindows, isClearPath);
 }