using System; using System.Collections.Generic; using ET; using FairyGUI; using UI.CommonGame; using UI.ClothingUpgrade; using Random = System.Random; namespace GFGGame { class ClothingAnsweringView : BaseWindow { private UI_ClothingAnsweringUI _ui; private int _partIndex; private int partIndexCommon; private int level; private int levelNum; private int questionNum = 5; private int questIndex = 0; private int questionId; private int cout; public override void Dispose() { base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_ClothingAnsweringUI.PACKAGE_NAME; _ui = UI_ClothingAnsweringUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); _ui.m_listResult.itemRenderer = RenderListResultItem; _ui.m_btnBack.onClick.Add(OnClickBtnBack); } protected override void OnShown() { base.OnShown(); if (this.viewData != null) { _partIndex = (int)(this.viewData as object[])[0]; level = (int)(this.viewData as object[])[1]; levelNum = (int)(this.viewData as object[])[2]; } if (_partIndex != 99) { partIndexCommon = 0; } else { partIndexCommon = 99; } _ui.m_bg.url = ResPathUtil.GetBgImgPath("gyp_bg"); questionNum = CollegeRankCfgArray.Instance.GetCfgByRankPartsIdAndSecondLevelRank(partIndexCommon, level).NumberOfAnswers; cout = LeagueQuestionCfgArray.Instance.dataArray.Length + 1; questIndex = 0; UpdateQuestion(); } protected override void OnHide() { base.OnHide(); } private void RenderListResultItem(int index, GObject obj) { LeagueQuestionCfg cfg = LeagueQuestionCfgArray.Instance.GetCfg(questionId); ; UI_Button123 item = UI_Button123.Proxy(obj); int data = index + 1; item.m_c1.selectedIndex = 2; item.target.title = string.Format("{0}.{1}", data, cfg.answerArr[index]); if (item.target.data == null) { item.target.onClick.Add(OnBtnChooseClick); } item.target.data = data; UI_Button123.ProxyEnd(); } private async void OnBtnChooseClick(EventContext context) { GObject obj = context.sender as GObject; int data = (int)obj.data; UI_Button123 item = UI_Button123.Proxy(obj); LeagueQuestionCfg cfg = LeagueQuestionCfgArray.Instance.GetCfg(questionId); //测试 正确答案 if (data == int.Parse(cfg.answerCorrect)) { item.m_c1.selectedIndex = 1; if (questIndex >= questionNum) { //发送升级 var result = await CollegeSProxy.ReqCollectUpgrade(_partIndex, level, levelNum); string exitTip = "恭喜恭喜!晋升成功!"; AlertUI.Show(exitTip) .SetLeftButton(false, "取消", (object data) => { }) .SetRightButton(true, "确定", (object data) => { //退出 ViewManager.GoBackFrom(typeof(ClothingAnsweringView).FullName); }); } else { UpdateQuestion(); } PromptController.Instance.ShowFloatTextPrompt("回答正确!"); } else { PromptController.Instance.ShowFloatTextPrompt("回答错误!"); item.m_c1.selectedIndex = 0; } UI_Button123.ProxyEnd(); } private void UpdateQuestion() { questIndex++; Random random = new Random(); questionId = random.Next(1, cout); // 生成1到cout之间的随机整数 LeagueQuestionCfg questionCfg = LeagueQuestionCfgArray.Instance.GetCfg(questionId); _ui.m_txtAnswerNum.text = string.Format("第{0}/{1}题", questIndex,questionNum); _ui.m_txtContent.text = questionCfg.question; _ui.m_listResult.numItems = questionCfg.answerArr.Length; } private void OnClickBtnBack() { string exitTip = "是否退出,退出后将不保存答题进度,并且下次题目将随机出现"; AlertUI.Show(exitTip) .SetLeftButton(true, "取消", (object data) => { }) .SetRightButton(true, "确定", (object data) => { ViewManager.GoBackFrom(typeof(ClothingAnsweringView).FullName); }); } } }