| | |
| | | isSendQueryMyRank = true;
|
| | | }
|
| | |
|
| | | private int checkQueryStartTime = 60; //进入领奖期后300s内每秒判定随机执行,如果没执行300s后立即执行一次
|
| | | bool isTimeSendQueryMyRank = false; //是否已经定时发送过查询我的排名请求
|
| | |
|
| | | private void TryTimeQueryMyRank()
|
| | | {
|
| | | if (isSendQueryMyRank)
|
| | | return;
|
| | | if (isTimeSendQueryMyRank)
|
| | | return;
|
| | | // 没有参赛资格
|
| | | if (!hasQualification())
|
| | | return;
|
| | | int stateValue;
|
| | | if (!TryGetCurrentStateValue(out stateValue))
|
| | | return;
|
| | | int state = GetStateByStateValue(stateValue);
|
| | | if (state != 4)
|
| | | return;
|
| | | if (!TryGetStartTimeByStateValue(stateValue, out DateTime startTime))
|
| | | return;
|
| | | int time = (int)(ILTimeUtility.ServerCrossNow - startTime).TotalSeconds;
|
| | | if (time <= 0)
|
| | | return;
|
| | | if (time > checkQueryStartTime)
|
| | | {
|
| | | //如果没执行60s后立即执行一次
|
| | | if (!isSendQueryMyRank)
|
| | | {
|
| | | SendMyRank();
|
| | | isTimeSendQueryMyRank = true;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (UnityEngine.Random.Range(0f, 1f) < 0.6f)
|
| | | {
|
| | | SendMyRank();
|
| | | isTimeSendQueryMyRank = true;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void SendMyRank()
|
| | | {
|
| | | rankModel.ResetQueryParam();
|
| | |
| | |
|
| | | public void OnSecondEvent()
|
| | | {
|
| | | TryTimeQueryMyRank();
|
| | | TryQueryMyRank();
|
| | | }
|
| | |
|
| | | private void RankModel_onMyRankRefresh(int type)
|