public override void OnMessage(WndMsgID msgID, UIMsgData data) { switch (msgID) { case WndMsgID.WND_MSG_LEGENDCUP_MSGBOXCREATE_SHOW: { SetVisible(true); if (m_wndView != null) { UIMsgCmdData uiData = (UIMsgCmdData)data; cmd_legendcup_recv_create_cup_type_info cmdData = IntPtrHelper.toData <cmd_legendcup_recv_create_cup_type_info>(uiData.ptrParam); m_wndView.OnLegendCupCreateWndOpen(cmdData); } } break; case WndMsgID.WND_MSG_LEGENDCUP_MSGBOXCREATE_CLOSE: { if (m_wndView != null) { UnloadView(); } } break; default: break; } }
public void OnLegendCupCreateWndOpen(cmd_legendcup_recv_create_cup_type_info typeInfo) { m_nCreateType = typeInfo.byLegendCupType; SSchemeLegendCupTypeConfig typeConfig = LegendCupConfig.Instance.GetCupTypeConfig((int)typeInfo.byLegendCupType); if (typeConfig == null) { return; } m_nCupIDList = typeInfo.bIsFreeCreate > 0 ? typeConfig.nFreeCupConfigIDList : typeConfig.nChargeCupconfigIDList; CupConfigNameDd.onValueChanged.RemoveListener(OnChangedCupConfigDd); CupConfigNameDd.options.Clear(); SSchemeLegendCupConfig cupConfig = null; for (int i = 0; i < m_nCupIDList.Length; i++) { cupConfig = LegendCupConfig.Instance.GetCupConfig(m_nCupIDList[i]); if (cupConfig == null) { continue; } CupConfigNameDd.options.Add(new Dropdown.OptionData(cupConfig.sCupConfigViewName)); } CupConfigNameDd.onValueChanged.AddListener(OnChangedCupConfigDd); // 默认选择要求:战队杯赛第一组第一个,联盟杯赛选符合人数限制(都不符合选最后一个) int nSelectIndex = 0; if (typeInfo.byLegendCupType == (int)ELegendCupType.emCupType_Clan) { int nClanMemberCount = LogicDataCenter.clanDataManager.ClanBaseData.nMemberCount; nSelectIndex = -1; for (int i = 0; i < m_nCupIDList.Length; i++) { cupConfig = LegendCupConfig.Instance.GetCupConfig(m_nCupIDList[i]); if (cupConfig == null) { continue; } SSchemeLegendCupLimitConfig limitConfig = LegendCupConfig.Instance.GetCupLimitConfig(cupConfig.nConfigID); if (limitConfig == null) { continue; } if (nClanMemberCount >= limitConfig.nCountLimit) { nSelectIndex = i; break; } } if (nSelectIndex < 0) { nSelectIndex = m_nCupIDList.Length - 1; } } // 设置下拉框默认选中项 if (nSelectIndex < 0 || nSelectIndex >= CupConfigNameDd.options.Count) { return; } CupConfigNameDd.captionText.text = CupConfigNameDd.options.ElementAt(nSelectIndex).text; m_curCupConfig = LegendCupConfig.Instance.GetCupConfig(m_nCupIDList[nSelectIndex]); DeadlineDd.options.Clear(); for (int i = 0; i < m_curCupConfig.nDeadline.Length; i++) { DeadlineDd.options.Add(new Dropdown.OptionData(m_curCupConfig.nDeadline[i] + ULocalizationService.Instance.Get("UIView", "LegendCupCreate", "Day"))); } DeadlineDd.captionText.text = DeadlineDd.options.First().text; CreateGold.text = m_curCupConfig.nCreateNeedMoney.ToString(); RegistGoldIF.placeholder.GetComponent <Text>().text = m_curCupConfig.nRegistNeedMoney.ToString(); // 联盟杯赛不设密码 if (typeInfo.byLegendCupType == (int)ELegendCupType.emCupType_Clan) { PassWordIF.DeactivateInputField(); } else { PassWordIF.ActivateInputField(); } // 免费杯赛不设费用 if (typeInfo.bIsFreeCreate > 0) { RegistGoldIF.DeactivateInputField(); } else { RegistGoldIF.ActivateInputField(); } }