diff --git a/Assets/Scripts/Actions/ImageSelectMapAction.cs b/Assets/Scripts/Actions/ImageSelectMapAction.cs index e17440c6..04280fa1 100644 --- a/Assets/Scripts/Actions/ImageSelectMapAction.cs +++ b/Assets/Scripts/Actions/ImageSelectMapAction.cs @@ -79,7 +79,7 @@ namespace QFramework }); } - UIKit.OpenPanelAsync(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => + UIKit.OpenPanelAsync(uiData: data).ToAction().StartGlobal(() => { this.Finish(); diff --git a/Assets/Scripts/UI/UIImageSelectMap.cs b/Assets/Scripts/UI/UIImageSelectMap.cs index 300abfa5..7508b7d9 100644 --- a/Assets/Scripts/UI/UIImageSelectMap.cs +++ b/Assets/Scripts/UI/UIImageSelectMap.cs @@ -45,6 +45,7 @@ namespace QFramework.Example protected override void OnInit(IUIData uiData = null) { mData = uiData as UIImageSelectMapData ?? new UIImageSelectMapData(); + TypeEventSystem.Global.Register(OnModuleQuitHandler); // please add init code here loader = ResLoader.Allocate(); } @@ -52,15 +53,10 @@ namespace QFramework.Example protected override void OnOpen(IUIData uiData = null) { mData = uiData as UIImageSelectMapData ?? new UIImageSelectMapData(); - LeftContent.RemoveAllChildren(); RightContent.RemoveAllChildren(); itemDatas.Clear(); leftAndRightMap.Clear(); - if (mData.random) - { - Utility.Shuffle(mData.items); - } foreach (var item in mData.items) { var leftObj = GameObject.Instantiate(LeftItem, LeftContent); @@ -86,7 +82,10 @@ namespace QFramework.Example rightObj.OnPointerExitEvent(RightOnExit); rightObj.OnPointerClickEvent(RightOnClick); } - + if (mData.random) + { + Utility.ShuffleChildObjects(LeftContent); + } loader.LoadAsync(); @@ -94,6 +93,11 @@ namespace QFramework.Example } + private void OnModuleQuitHandler(OnModuleQuit quit) + { + Hide(); + } + private void RightOnClick(PointerEventData data) { Transform trans = data.pointerClick.transform; @@ -142,13 +146,7 @@ namespace QFramework.Example { nameText.color = Color.green; isRight = true; - if (Check()) - { - if (string.IsNullOrEmpty(mData.finishedEvent)) - { - StringEventSystem.Global.Send(mData.finishedEvent); - } - } + } else { @@ -161,6 +159,15 @@ namespace QFramework.Example nameText.text = itemDatas[leftDragObj].name; leftAndRightMap.Add(enterRight, new RightDataItem() { rightObj = leftDragObj, isRight = isRight }); leftDragObj.SetActive(false); + + if (isRight && Check()) + { + if (string.IsNullOrEmpty(mData.finishedEvent) == false) + { + StringEventSystem.Global.Send(mData.finishedEvent); + } + } + } GameObject.Destroy(moveObj); moveObj = null; @@ -176,7 +183,7 @@ namespace QFramework.Example return false; } } - return true; + return leftAndRightMap.Count == mData.items.Count; } private void LeftOnDrag(PointerEventData data) @@ -199,6 +206,7 @@ namespace QFramework.Example protected override void OnClose() { + TypeEventSystem.Global.UnRegister(OnModuleQuitHandler); } } } diff --git a/Assets/Scripts/UI/UIModuleSelect.cs b/Assets/Scripts/UI/UIModuleSelect.cs index f2979dc4..a4f6f688 100644 --- a/Assets/Scripts/UI/UIModuleSelect.cs +++ b/Assets/Scripts/UI/UIModuleSelect.cs @@ -59,7 +59,7 @@ namespace QFramework.Example SceneManager.sceneLoaded += OnLoadFinished; }); }); - if (string.IsNullOrEmpty(item.Icon)==false) + if (string.IsNullOrEmpty(item.Icon) == false) { var icon = obj.transform.Find("Icon").GetComponent(); var localImageUrl = Global.imagePath + item.Icon; @@ -129,7 +129,7 @@ namespace QFramework.Example { var machin = StateMachineController.Instance; } - UIKit.OpenPanelAsync().ToAction().StartGlobal(() => + UIKit.OpenPanelAsync(canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => { TypeEventSystem.Global.Send(); diff --git a/Data/Xml/13BaoShiFenLei.xml b/Data/Xml/13BaoShiFenLei.xml index 56a0689b..487348d9 100644 --- a/Data/Xml/13BaoShiFenLei.xml +++ b/Data/Xml/13BaoShiFenLei.xml @@ -14,7 +14,7 @@