using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using vnxbqy.UI;
|
|
public class LoginStage : Stage
|
{
|
LoginModel loginModel { get { return ModelCenter.Instance.GetModel<LoginModel>(); } }
|
|
public override void Initialize()
|
{
|
base.Initialize();
|
checkClientTimer = Time.time + 60f;
|
checkAssetVersionTimer = Time.time + 70f;
|
|
WindowCenter.Instance.Close<FightingPKWin>();
|
WindowCenter.Instance.CloseImmediately("MainInterfaceWin");
|
|
if (VersionUtility.Instance.InIosAuditTime())
|
{
|
ServerListCenter.Instance.ParseServerLocalServerList();
|
}
|
|
WindowCenter.Instance.Open<LoginWin>(true);
|
|
if (ServerForceExitHintWin.reason == 0)
|
switch (VersionConfig.Get().versionAuthority)
|
{
|
case VersionAuthority.InterTest:
|
GameNotice.OpenGameNotice();
|
break;
|
case VersionAuthority.Release:
|
if (!VersionConfig.Get().isBanShu)
|
{
|
if (!loginModel.sdkLogined)
|
{
|
ynmbxxjUtil.Instance.FreePlatformLogin();
|
OperationLogCollect.Instance.RecordLauchEvent(4);
|
OperationLogCollect.Instance.RecordEvent(4);
|
}
|
}
|
break;
|
}
|
|
SoundPlayer.Instance.PlayLoginMusic();
|
if (VersionUtility.Instance.NeedDownAsset() && !AssetVersionUtility.hasDownLoadFullAsset)
|
{
|
InGameDownLoad.Instance.inGameDownLoadAllow = true;
|
InGameDownLoad.Instance.TryDownLoad(InGameDownLoad.Dominant.None);
|
}
|
|
MapTransferUtility.Instance.Clear();
|
}
|
|
public override void UnInitialize()
|
{
|
StopAllCoroutines();
|
base.UnInitialize();
|
}
|
|
protected override void OnStageLoadFinish()
|
{
|
base.OnStageLoadFinish();
|
if (ServerForceExitHintWin.reason != 0)
|
{
|
WindowCenter.Instance.Open<ServerForceExitHintWin>();
|
}
|
}
|
|
protected override void OnLateUpdate()
|
{
|
base.OnLateUpdate();
|
|
if (Application.isMobilePlatform)
|
{
|
CheckClientVersion();
|
CheckClientAssets();
|
}
|
}
|
|
float checkClientTimer = 0f;
|
private void CheckClientVersion()
|
{
|
if (Time.time > checkClientTimer)
|
{
|
checkClientTimer = Time.time + 60f;
|
StopCoroutine(Co_RequestGetVersionInfo());
|
StartCoroutine(Co_RequestGetVersionInfo());
|
}
|
}
|
|
private IEnumerator Co_RequestGetVersionInfo()
|
{
|
VersionUtility.Instance.RequestVersionCheck();
|
|
while (!VersionUtility.Instance.completed)
|
{
|
yield return null;
|
}
|
|
if (VersionUtility.Instance.versionInfo != null
|
&& VersionUtility.Instance.versionInfo.VersionCount > 0)
|
{
|
checkClientTimer = Time.time + 60000f;
|
WindowCenter.Instance.Open<AssetUpdateConfirmWin>();
|
}
|
else
|
{
|
checkClientTimer = Time.time + 60f;
|
}
|
}
|
|
float checkAssetVersionTimer = 0f;
|
private void CheckClientAssets()
|
{
|
if (Time.time > checkAssetVersionTimer)
|
{
|
checkAssetVersionTimer += Time.time + 5f;
|
|
var check = true;
|
if (Application.platform == RuntimePlatform.IPhonePlayer && VersionUtility.Instance.InIosAuditTime())
|
{
|
check = false;
|
}
|
|
if (check && VersionUtility.Instance.NeedDownAsset())
|
{
|
checkAssetVersionTimer += Time.time + 10f;
|
var assetVersionUrl = StringUtility.Contact(VersionUtility.Instance.versionInfo.GetResourcesURL(VersionConfig.Get().branch), Language.fixPath, "/AssetsVersion.txt");
|
HttpRequest.Instance.RequestHttpGet(assetVersionUrl, HttpRequest.defaultHttpContentType, 3, OnGetAssetVersionFile);
|
}
|
}
|
}
|
|
private void OnGetAssetVersionFile(bool ok, string result)
|
{
|
if (ok)
|
{
|
var md5 = FileExtersion.GetStringMD5Hash(result);
|
if (AssetVersionUtility.assetVersionsLocalMd5 != md5)
|
{
|
checkAssetVersionTimer += Time.time + 36000f;
|
WindowCenter.Instance.Open<AssetUpdateConfirmWin>();
|
}
|
else
|
{
|
checkAssetVersionTimer += Time.time + 60f;
|
}
|
}
|
else
|
{
|
checkAssetVersionTimer += Time.time + 60f;
|
}
|
}
|
|
}
|