diff --git a/Assets/Scripts/UI/UITextQuestion.cs b/Assets/Scripts/UI/UITextQuestion.cs index d1b44fab..b1e6d874 100644 --- a/Assets/Scripts/UI/UITextQuestion.cs +++ b/Assets/Scripts/UI/UITextQuestion.cs @@ -22,6 +22,7 @@ namespace QFramework.Example public float errorScore = 0; public string scoreName = string.Empty; public string format; + public string finishedEvent; /// /// 绝对的 不计算分项得分 对就得分 错就不得分 /// @@ -88,7 +89,7 @@ namespace QFramework.Example } }); } - else if(mData.errorScore != 0) + else if (mData.errorScore != 0) { Check(false, count => { @@ -105,17 +106,26 @@ namespace QFramework.Example if (mData.waitCloseTime != -1) { - ActionKit.Delay(mData.waitCloseTime, () => Hide()).Start(this); + ActionKit.Delay(mData.waitCloseTime, () => HideSelf()).Start(this); return; } - Hide(); - + HideSelf(); }); } } + + public void HideSelf() + { + if (string.IsNullOrEmpty(mData.finishedEvent) == false) + { + StringEventSystem.Global.Send(mData.finishedEvent); + } + Hide(); + } + public void Check(bool isRight, Action callback) { int count = 0; diff --git a/Assets/Scripts/Xml/XmlParser.cs b/Assets/Scripts/Xml/XmlParser.cs index cd411904..47555553 100644 --- a/Assets/Scripts/Xml/XmlParser.cs +++ b/Assets/Scripts/Xml/XmlParser.cs @@ -522,6 +522,11 @@ namespace XMLTool { act.args.Add("format", format.Value); } + XAttribute finishedEvent = action.Attribute("finishedEvent"); + if (finishedEvent != null) + { + act.args.Add("finishedEvent", finishedEvent.Value); + } newAction = act; } break;