diff --git a/Assets/Scripts/Actions/TextQuestionAction.cs b/Assets/Scripts/Actions/TextQuestionAction.cs index a116d865..da2893b0 100644 --- a/Assets/Scripts/Actions/TextQuestionAction.cs +++ b/Assets/Scripts/Actions/TextQuestionAction.cs @@ -26,6 +26,8 @@ public class TextQuestionAction : IAction string absolutely = string.Empty; string finishedEvent = string.Empty; string optionType = null; + string des; + string cellSize; public static TextQuestionAction Allocate(Dictionary datas, System.Action onDelayFinish = null) { var retNode = mPool.Allocate(); @@ -44,6 +46,8 @@ public class TextQuestionAction : IAction retNode.absolutely = datas.ContainsKey("absolutely") ? datas["absolutely"] : string.Empty; retNode.finishedEvent = datas.ContainsKey("finishedEvent") ? datas["finishedEvent"] : string.Empty; retNode.optionType = datas.ContainsKey("optionType") ? datas["optionType"] : "0"; + retNode.des = datas.ContainsKey("des") ? datas["des"] : string.Empty; + retNode.cellSize = datas.ContainsKey("cellSize") ? datas["cellSize"] : string.Empty; return retNode; } @@ -87,6 +91,8 @@ public class TextQuestionAction : IAction bool.TryParse(absolutely, out data.absolutely); } int.TryParse(optionType, out data.OptionType); + data.des = des; + data.cellSize = cellSize; UIKit.OpenPanelAsync(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => this.Finish()); } diff --git a/Assets/Scripts/Actions/TextQuestionAction1.cs b/Assets/Scripts/Actions/TextQuestionAction1.cs new file mode 100644 index 00000000..5b1d6692 --- /dev/null +++ b/Assets/Scripts/Actions/TextQuestionAction1.cs @@ -0,0 +1,104 @@ +//using System.Collections; +//using System.Collections.Generic; +//using UnityEngine; +//using QFramework; +//using System; +//using QFramework.Example; +//using System.Linq; +//public class TextQuestionAction : IAction +//{ +// public ulong ActionID { get; set; } +// public bool Deinited { get; set; } +// public bool Paused { get; set; } +// public ActionStatus Status { get; set; } + +// private static readonly SimpleObjectPool mPool = +// new SimpleObjectPool(() => new TextQuestionAction(), null, 10); +// string title = string.Empty; +// string options = string.Empty; +// string answers = string.Empty; +// string btns = string.Empty; +// string wait = string.Empty; +// string showAnswer = string.Empty; +// string rightScore = string.Empty; +// string errorScore = string.Empty; +// string scoreName = string.Empty; +// string absolutely = string.Empty; +// string finishedEvent = string.Empty; +// string optionType = null; +// string des; +// string cellSize; +// public static TextQuestionAction Allocate(Dictionary datas, System.Action onDelayFinish = null) +// { +// var retNode = mPool.Allocate(); +// retNode.ActionID = ActionKit.ID_GENERATOR++; +// retNode.Deinited = false; +// retNode.Reset(); +// retNode.title = datas.ContainsKey("title") ? datas["title"] : string.Empty; +// retNode.options = datas.ContainsKey("options") ? datas["options"] : string.Empty; +// retNode.btns = datas.ContainsKey("btns") ? datas["btns"] : string.Empty; +// retNode.answers = datas.ContainsKey("answers") ? datas["answers"] : string.Empty; +// retNode.wait = datas.ContainsKey("wait") ? datas["wait"] : string.Empty; +// retNode.showAnswer = datas.ContainsKey("showAnswer") ? datas["showAnswer"] : string.Empty; +// retNode.rightScore = datas.ContainsKey("rightScore") ? datas["rightScore"] : string.Empty; +// retNode.errorScore = datas.ContainsKey("errorScore") ? datas["errorScore"] : string.Empty; +// retNode.scoreName = datas.ContainsKey("scoreName") ? datas["scoreName"] : string.Empty; +// retNode.absolutely = datas.ContainsKey("absolutely") ? datas["absolutely"] : string.Empty; +// retNode.finishedEvent = datas.ContainsKey("finishedEvent") ? datas["finishedEvent"] : string.Empty; +// retNode.optionType = datas.ContainsKey("optionType") ? datas["optionType"] : "0"; +// retNode.des = datas.ContainsKey("des") ? datas["des"] : string.Empty; +// retNode.cellSize = datas.ContainsKey("cellSize") ? datas["cellSize"] : string.Empty; +// return retNode; +// } + + + +// public void Deinit() +// { +// if (!Deinited) +// { +// Deinited = true; +// mPool.Recycle(this); +// } +// } + +// public void OnExecute(float dt) +// { +// } + +// public void OnFinish() +// { +// } + +// public void OnStart() +// { +// UITextQuestionData data = new UITextQuestionData(); +// data.title = title; +// data.options = options.Split('|').ToList(); +// foreach (var item in answers.Split(',')) +// { +// data.answers.Add(item); +// } +// data.btns = btns.Split(',').ToList(); +// float.TryParse(wait, out data.waitCloseTime); +// bool.TryParse(showAnswer, out data.showAnswer); +// data.finishedEvent = finishedEvent; +// if (string.IsNullOrEmpty(scoreName) == false) +// { +// data.scoreName = scoreName; +// float.TryParse(rightScore, out data.rightScore); +// float.TryParse(errorScore, out data.errorScore); +// bool.TryParse(absolutely, out data.absolutely); +// } +// int.TryParse(optionType, out data.OptionType); +// data.des = des; +// data.cellSize = cellSize; +// UIKit.OpenPanelAsync(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => this.Finish()); +// } + +// public void Reset() +// { +// Status = ActionStatus.NotStart; +// Paused = false; +// } +//} diff --git a/Assets/Scripts/Actions/TextQuestionAction1.cs.meta b/Assets/Scripts/Actions/TextQuestionAction1.cs.meta new file mode 100644 index 00000000..e55d9417 --- /dev/null +++ b/Assets/Scripts/Actions/TextQuestionAction1.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 90b3cf548c2bdb34788351fd16249c85 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UI/UITextQuestion.Designer.cs b/Assets/Scripts/UI/UITextQuestion.Designer.cs index 320d6c25..ad69d3c9 100644 --- a/Assets/Scripts/UI/UITextQuestion.Designer.cs +++ b/Assets/Scripts/UI/UITextQuestion.Designer.cs @@ -5,7 +5,7 @@ using QFramework; namespace QFramework.Example { - // Generate Id:32288864-cf64-4f8d-82e1-661c04d7b98d + // Generate Id:cacabdaf-864d-4da0-b775-b628479cac82 public partial class UITextQuestion { public const string Name = "UITextQuestion"; @@ -15,6 +15,8 @@ namespace QFramework.Example [SerializeField] public UnityEngine.UI.ToggleGroup OptionContent; [SerializeField] + public TMPro.TextMeshProUGUI Des; + [SerializeField] public RectTransform BtnContent; [SerializeField] public UnityEngine.UI.Button BtnPrefab; @@ -27,6 +29,7 @@ namespace QFramework.Example { Title = null; OptionContent = null; + Des = null; BtnContent = null; BtnPrefab = null; OptionPrefab = null; diff --git a/Assets/Scripts/UI/UITextQuestion.cs b/Assets/Scripts/UI/UITextQuestion.cs index 32e8715b..3fba319c 100644 --- a/Assets/Scripts/UI/UITextQuestion.cs +++ b/Assets/Scripts/UI/UITextQuestion.cs @@ -4,9 +4,8 @@ using QFramework; using System.Collections.Generic; using TMPro; using System; -using Microsoft.SqlServer.Server; -using XMLTool; using static OperationController; +using System.Security.Cryptography; namespace QFramework.Example { @@ -23,6 +22,8 @@ namespace QFramework.Example public string scoreName = string.Empty; public string format; public string finishedEvent; + public string des; + public string cellSize; /// /// 0:自动判断 1:单选 2:多选 /// @@ -49,8 +50,13 @@ namespace QFramework.Example { TypeEventSystem.Global.Register(OnStepChanged).UnRegisterWhenDisabled(gameObject); mData = uiData as UITextQuestionData ?? new UITextQuestionData(); + Des.text = string.Empty; Title.text = mData.title; OptionContent.transform.RemoveAllChildren(); + if (string.IsNullOrEmpty(mData.cellSize) == false) + { + OptionContent.GetComponent().cellSize = Utility.GetVector2FromStrArray(mData.cellSize); + } for (int i = 0; i < mData.options.Count; i++) { var item = mData.options[i]; @@ -85,6 +91,11 @@ namespace QFramework.Example label.text = item; obj.GetComponent