Files
plugin-library/Assets/00.StaryEvoTools/Editor/BuildAsset/OneKeyBuildWindow.cs
stary d04cffe387
All checks were successful
Plugin Library CI / publish (00.BuildOriginality) (push) Successful in 3s
Plugin Library CI / publish (00.StaryEvo) (push) Successful in 8s
Plugin Library CI / publish (00.StaryEvoTools) (push) Successful in 19s
Plugin Library CI / publish (01.HybridCLR) (push) Successful in 5s
Plugin Library CI / publish (02.InformationSave) (push) Successful in 3s
Plugin Library CI / publish (03.YooAsset) (push) Successful in 33s
Plugin Library CI / publish (04.AudioCore) (push) Successful in 3s
Plugin Library CI / publish (05.TableTextConversion) (push) Successful in 4s
Plugin Library CI / publish (06.UIFarme) (push) Successful in 16s
Plugin Library CI / publish (07.RKTools) (push) Successful in 7s
Plugin Library CI / publish (08.UniTask) (push) Successful in 3s
Plugin Library CI / publish (09.CodeChecker) (push) Successful in 16s
Plugin Library CI / publish (10.StoryEditor) (push) Successful in 2s
Plugin Library CI / publish (10.XNode) (push) Successful in 3s
Plugin Library CI / publish (11.PointCloudTools) (push) Successful in 2s
111
2026-04-18 12:00:41 +08:00

107 lines
3.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Sirenix.OdinInspector;
using Sirenix.OdinInspector.Editor;
using UnityEditor;
using UnityEngine;
using YooAsset.Editor;
namespace Stary.Evo.Editor
{
public class OneKeyBuildWindow : OdinEditorWindow
{
[MenuItem("Evo/Dev/(一键)打包工具",false, 3)]
static void Init()
{
var window = (OneKeyBuildWindow)EditorWindow.GetWindow(typeof(OneKeyBuildWindow));
window.Show();
}
[Title("全选"), OnValueChanged("OneKeyBuildEvent"), HideLabel]
public bool isOneKeyBuild;
[ListDrawerSettings(DraggableItems = false, ShowFoldout = false, ShowPaging = false, ShowItemCount = false,
HideRemoveButton = true,HideAddButton = true)]
public List<OneKeyBuildEntity> OneKeyBuildEntities = new List<OneKeyBuildEntity>();
protected override void Initialize()
{
base.Initialize();
OneKeyBuildEntities.Clear();
var creatDomainAll = CreatAssetWindow.GetCreatDomainAll();
foreach (var domainEntity in creatDomainAll)
{
OneKeyBuildEntities.Add(new OneKeyBuildEntity()
{
DomainName = domainEntity.DomainName
});
}
}
[Button("(一键)标记选择资源", ButtonSizes.Large)]
public void OneClickMark()
{
AutoBuildPackage.OneClickMark(OneKeyBuildEntities);
EditorUtility.DisplayDialog("提示", $"标记所有资源完成!", "确定");
}
[Button("(一键)收集shader【材质异常或资源修改】", ButtonSizes.Large)]
public void OneShaderMark()
{
EditorTools.ClearUnityConsole();
AutoBuildPackage.OneShaderMark(OneKeyBuildEntities,(domainName)=>
ShowNotification(new GUIContent($"收集【{domainName}】的shader【材质异常或资源修改】"), 2f));
}
[Button("(一键)获取服务器版本", ButtonSizes.Large)]
public async void OneUpdatePackageVersion()
{
//打包
EditorTools.ClearUnityConsole();
AutoBuildPackage.OneUpdatePackageVersion(OneKeyBuildEntities);
EditorUtility.DisplayDialog("提示", $"获取服务器版本完成", "确定");
}
[Button("(一键)打包选择资源", ButtonSizes.Large)]
public void OneClickBuild()
{
//打包
EditorTools.ClearUnityConsole();
AutoBuildPackage.OneClickBuild(OneKeyBuildEntities);
EditorUtility.DisplayDialog("提示", $"开始打包资源!", "确定");
}
[Button("(一键)上传服务器版本", ButtonSizes.Large)]
public async void OneUpdatePackage()
{
//打包
EditorTools.ClearUnityConsole();
AutoBuildPackage.OneUpdatePackage(OneKeyBuildEntities);
EditorUtility.DisplayDialog("提示", $"服务器上传完成", "确定");
}
private void OneKeyBuildEvent()
{
for (int i = 0; i < OneKeyBuildEntities.Count; i++)
{
OneKeyBuildEntities[i].isRaw = isOneKeyBuild;
}
}
}
[Serializable]
public class OneKeyBuildEntity
{
[Title("是否打包", titleAlignment: TitleAlignments.Centered)] [HideLabel, HorizontalGroup("OneKeyBUildEntity")]
public bool isRaw;
[Title("包名", titleAlignment: TitleAlignments.Centered)]
[HideLabel, ReadOnly, HorizontalGroup("OneKeyBUildEntity")]
public string DomainName;
}
}