//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, March 02, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
using System;
|
|
//用于主界面
|
namespace vnxbqy.UI
|
{
|
//用于主界面的Tip的引导结束后出现
|
|
|
public class TipPanel : Singleton<TipPanel>
|
|
{
|
PlayerMainDate m_MainModel;
|
PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
|
OffLineOnHookModel m_OnHookModel;
|
OffLineOnHookModel onHookModel { get { return m_OnHookModel ?? (m_OnHookModel = ModelCenter.Instance.GetModel<OffLineOnHookModel>()); } }
|
|
LoginAdModel loginAdModel { get { return ModelCenter.Instance.GetModel<LoginAdModel>(); } }
|
FirstTimeRechargeModel firstTimeRechargeModel { get { return ModelCenter.Instance.GetModel<FirstTimeRechargeModel>(); } }
|
StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
|
TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
|
FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } }
|
|
public void Initialize()
|
{
|
WindowCenter.Instance.windowAfterOpenEvent += windowBeforeOpen;
|
NewBieCenter.Instance.guideCompletedEvent += guideCompleted;
|
StageLoad.Instance.onStageLoadFinish += OnStageLoadFinish;
|
TreasureNewGotWin.CloseTreasureNewGotWinEvent += CloseTreasureNewGotWinEvent;
|
}
|
|
private void CloseTreasureNewGotWinEvent()
|
{
|
SnxxzGame.Instance.StartCoroutine(Co_Load());
|
}
|
|
private void OnStageLoadFinish()
|
{
|
SnxxzGame.Instance.StartCoroutine(Co_Load());
|
}
|
|
private void guideCompleted(int obj)
|
{
|
SnxxzGame.Instance.StartCoroutine(Co_GuideComplete());
|
}
|
|
private void windowBeforeOpen(Window win)
|
{
|
if (win is MainInterfaceWin)
|
{
|
SnxxzGame.Instance.StartCoroutine(Co_Load());
|
}
|
}
|
|
IEnumerator Co_GuideComplete()
|
{
|
yield return null;
|
if (WindowCenter.Instance.IsOpen<MainInterfaceWin>() && !NewBieCenter.Instance.inGuiding
|
&& !WindowCenter.Instance.ExistAnyFullScreenOrMaskWin() && !StageLoad.Instance.isLoading
|
&& !treasureModel.newGotShowing)
|
{
|
IsOPenTip();
|
}
|
}
|
|
IEnumerator Co_Load()
|
{
|
yield return WaitingForSecondConst.WaitMS500;
|
if (WindowCenter.Instance.IsOpen<MainInterfaceWin>() && !NewBieCenter.Instance.inGuiding
|
&& !WindowCenter.Instance.ExistAnyFullScreenOrMaskWin() && !StageLoad.Instance.isLoading
|
&& StageLoad.Instance.currentStage is DungeonStage && !treasureModel.newGotShowing)
|
{
|
IsOPenTip();
|
}
|
}
|
|
private bool IsDungeon()
|
{
|
var mapId = PlayerDatas.Instance.baseData.MapID;
|
var mapConfig = MapConfig.Get(mapId);
|
return mapConfig != null && mapConfig.MapFBType != 0;
|
}
|
public void IsOPenTip()
|
{
|
var inDungeon = IsDungeon();
|
loginAdModel.CheckOpen();
|
if (onHookModel.openWinState == 2)//脱机挂
|
{
|
PopupWindowsProcessor.Instance.Add("OffLineOnHookWin");
|
onHookModel.openWinState = 0;
|
}
|
if (firstTimeRechargeModel.IsTryOut == 1 && !inDungeon)//装备试用
|
{
|
firstTimeRechargeModel.OpenFirstChargeTrialWin();
|
}
|
else if (featureNoticeModel.IsShowFeatureN())//功能预告面板
|
{
|
SysNotifyMgr.Instance.StartCoroutine(featureNoticeModel.WhetherToPlayTheBox());
|
}
|
else if (!WindowCenter.Instance.IsOpen<PetAndMountPushWin>()
|
&& !WindowCenter.Instance.IsOpen<OffLineOnHookWin>()) //灵宠坐骑推送
|
{
|
storeModel.SetPushPetAndMountWinState();
|
}
|
|
if (mainModel.IsTipBool)
|
{
|
if (InGameDownLoad.Instance.IsHighLevelPlayer())
|
{
|
if (InGameDownLoad.Instance.CheckDominantDownLoad())
|
{
|
if (InGameDownTestUtility.enable)
|
{
|
if (InGameDownTestUtility.isWifi)
|
{
|
InGameDownLoad.Instance.TryDownLoad(InGameDownLoad.Dominant.Half);
|
}
|
else
|
{
|
InGameDownLoad.Instance.TryDownLoad(InGameDownLoad.Dominant.Whole);
|
}
|
}
|
else
|
{
|
if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork)
|
{
|
InGameDownLoad.Instance.TryDownLoad(InGameDownLoad.Dominant.Half);
|
}
|
else
|
{
|
InGameDownLoad.Instance.TryDownLoad(InGameDownLoad.Dominant.Whole);
|
}
|
}
|
}
|
}
|
|
if (DTCB105_tagMCPlayerWallow.antiAddictionOpen)
|
{
|
var sdkIDCheckIDAuthentication = ModelCenter.Instance.GetModel<LoginModel>().sdkIDCheckIDAuthentication;
|
var certificationState = sdkIDCheckIDAuthentication.type;
|
if (certificationState == "2")
|
{
|
var idNumber = sdkIDCheckIDAuthentication.card_id;
|
if (string.IsNullOrEmpty(idNumber) || !MathUtility.CheckAdult(idNumber))
|
{
|
WindowCenter.Instance.Open<AntiAddictionWin>();
|
}
|
}
|
else
|
{
|
WindowCenter.Instance.Open<AntiAddictionWin>();
|
}
|
}
|
|
mainModel.IsTipBool = false;
|
WindowCenter.Instance.windowBeforeOpenEvent -= windowBeforeOpen;
|
}
|
}
|
}
|
|
}
|
|
|
|