示例#1
0
        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;
            }
        }
示例#2
0
        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();
            }
        }