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 m_OptionSetItems = new List(); 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() { ClearImageOptionSetItem(); QuestionProxy questionProxy = DAL.Instance.Get(); 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); } } /// /// 添加按钮点击 /// private void OnAddOptionBtnClick() { ImageOptionSetItem tmpImageOptionSetItem = AddImageOptionSetItem(); } private ImageOptionSetItem AddImageOptionSetItem() { GameObject tmpOptionSetItemObj = Instantiate(OptionSetItem.gameObject, OptionConent.transform); ImageOptionSetItem tmpImageOptionSetItem = tmpOptionSetItemObj.GetComponent(); m_OptionSetItems.Add(tmpImageOptionSetItem); tmpOptionSetItemObj.SetActive(true); return tmpImageOptionSetItem; } /// /// 下一步按钮点击 /// private void OnNextBtnClick() { ProcessManagement.Instance.JumpProcessState(ProcessManagement.Instance.currentStepID + 1); ProcessManagement.Instance.ActiveCurrentProcess(); OnInitData(); } /// /// 上一步按钮点击 /// private void OnPreviousBtnClick() { ProcessManagement.Instance.JumpProcessState(ProcessManagement.Instance.currentStepID - 1); ProcessManagement.Instance.ActiveCurrentProcess(); OnInitData(); } /// /// 关闭按钮点击 /// 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; } } }