diff --git a/Assets/Scripts/Actions/ActionHelper.cs b/Assets/Scripts/Actions/ActionHelper.cs index 49894bdf..78c97d2f 100644 --- a/Assets/Scripts/Actions/ActionHelper.cs +++ b/Assets/Scripts/Actions/ActionHelper.cs @@ -259,7 +259,7 @@ public class ActionHelper /// public static ICondition GetCondition(XMLTool.ActionItem condition) { - if (condition!=null) + if (condition != null) { switch (condition.Type) { diff --git a/Assets/Scripts/Actions/UIShowAction.cs b/Assets/Scripts/Actions/UIShowAction.cs index d05108e1..5f7bda9e 100644 --- a/Assets/Scripts/Actions/UIShowAction.cs +++ b/Assets/Scripts/Actions/UIShowAction.cs @@ -47,19 +47,37 @@ public class UIShowAction : IAction public void OnStart() { - if (isShow) + Type type = null; + if (ActionHelper.typeDict.ContainsKey(uiName)) { - UIKit.OpenPanelAsync(ActionHelper.typeDict[uiName], assetBundleName: uiName).ToAction().StartGlobal(() => this.Finish()); + type = ActionHelper.typeDict[uiName]; + } + else if (CustomUIMap.typeDict.ContainsKey(uiName)) + { + type = CustomUIMap.typeDict[uiName]; + } + + if (type == null) + { + Debug.LogError($"{uiName} 类型没有找到"); } else { - if (UIKit.GetPanel(ActionHelper.typeDict[uiName]) != null) + if (isShow) { - UIKit.HidePanel(ActionHelper.typeDict[uiName]); + UIKit.OpenPanelAsync(type, assetBundleName: uiName).ToAction().StartGlobal(() => this.Finish()); } + else + { + if (UIKit.GetPanel(type) != null) + { + UIKit.HidePanel(type); + } - this.Finish(); + this.Finish(); + } } + } public void Reset() diff --git a/Assets/Scripts/Custom.meta b/Assets/Scripts/Custom.meta new file mode 100644 index 00000000..e4015f1e --- /dev/null +++ b/Assets/Scripts/Custom.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4af85a692b427464ebde5004dd992d5e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Custom/UIMap.meta b/Assets/Scripts/Custom/UIMap.meta new file mode 100644 index 00000000..b5608759 --- /dev/null +++ b/Assets/Scripts/Custom/UIMap.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bb813d5416f284549bb272f36e3423e5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Custom/UIMap/CustomUIMap.cs b/Assets/Scripts/Custom/UIMap/CustomUIMap.cs new file mode 100644 index 00000000..48752043 --- /dev/null +++ b/Assets/Scripts/Custom/UIMap/CustomUIMap.cs @@ -0,0 +1,18 @@ +using QFramework.Example; +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class CustomUIMap : MonoBehaviour +{ + + // 注意:此处专门给支线用的 主线的UI类型映射填写到 ActionHelper.cs的typeDict中 + public static readonly Dictionary typeDict = new Dictionary() + { + //{ "UIOperationList", typeof(UIOperationList) }, + + }; + + +} diff --git a/Assets/Scripts/Custom/UIMap/CustomUIMap.cs.meta b/Assets/Scripts/Custom/UIMap/CustomUIMap.cs.meta new file mode 100644 index 00000000..48849b68 --- /dev/null +++ b/Assets/Scripts/Custom/UIMap/CustomUIMap.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 399446e5e27181e439731e9cbd025286 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: