14.上传指定资源服务器-编辑器窗口设计
14.1 知识点
编辑器窗口设计需求分析
- 将之前的编辑器功能整合到一个窗口中
- 有平台选择页签
- 并且在工具窗口中添加一个IP地址输入框
创建AB包工具窗口,继承编辑器窗口
// AB包工具窗口 继承编辑器窗口
public class ABTools : EditorWindow
{
}
定义打开工具窗口方法
[MenuItem("AB包工具/打开工具窗口")]
private static void OpenWindow()
{
//获取一个ABTools 编辑器窗口对象 因为逻辑写在ABTools这个类 所以传入ABTools的类型 传入窗口位置和大小 得到ABTools
ABTools window = EditorWindow.GetWindowWithRect(typeof(ABTools), new Rect(0, 0, 350, 220)) as ABTools;
window.Show();
}
添加绘制逻辑,包括平台选择,IP地址输入框和三个功能按钮
private int nowSelIndex = 0;
private string[] targetStrings = new string[] { "PC", "IOS", "Android" };
//资源服务器默认IP地址
private string serverIP = "ftp://127.0.0.1";
private void OnGUI()
{
GUI.Label(new Rect(10, 10, 150, 15), "平台选择");
//页签显示 是从数组中取出字符串内容来显示 所以 需要改变当前选中的索引
nowSelIndex = GUI.Toolbar(new Rect(10, 30, 250, 20), nowSelIndex, targetStrings);
//资源服务器IP地址设置
GUI.Label(new Rect(10, 60, 150, 15), "资源服务器地址");
serverIP = GUI.TextField(new Rect(10, 80, 150, 20), serverIP);
//创建对比文件 按钮
if(GUI.Button(new Rect(10, 110, 100, 40), "创建对比文件"))
{
}
//保存默认资源到StreamingAssets 按钮
if (GUI.Button(new Rect(115, 110, 225, 40), "保存默认资源到StreamingAssets"))
{
}
//上传AB包和对比文件 按钮
if (GUI.Button(new Rect(10, 160, 330, 40), "上传AB包和对比文件"))
{
}
}
运行结果
14.2 知识点代码
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
// AB包工具窗口 继承编辑器窗口
public class ABTools : EditorWindow
{
private int nowSelIndex = 0;
private string[] targetStrings = new string[] { "PC", "IOS", "Android" };
//资源服务器默认IP地址
private string serverIP = "ftp://127.0.0.1";
[MenuItem("AB包工具/打开工具窗口")]
private static void OpenWindow()
{
//获取一个ABTools 编辑器窗口对象 因为逻辑写在ABTools这个类 所以传入ABTools的类型 传入窗口位置和大小 得到ABTools
ABTools window = EditorWindow.GetWindowWithRect(typeof(ABTools), new Rect(0, 0, 350, 220)) as ABTools;
window.Show();
}
private void OnGUI()
{
GUI.Label(new Rect(10, 10, 150, 15), "平台选择");
//页签显示 是从数组中取出字符串内容来显示 所以 需要改变当前选中的索引
nowSelIndex = GUI.Toolbar(new Rect(10, 30, 250, 20), nowSelIndex, targetStrings);
//资源服务器IP地址设置
GUI.Label(new Rect(10, 60, 150, 15), "资源服务器地址");
serverIP = GUI.TextField(new Rect(10, 80, 150, 20), serverIP);
//创建对比文件 按钮
if(GUI.Button(new Rect(10, 110, 100, 40), "创建对比文件"))
{
}
//保存默认资源到StreamingAssets 按钮
if (GUI.Button(new Rect(115, 110, 225, 40), "保存默认资源到StreamingAssets"))
{
}
//上传AB包和对比文件 按钮
if (GUI.Button(new Rect(10, 160, 330, 40), "上传AB包和对比文件"))
{
}
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com