//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, March 02, 2018 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using System; using TableConfig; //用于主界面 namespace Snxxz.UI { //用于主界面的Tip的引导结束后出现 public class TipPanel : Singleton { PlayerMainDate m_MainModel; PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel()); } } OffLineOnHookModel m_OnHookModel; OffLineOnHookModel onHookModel { get { return m_OnHookModel ?? (m_OnHookModel = ModelCenter.Instance.GetModel()); } } LoginAdModel loginAdModel { get { return ModelCenter.Instance.GetModel(); } } FirstTimeRechargeModel firstTimeRechargeModel { get { return ModelCenter.Instance.GetModel(); } } public TipPanel() { WindowCenter.Instance.windowAfterOpenEvent += windowBeforeOpen; NewBieCenter.Instance.guideCompletedEvent += guideCompleted; } 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.CheckOpen() && !NewBieCenter.Instance.inGuiding && !WindowCenter.Instance.ExitAnyFullScreenOrMaskWin()) { IsOPenTip(); } } IEnumerator Co_Load() { yield return WaitingForSecondConst.WaitMS500; if (!NewBieCenter.Instance.inGuiding && !WindowCenter.Instance.ExitAnyFullScreenOrMaskWin()) { IsOPenTip(); } } private bool IsDungeon() { var mapId = PlayerDatas.Instance.baseData.MapID; var mapConfig = Config.Instance.Get(mapId); return mapConfig != null && mapConfig.MapFBType != 0; } public void IsOPenTip() { var inDungeon = IsDungeon(); if (loginAdModel.CheckOpen() || WindowCenter.Instance.CheckOpen())//广告 { } else if (onHookModel.IsOpenOffLineOnHookBool)//脱机挂 { WindowCenter.Instance.Open(); onHookModel.IsOpenOffLineOnHookBool = false; } else if (firstTimeRechargeModel.IsTryOut == 1 && !inDungeon)//装备试用 { firstTimeRechargeModel.OpenFirstChargeTrialWin(); } 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().sdkIDCheckIDAuthentication; var certificationState = sdkIDCheckIDAuthentication.type; if (certificationState == "2") { var idNumber = sdkIDCheckIDAuthentication.card_id; if (string.IsNullOrEmpty(idNumber) || !MathUtility.CheckAdult(idNumber)) { WindowCenter.Instance.Open(); } } else { WindowCenter.Instance.Open(); } } mainModel.IsTipBool = false; WindowCenter.Instance.windowBeforeOpenEvent -= windowBeforeOpen; } } } }