当前位置: 首页 > news >正文

公司做网站哪里做深圳网站优化平台

公司做网站哪里做,深圳网站优化平台,哈尔滨网站优化如何,济南优化网站价格Unity - 特殊文件夹【作用与是否会被打包到build中】 Unity编辑器工具—版本控制与自动化打包工具: 面板显示:工具包含一个面板,用于展示软件的不同版本信息。版本信息:面板上显示主版本号、当前版本号和子版本号。版本控制功能…

Unity - 特殊文件夹【作用与是否会被打包到build中】

在这里插入图片描述
Unity编辑器工具—版本控制与自动化打包工具:

  1. 面板显示:工具包含一个面板,用于展示软件的不同版本信息。
  2. 版本信息:面板上显示主版本号、当前版本号和子版本号。
  3. 版本控制功能:有一个布尔值选项,用于决定是否要升级子版本。
  4. 打包功能:工具支持两种打包方式:
    • APK打包:生成的APK包名将包含主版本号和子版本号。
    • Windows打包:在打包过程中,会将版本信息写入到StreamingAssets目录中的某个文件里。

这个Unity编辑器工具的目的是简化Unity项目的版本管理和打包流程。

使用时要把UnityPackager.cs放在Assets下面的Editor文件夹中
打包路径是工程所在目录中的Builds文件夹

using Newtonsoft.Json;
using System.IO;
using Unity.VisualScripting;
using UnityEditor; 
using UnityEngine;public class UnityPackager : EditorWindow // 声明一个名为UnityPackager的编辑器窗口类,继承自EditorWindow
{string mainVersion = Application.unityVersion;string currentVersion = "1"; // 当前版本号,默认为"1"string subVersion = "0"; // 子版本号,默认为"0"bool increaseSubVersion = false; // 是否自动增加子版本号,默认不增加string apkPath = Application.dataPath + "/../Builds/Apk/";string winPath = Application.dataPath + "/../Builds/Windows/MyGame.exe";string apkName;string filePath;JsonData jsonData;[MenuItem("Tools/Unity Packager")] // 在Unity的菜单栏中添加一个名为Unity Packager的菜单项public static void ShowWindow() // 显示此编辑器窗口的方法{EditorWindow.GetWindow(typeof(UnityPackager)); // 获取UnityPackager窗口实例,并显示出来}private void OnEnable(){Init();}void OnGUI() // Unity的图形用户界面方法,用于绘制和处理图形用户界面事件{GUILayout.Label("Package Settings", EditorStyles.boldLabel); // 绘制一个加粗的标签,显示"Package Settings"mainVersion = EditorGUILayout.TextField("Main Version", mainVersion);// 绘制一个文本字段,用于输入主版本号currentVersion = EditorGUILayout.TextField("Current Version", currentVersion); subVersion = EditorGUILayout.TextField("Sub Version", subVersion);increaseSubVersion = EditorGUILayout.Toggle("Increase Sub Version", increaseSubVersion); // 绘制一个切换按钮,用于选择是否自动增加子版本号if (GUILayout.Button("Package APK")) // 绘制一个按钮,点击后会打包APK{PackageAPK(); }if (GUILayout.Button("Package Win")) // 绘制一个按钮,点击后会打包Windows版本{PackageWin(); }}void PackageAPK() // 打包APK的方法{if (increaseSubVersion) // 如果选择了自动增加子版本号{int subVersionInt = int.Parse(subVersion);subVersionInt++;subVersion = subVersionInt.ToString();}if (jsonData != null){jsonData.mainVersion = mainVersion;jsonData.currentVersion = currentVersion;jsonData.subVersion = subVersion;}WriteJsonFile(jsonData);apkName = "MyGame_V" + mainVersion + "." + subVersion + ".apk"; // 定义APK文件的名称BuildPipeline.BuildPlayer(GetScenePaths(), apkPath+apkName, BuildTarget.Android, BuildOptions.None); // 打包APK}void PackageWin() // 打包Windows版本的方法{if (increaseSubVersion) // 如果选择了自动增加子版本号{int subVersionInt = int.Parse(subVersion);subVersionInt++; subVersion = subVersionInt.ToString();}if (jsonData != null){jsonData.mainVersion = mainVersion;jsonData.currentVersion = currentVersion;jsonData.subVersion = subVersion;} WriteJsonFile(jsonData);BuildPipeline.BuildPlayer(GetScenePaths(), winPath, BuildTarget.StandaloneWindows, BuildOptions.None); // 打包Windows版本}string[] GetScenePaths() // 获取所有场景路径的方法{string[] scenes = new string[EditorBuildSettings.scenes.Length];for (int i = 0; i < scenes.Length; i++){scenes[i] = EditorBuildSettings.scenes[i].path; // 将场景的路径赋值给字符串数组}return scenes; }//初始化jsonvoid Init(){filePath = Application.streamingAssetsPath + "/version.json";CreateAndWriteJsonFile(mainVersion, currentVersion, subVersion);jsonData = ReadJsonFile();}//创建json文件并赋值void CreateAndWriteJsonFile(string data1, string data2, string data3){if (File.Exists(filePath)){return;}// 创建一个包含三个字符串数据的对象var jsonData = new{mainVersion = data1,currentVersion = data2,subVersion = data3};// 将对象序列化为JSON字符串string jsonString = JsonConvert.SerializeObject(jsonData, Formatting.Indented);// 检查StreamingAssets文件夹是否存在,如果不存在则创建if (!Directory.Exists(Application.streamingAssetsPath)){Directory.CreateDirectory(Application.streamingAssetsPath);}// 将JSON字符串写入文件File.WriteAllText(filePath, jsonString);Debug.Log("JSON file created and written successfully at: " + filePath);}//读jsonJsonData ReadJsonFile(){if (File.Exists(filePath)){// 读取文件内容string jsonString = File.ReadAllText(filePath);// 反序列化JSON字符串为对象var jsonData = JsonConvert.DeserializeObject<JsonData>(jsonString);//读取json数据mainVersion = jsonData.mainVersion;currentVersion = jsonData.currentVersion;subVersion = jsonData.subVersion;return jsonData;}else{Debug.LogError("JSON file not found at: " + filePath);return null;}}//写入jsonvoid WriteJsonFile(JsonData jsonData){string jsonString = JsonConvert.SerializeObject(jsonData, Formatting.Indented);File.WriteAllText(filePath, jsonString);}
}public class JsonData
{public string mainVersion;public string currentVersion;public string subVersion;
}
http://www.mmbaike.com/news/90224.html

相关文章:

  • 如何伪原创 网站seo入门免费教程
  • 西安做网站朋朋如何搜索网页关键词
  • 桂林漓江景区宝鸡seo优化公司
  • 青岛响应式网站app推广赚佣金
  • 济南市住宅与房地产信息网seo是指什么岗位
  • 天津河东做网站公司成都网站推广公司
  • 无证做音频网站违法吗网站如何推广营销
  • 返利网站建设制作一个简单的html网页
  • 网站开源代码模版关键词推广系统
  • 哈尔滨专业网站建设公司太原关键词优化服务
  • 商务网站建设实训结论seo优化在哪里学
  • 好网站建设公司开发方案对网络推广的理解
  • 富阳区建设工程质监站网站关键词制作软件
  • 企业建设网站有哪些费用seo服务
  • 公司网站运营电脑系统优化软件十大排名
  • 广东建设协会网站首页seo网站推广下载
  • vs做网站登录界面淘宝推广哪种方式最好
  • 做品管圈网站seo长尾关键词
  • iis7 网站无法访问网络推广都有哪些方式
  • 网站建设招聘要求种子库
  • 做外贸的网站主要有哪些内容下拉词排名
  • 学校网站建设策划书百度搜索排名怎么靠前
  • 南昌知名的网站建设公司搜索引擎优化的具体措施
  • 做网站直接从网上的icon吗百度竞价排名费用
  • 一键免费做网站郑州官网网络营销外包
  • jsp网站开发实例视频教程新网站推广最直接的方法
  • 交易网站的建设规划网络广告营销经典案例
  • ssm做网站站内搜索引擎
  • 做网站维护怎么找客户百度 营销推广怎么收费
  • 郑州做网站公司汉狮价格关键词歌词任然