void UpdateQuestionAndAnswer() { DailyAnswerInfo dailyAnswerInfo = DataManager.Manager <DailyAnswerManager>().GetDailyAnswerInfo(); if (dailyAnswerInfo != null) { // 题 目 m_label_question_label.text = dailyAnswerInfo.question; //答案 m_lstGrid.Clear(); for (int i = 0; i < m_grid_Grid.transform.childCount; i++) { Transform ts = m_grid_Grid.transform.GetChild(i); UIDailyAnswerAnswerGrid grid = ts.gameObject.GetComponent <UIDailyAnswerAnswerGrid>(); if (grid == null) { grid = ts.gameObject.AddComponent <UIDailyAnswerAnswerGrid>(); } if (dailyAnswerInfo.answer != null && i < dailyAnswerInfo.answer.Count) { grid.SetGridData(dailyAnswerInfo.answer[i]); grid.SetAnswerDes(dailyAnswerInfo.answer[i].answerDes); grid.RegisterUIEventDelegate(OnGridEventDlg); m_lstGrid.Add(grid); } } } }
void SetGrid(UIDailyAnswerAnswerGrid grid) { //选中 SetGridSelect(grid); //对错 StartCoroutine(WaitForSetGridRightOrWorng(grid)); }
void SetGridSelect(UIDailyAnswerAnswerGrid grid) { for (int i = 0; i < m_lstGrid.Count; i++) { //选中 if (grid.m_data.index == m_lstGrid[i].m_data.index) { m_lstGrid[i].SetSelect(true); } else { m_lstGrid[i].SetSelect(false); } } }
IEnumerator WaitForSetGridRightOrWorng(UIDailyAnswerAnswerGrid grid) { yield return(new WaitForSeconds(1f)); grid.SetRightOrWrong(grid.m_data.index == 1); for (int i = 0; i < m_lstGrid.Count; i++) { if (grid.m_data.index != 1) { if (m_lstGrid[i].m_data.index == 1) { m_lstGrid[i].SetRightOrWrong(true); } } } DataManager.Manager <DailyAnswerManager>().AnswerIsCorrect(grid.m_data.index); }
private void OnGridEventDlg(UIEventType eventType, object data, object param) { if (eventType == UIEventType.Click) { UIDailyAnswerAnswerGrid grid = data as UIDailyAnswerAnswerGrid; if (grid != null) { if (DataManager.Manager <DailyAnswerManager>().CanAnswer) { SetGrid(grid); StartCoroutine(WaitForNextQuestion(grid.m_data.index)); //只能选一次答案,直到下道题下来,才可以回答 DataManager.Manager <DailyAnswerManager>().CanAnswer = false; } } } }
protected override void OnLoading() { base.OnLoading(); for (int i = 0; i < m_grid_Grid.transform.childCount; i++) { Transform ts = m_grid_Grid.transform.GetChild(i); UIDailyAnswerAnswerGrid grid = ts.gameObject.GetComponent <UIDailyAnswerAnswerGrid>(); if (grid == null) { grid = ts.gameObject.AddComponent <UIDailyAnswerAnswerGrid>(); } grid.ReSetRightOrWrong(); grid.SetSelect(false); } uint dailyId = DataManager.Manager <DailyAnswerManager>().DailyAnswerDailyId; m_dailyDb = GameTableManager.Instance.GetTableItem <DailyDataBase>(dailyId); }