| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- using UnityEngine;
- using UnityEngine.UI;
- using QFramework;
- using ChivaXR;
- using System.Collections.Generic;
- using System.Collections;
- namespace QFramework
- {
- public class ImageAndTextNameSetPanelData : UIPanelData
- {
- }
- public partial class ImageAndTextNameSetPanel : UIPanel
- {
- private List<ImageOptionSetItem> m_OptionSetItems = new List<ImageOptionSetItem>();
- public string[] capital = new string[] { "A", "B", "C", "D", "E", "F", "G" };
- protected override void OnInit(IUIData uiData = null)
- {
- mData = uiData as ImageAndTextNameSetPanelData ?? new ImageAndTextNameSetPanelData();
- AddOptionBtn.onClick.AddListener(OnAddOptionBtnClick);
- CloseBtn.onClick.AddListener(OnCloseBtnClick);
- NextBtn.onClick.AddListener(OnNextBtnClick);
- PreviousBtn.onClick.AddListener(OnPreviousBtnClick);
- }
-
- protected override void OnOpen(IUIData uiData = null)
- {
-
- OnInitData();
- }
-
- protected override void OnShow()
- {
- }
-
- protected override void OnHide()
- {
- }
-
- protected override void OnClose()
- {
- }
- private void OnInitData()
- {
- UIKit.ClosePanel<QuestionSetPanel>();
- UIKit.ClosePanel<QuestionPanel>();
- UIKit.ClosePanel<ImageAndTextNamePanel>();
- ClearImageOptionSetItem();
- QuestionProxy questionProxy = DAL.Instance.Get<QuestionProxy>();
- QuestionInfo questionInfo = questionProxy.GetQuestionInfoByStepId(ProcessManagement.Instance.currentStepID);
- if (questionInfo.QuestionType != "图文") return;
- string[] tmpOptions = questionInfo.Options.Split(';');
- foreach (var item in tmpOptions)
- {
- ImageOptionSetItem optionSetItem = AddImageOptionSetItem();
- optionSetItem.InitData(item,questionInfo.Answer);
- }
- LayoutRebuilder.ForceRebuildLayoutImmediate(OptionConent.rectTransform);
- }
- /// <summary>
- /// 添加按钮点击
- /// </summary>
- private void OnAddOptionBtnClick()
- {
- ImageOptionSetItem tmpImageOptionSetItem = AddImageOptionSetItem();
- LayoutRebuilder.ForceRebuildLayoutImmediate(OptionConent.rectTransform);
- }
- private ImageOptionSetItem AddImageOptionSetItem()
- {
- GameObject tmpOptionSetItemObj = Instantiate(OptionSetItem.gameObject, OptionConent.transform);
- ImageOptionSetItem tmpImageOptionSetItem = tmpOptionSetItemObj.GetComponent<ImageOptionSetItem>();
- m_OptionSetItems.Add(tmpImageOptionSetItem);
- tmpOptionSetItemObj.SetActive(true);
- return tmpImageOptionSetItem;
- }
- /// <summary>
- /// 下一步按钮点击
- /// </summary>
- private void OnNextBtnClick()
- {
- DAL.Instance.Get<QuestionProxy>().SetQuestionInfo(GetPanelQuestionSetInfo());
- ProcessManagement.Instance.JumpProcessState(ProcessManagement.Instance.currentStepID + 1);
- ProcessManagement.Instance.ActiveCurrentProcess();
- OnInitData();
- }
- /// <summary>
- /// 上一步按钮点击
- /// </summary>
- private void OnPreviousBtnClick()
- {
- DAL.Instance.Get<QuestionProxy>().SetQuestionInfo(GetPanelQuestionSetInfo());
- ProcessManagement.Instance.JumpProcessState(ProcessManagement.Instance.currentStepID - 1);
- ProcessManagement.Instance.ActiveCurrentProcess();
- OnInitData();
- }
- /// <summary>
- /// 关闭按钮点击
- /// </summary>
- private void OnCloseBtnClick()
- {
- CloseSelf();
- }
- private void ClearImageOptionSetItem()
- {
- for (int i = 0; i < m_OptionSetItems.Count; i++)
- {
- Destroy(m_OptionSetItems[i].gameObject);
- }
- m_OptionSetItems.Clear();
- }
- IEnumerator ShowPopText(string popText)
- {
- PopText.text = popText;
- yield return new WaitForSeconds(2);
- PopText.text = string.Empty;
- }
- /// <summary>
- /// 获取面板上配置的试题信息
- /// </summary>
- /// <returns></returns>
- private QuestionInfo GetPanelQuestionSetInfo()
- {
- QuestionInfo questionInfo = new QuestionInfo();
- questionInfo.StepId = ProcessManagement.Instance.currentStepID.ToString();
- questionInfo.QuestionType = "图文";
- string tmpOptionsStr = string.Empty;
- for (int i = 0; i < m_OptionSetItems.Count; i++)
- {
- if (i != 0) tmpOptionsStr += ";";
- tmpOptionsStr += capital[i] + "、" + m_OptionSetItems[i].OptionInputField.text + "_" + m_OptionSetItems[i].m_PictureName;
- }
- string tmpAnswerStr = string.Empty;
- for (int i = 0; i < m_OptionSetItems.Count; i++)
- {
- if (m_OptionSetItems[i].SelectToggle.isOn)
- {
- tmpAnswerStr += capital[i];
- }
- }
- questionInfo.Options = tmpOptionsStr;
- questionInfo.Answer = tmpAnswerStr;
- return questionInfo;
- }
- }
- }
|