修复bug

This commit is contained in:
shenjianxing 2025-02-14 16:01:30 +08:00
parent f258ad09ab
commit 075ebda098
2 changed files with 12 additions and 11 deletions

View File

@ -142,8 +142,8 @@ public class ActionHelper
} }
case "TipWindow": case "TipWindow":
{ {
var strAction = (XMLTool.StringListAction)act; var strAction = (XMLTool.DictionaryAction)act;
return TipWindowAction.Allocate(act.Value, strAction.args[0], strAction.args[1]); return TipWindowAction.Allocate(act.Value, strAction.args);
} }
case "TextTip": case "TextTip":
{ {

View File

@ -15,17 +15,15 @@ public class TipWindowAction : IAction
private static readonly SimpleObjectPool<TipWindowAction> mPool = private static readonly SimpleObjectPool<TipWindowAction> mPool =
new SimpleObjectPool<TipWindowAction>(() => new TipWindowAction(), null, 10); new SimpleObjectPool<TipWindowAction>(() => new TipWindowAction(), null, 10);
string text = string.Empty; string text = string.Empty;
string btns = string.Empty; Dictionary<string, string> datas;
string audio = string.Empty; public static TipWindowAction Allocate(string text, Dictionary<string, string> datas, System.Action onDelayFinish = null)
public static TipWindowAction Allocate(string text, string audio, string btns, System.Action onDelayFinish = null)
{ {
var retNode = mPool.Allocate(); var retNode = mPool.Allocate();
retNode.ActionID = ActionKit.ID_GENERATOR++; retNode.ActionID = ActionKit.ID_GENERATOR++;
retNode.Deinited = false; retNode.Deinited = false;
retNode.Reset(); retNode.Reset();
retNode.text = text; retNode.text = text;
retNode.btns = btns; retNode.datas = datas;
retNode.audio = audio;
return retNode; return retNode;
} }
@ -52,12 +50,15 @@ public class TipWindowAction : IAction
{ {
UITipWindowData data = new UITipWindowData(); UITipWindowData data = new UITipWindowData();
data.txt = text; data.txt = text;
var btnText = btns.Split(',').ToList(); var btnText = datas.ContainsKey("btns") ? datas["btns"].Split(',').ToList() : null;
foreach (var item in btnText) if (btnText != null)
{ {
data.btns.Add(new UITipWindowData.ItemData() { txt = item }); foreach (var item in btnText)
{
data.btns.Add(new UITipWindowData.ItemData() { txt = item });
}
} }
data.audio = audio; data.audio = datas.ContainsKey("audio") ? datas["audio"] : null;
UIKit.OpenPanelAsync<UITipWindow>(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => this.Finish()); UIKit.OpenPanelAsync<UITipWindow>(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => this.Finish());
} }