【m】优化加载架构
This commit is contained in:
@@ -9,20 +9,22 @@ using YooAsset.Editor;
|
||||
namespace Stary.Evo.Editor
|
||||
{
|
||||
[CreateAssetMenu(fileName = "BuildAssetDataSetting", menuName = "Evo/BuildAssetDataSetting")]
|
||||
public class BuildAssetDataSetting : SerializedScriptableObject
|
||||
public class BuildAssetDataSetting : SerializedScriptableObject
|
||||
{
|
||||
public void OnEnable()
|
||||
{
|
||||
BuildPipelineViewer();
|
||||
viewer = new ScriptableBuildPipelineViewer(packageName, selectedBuildPipelines.ToString(),
|
||||
packageVersion);
|
||||
oldVersionX = packageVersionX;
|
||||
oldVersionY = packageVersionY;
|
||||
oldVersionZ = packageVersionZ;
|
||||
|
||||
}
|
||||
|
||||
[HideInInspector] public string packageName;
|
||||
[HideInInspector]public int packageVersionX = 1;
|
||||
[HideInInspector]public int packageVersionY;
|
||||
[HideInInspector]public int packageVersionZ;
|
||||
[HideInInspector] public int packageVersionX = 1;
|
||||
[HideInInspector] public int packageVersionY;
|
||||
[HideInInspector] public int packageVersionZ;
|
||||
private int oldVersionX = 1;
|
||||
private int oldVersionY;
|
||||
private int oldVersionZ;
|
||||
@@ -32,10 +34,10 @@ namespace Stary.Evo.Editor
|
||||
[OnValueChanged("SetEnvironmentType")]
|
||||
public EnvironmentType environmentType;
|
||||
|
||||
[Title("构建列表", titleAlignment: TitleAlignments.Centered)]
|
||||
[HorizontalGroup("BuildSetting"), HideLabel]
|
||||
[OnValueChanged("SetBuildPipelines")]
|
||||
public EBuildPipeline selectedBuildPipelines;
|
||||
// [Title("构建列表", titleAlignment: TitleAlignments.Centered)]
|
||||
// [HorizontalGroup("BuildSetting"), HideLabel]
|
||||
// [OnValueChanged("SetBuildPipelines")]
|
||||
private BuildPipelineType selectedBuildPipelines = BuildPipelineType.ScriptableBuildPipeline;
|
||||
|
||||
private const string VerSersionMessage = "(小版本由打包叠加,中版本、大版本更新会重置小版本,如误操作,点击重置按钮即可)";
|
||||
|
||||
@@ -66,7 +68,8 @@ namespace Stary.Evo.Editor
|
||||
packageVersionY++;
|
||||
if (packageVersionZ > 0)
|
||||
packageVersionZ = 0;
|
||||
}else if (VersionType == VersionPosType.Z)
|
||||
}
|
||||
else if (VersionType == VersionPosType.Z)
|
||||
{
|
||||
packageVersionZ++;
|
||||
}
|
||||
@@ -90,16 +93,18 @@ namespace Stary.Evo.Editor
|
||||
packageVersionY--;
|
||||
if (packageVersionZ > 0)
|
||||
packageVersionZ = 0;
|
||||
}else if (VersionType == VersionPosType.Z)
|
||||
}
|
||||
else if (VersionType == VersionPosType.Z)
|
||||
{
|
||||
packageVersionZ--;
|
||||
if (packageVersionZ < 0)
|
||||
packageVersionZ = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
GetPackageVersion();
|
||||
}
|
||||
|
||||
[Title("重置版本", titleAlignment: TitleAlignments.Centered)]
|
||||
[HorizontalGroup("BuildSetting/PackageVersion"), HideLabel, Button(Icon = SdfIconType.ArrowRepeat)]
|
||||
[HideIf("environmentType", EnvironmentType.Debug)]
|
||||
@@ -111,11 +116,9 @@ namespace Stary.Evo.Editor
|
||||
GetPackageVersion();
|
||||
}
|
||||
|
||||
[HideLabel] public AbstractBuildPipelineViewer viewer;
|
||||
|
||||
|
||||
[HideLabel] public AbstractBuildPipelineViewer viewer;
|
||||
|
||||
[HideLabel] private Dictionary<EBuildPipeline, AbstractBuildPipelineViewer> _viewers;
|
||||
//[HideLabel] private Dictionary<BuildPipelineType, AbstractBuildPipelineViewer> _viewers;
|
||||
|
||||
public void SetEnvironmentType()
|
||||
{
|
||||
@@ -129,21 +132,21 @@ namespace Stary.Evo.Editor
|
||||
{
|
||||
EditorUtility.SetDirty(this);
|
||||
AssetDatabase.SaveAssets();
|
||||
version= "Simulate";
|
||||
version = "Simulate";
|
||||
}
|
||||
|
||||
if (environmentType == EnvironmentType.Release)
|
||||
{
|
||||
version =
|
||||
version =
|
||||
$"{packageVersionX}.{packageVersionY}.{packageVersionZ}";
|
||||
|
||||
if (isUpdate)
|
||||
packageVersionZ++;
|
||||
|
||||
packageVersion = $"{packageVersionX}.{packageVersionY}.{packageVersionZ}";
|
||||
|
||||
}
|
||||
BuildPipelineViewer();
|
||||
|
||||
//BuildPipelineViewer();
|
||||
EditorUtility.SetDirty(this);
|
||||
AssetDatabase.SaveAssets();
|
||||
return version;
|
||||
@@ -151,18 +154,16 @@ namespace Stary.Evo.Editor
|
||||
|
||||
public void GetPackageVersion()
|
||||
{
|
||||
SetBuildPipelines();
|
||||
if (environmentType == EnvironmentType.Debug)
|
||||
{
|
||||
viewer.clearBuildCacheToggle = true;
|
||||
selectedBuildPipelines = EBuildPipeline.EditorSimulateBuildPipeline;
|
||||
//selectedBuildPipelines = BuildPipelineType.EditorSimulateBuildPipeline;
|
||||
packageVersion = "Simulate";
|
||||
|
||||
}
|
||||
else if (environmentType == EnvironmentType.Release)
|
||||
{
|
||||
viewer.clearBuildCacheToggle = false;
|
||||
selectedBuildPipelines = EBuildPipeline.ScriptableBuildPipeline;
|
||||
//selectedBuildPipelines = BuildPipelineType.ScriptableBuildPipeline;
|
||||
|
||||
packageVersionX = packageVersionX > 1 ? packageVersionX : 1;
|
||||
packageVersionY =
|
||||
@@ -183,44 +184,62 @@ namespace Stary.Evo.Editor
|
||||
/// 设置当前构建管线
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private void SetBuildPipelines()
|
||||
public void SetBuildPipelines()
|
||||
{
|
||||
BuildPipelineViewer();
|
||||
if (packageName.IsNullOrEmpty())
|
||||
{
|
||||
packageName = BuildAssetWindow.GetBuildPackageName();
|
||||
}
|
||||
|
||||
// BuildPipelineViewer();
|
||||
|
||||
|
||||
if (viewer != null)
|
||||
viewer.SetBuildPackageData(packageName, selectedBuildPipelines.ToString(), packageVersion);
|
||||
else
|
||||
{
|
||||
Debug.LogError($"UnityEvo:BuildPipelineViewer 为空!");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成打包实例
|
||||
/// 获取当前构建管线名称
|
||||
/// </summary>
|
||||
public void BuildPipelineViewer()
|
||||
/// <returns></returns>
|
||||
public BuildPipelineType GetBuildPipelinesName()
|
||||
{
|
||||
if (_viewers == null)
|
||||
_viewers = new Dictionary<EBuildPipeline, AbstractBuildPipelineViewer>();
|
||||
if (_viewers.ContainsKey(selectedBuildPipelines))
|
||||
{
|
||||
viewer = _viewers[selectedBuildPipelines];
|
||||
viewer.SetBuildPackageData(packageName, selectedBuildPipelines.ToString(), packageVersion);
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (selectedBuildPipelines)
|
||||
{
|
||||
case EBuildPipeline.EditorSimulateBuildPipeline:
|
||||
viewer = new SimulateBuildPipelineViewer(packageName, selectedBuildPipelines.ToString(), packageVersion);
|
||||
break;
|
||||
case EBuildPipeline.BuiltinBuildPipeline:
|
||||
viewer = new BuiltinBuildPipelineViewer(packageName, selectedBuildPipelines.ToString(), packageVersion);
|
||||
break;
|
||||
case EBuildPipeline.ScriptableBuildPipeline:
|
||||
viewer = new ScriptableBuildPipelineViewer(packageName, selectedBuildPipelines.ToString(), packageVersion);
|
||||
break;
|
||||
case EBuildPipeline.RawFileBuildPipeline:
|
||||
viewer = new RawfileBuildpipelineViewer(packageName, selectedBuildPipelines.ToString(), packageVersion);
|
||||
break;
|
||||
}
|
||||
|
||||
_viewers.Add(selectedBuildPipelines, viewer);
|
||||
}
|
||||
return selectedBuildPipelines;
|
||||
}
|
||||
// /// <summary>
|
||||
// /// 生成打包实例
|
||||
// /// </summary>
|
||||
// public void BuildPipelineViewer()
|
||||
// {
|
||||
// if (_viewers == null)
|
||||
// _viewers = new Dictionary<BuildPipelineType, AbstractBuildPipelineViewer>();
|
||||
// if (_viewers.ContainsKey(selectedBuildPipelines))
|
||||
// {
|
||||
// viewer = _viewers[selectedBuildPipelines];
|
||||
// viewer.SetBuildPackageData(packageName, selectedBuildPipelines.ToString(), packageVersion);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// switch (selectedBuildPipelines)
|
||||
// {
|
||||
// case BuildPipelineType.EditorSimulateBuildPipeline:
|
||||
// viewer = new SimulateBuildPipelineViewer(packageName, selectedBuildPipelines.ToString(), packageVersion);
|
||||
// break;
|
||||
// case BuildPipelineType.ScriptableBuildPipeline:
|
||||
// viewer = new ScriptableBuildPipelineViewer(packageName, selectedBuildPipelines.ToString(), packageVersion);
|
||||
// break;
|
||||
// case BuildPipelineType.RawFileBuildPipeline:
|
||||
// viewer = new RawfileBuildpipelineViewer(packageName, selectedBuildPipelines.ToString(), packageVersion);
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// _viewers.Add(selectedBuildPipelines, viewer);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
public enum VersionPosType
|
||||
|
||||
Reference in New Issue
Block a user