コード例 #1
0
    /// <summary>
    /// 设置报名窗口
    /// </summary>
    /// <param name="leagueInfo">League info.</param>
    private void SetSignUpPage(NetMessage.LeagueInfo leagueInfo)
    {
        this.leagueInfo = leagueInfo;
        ShowPage(false, true, false, false, false);

        start = TimeSystem.Instance.GetTime(leagueInfo.signup_start);
        end   = TimeSystem.Instance.GetTime(leagueInfo.signup_finish);

        // 报名剩余时间
        UpdateTimeSignUp();

        // 比赛时间
        DateTime battleStart  = TimeSystem.Instance.GetTimeCST(leagueInfo.combat_start);
        DateTime battleFinish = TimeSystem.Instance.GetTimeCST(leagueInfo.combat_finish);

        if (battleStart.Year == battleFinish.Year && battleStart.Month == battleFinish.Month && battleStart.Day == battleFinish.Day)
        {
            signLeagueTime.text = LanguageDataProvider.Format(703, battleStart.Year, battleStart.Month, battleStart.Day, battleStart.Hour, battleStart.Minute
                                                              , battleFinish.Hour, battleFinish.Minute);
        }
        else
        {
            signLeagueTime.text = LanguageDataProvider.Format(704, battleStart.Year, battleStart.Month, battleStart.Day, battleStart.Hour, battleStart.Minute
                                                              , battleFinish.Year, battleFinish.Month, battleFinish.Day, battleFinish.Hour, battleFinish.Minute);
        }

        // 说明
        signLeagueDesc.text = leagueInfo.desc;
    }
コード例 #2
0
    public override void OnUIEventHandler(EventId eventId, params object[] args)
    {
        if (eventId == EventId.OnGetLeagueInfoResult)
        {
            // 获取的是自身的联赛信息,则要么在战斗,要么在等待
            leagueInfo = (NetMessage.LeagueInfo)args [0];
            selfInfo   = (NetMessage.MemberInfo)args [1];

            start = TimeSystem.Instance.GetTime(leagueInfo.combat_start);
            end   = TimeSystem.Instance.GetTime(leagueInfo.combat_finish);
            DateTime serverTime = TimeSystem.Instance.GetServerTime();

            if (serverTime.CompareTo(start) < 0)
            {
                // 未开始
                SetWaitPage();
            }
            else if (serverTime.CompareTo(end) < 0)
            {
                // 战斗中
                if (selfInfo.battle_num == 0)
                {
                    SetWaitPage();
                }
                else
                {
                    SetBattlePage();
                    // 请求排行榜
                    NetSystem.Instance.helper.RequestLeagueRank(leagueInfo.id, 0);
                }
            }
            else
            {
                // 已结束
                SetResultPage();
                // 请求排行榜
                NetSystem.Instance.helper.RequestLeagueRank(leagueInfo.id, 0);
            }
        }
        else if (eventId == EventId.OnLeagueListResult)
        {
            // 展示报名信息
            int start = (int)args [0];
            IList <NetMessage.LeagueInfo> leagueList = (IList <NetMessage.LeagueInfo>)args [1];

            if (leagueList == null || leagueList.Count == 0)
            {
                // 没有活动
                SetNotOpenPage();
            }
            else
            {
                // 显示第一个活动
                SetSignUpPage(leagueList [0]);
            }
        }
        else if (eventId == EventId.OnLeagueSignUpResult)
        {
            // 报名结果
            NetMessage.ErrCode code     = (NetMessage.ErrCode)args [0];
            string             leagueId = (string)args [1];
            if (code == NetMessage.ErrCode.EC_Ok)
            {
                // 不需要,自动发送获取联赛信息的消息
            }
            else if (code == NetMessage.ErrCode.EC_LeagueIsFull)
            {
                Tips.Make(LanguageDataProvider.GetValue(210));
            }
            else if (code == NetMessage.ErrCode.EC_LeagueIn)
            {
                Tips.Make(LanguageDataProvider.GetValue(211));
            }
            else if (code == NetMessage.ErrCode.EC_LeagueNotExist)
            {
                Tips.Make(LanguageDataProvider.GetValue(212));
            }
            else if (code == NetMessage.ErrCode.EC_LeagueNotOpen)
            {
                Tips.Make(LanguageDataProvider.GetValue(213));
            }
            else
            {
                Tips.Make(LanguageDataProvider.GetValue(214) + code);
            }
        }
        else if (eventId == EventId.OnLeagueRankResult)
        {
            IList <NetMessage.MemberInfo> list = (IList <NetMessage.MemberInfo>)args [1];
            rankList.AddRange(list);

            if (battlePage.activeSelf)
            {
                SetRankScrollView(battleRankScrollView, battleRankGrid, battleStaticRanks);
            }
            else if (resultPage.activeSelf)
            {
                SetRankScrollView(resultRankScrollView, resultRankGrid, resultStaticRanks);
                // 设置结果自己的排名
                SetResultSelfRank();
            }
        }
        else if (eventId == EventId.OnLeagueMatchResult)
        {
            NetMessage.ErrCode code = (NetMessage.ErrCode)args [0];
            if (code == NetMessage.ErrCode.EC_Ok)
            {
            }
            else if (code == NetMessage.ErrCode.EC_LeagueNotInMatchTime)
            {
                Tips.Make(LanguageDataProvider.GetValue(215));
            }
            else
            {
                Tips.Make(LanguageDataProvider.GetValue(216));
            }
        }
    }