MainUIView.cs 67 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545
  1. using FairyGUI;
  2. using UI.Main;
  3. using UnityEngine;
  4. using System.Collections.Generic;
  5. using ET;
  6. using System.Linq;
  7. using Assets.Game.HotUpdate.Data;
  8. using System.Collections;
  9. using System;
  10. using GFGGame.Launcher;
  11. namespace GFGGame
  12. {
  13. public class MainUIView : BaseView
  14. {
  15. private UI_MainUI _ui;
  16. private GameObject _sceneObject;
  17. private ValueBarController _valueBarController;
  18. private SwipeGesture swipeGesture;
  19. private const int swipeDistance = 100;
  20. private bool isOpen = false;
  21. DateTime dateTime;
  22. DateTime unixStartTime;
  23. private List<AdCfg> _adIds = new List<AdCfg>();
  24. private Vector2 _startPos;
  25. private Vector2 _endPos;
  26. private GButton _btnGongGao;
  27. private GButton _btnHaoYou;
  28. private GButton _btnYouJian;
  29. private GButton _btnRenWu;
  30. private GButton _btnLeague;
  31. private GButton _btnStore;
  32. private GButton _btnTuJian;
  33. private GButton _btnStudio;
  34. private GButton _btnField;
  35. private GButton _btnBag;
  36. private GButton _btnActivityDay7;
  37. private GButton _btnGallery;
  38. private List<EffectUI> _effectUIList = new List<EffectUI>();
  39. private UI_ButtonModle1[] _btns;
  40. private bool firstIn;
  41. //用于分帧更新红点
  42. private int redPointUpdateFrame = -1;
  43. public override void Dispose()
  44. {
  45. if (_valueBarController != null)
  46. {
  47. _valueBarController.Dispose();
  48. _valueBarController = null;
  49. }
  50. // Clear Effect
  51. for (int i = 0; i < _effectUIList.Count; i++)
  52. {
  53. EffectUIPool.Recycle(_effectUIList[i]);
  54. }
  55. _effectUIList.Clear();
  56. if (_sceneObject != null)
  57. {
  58. PrefabManager.Instance.Restore(_sceneObject);
  59. _sceneObject = null;
  60. }
  61. if (_ui != null)
  62. {
  63. _ui.Dispose();
  64. _ui = null;
  65. }
  66. base.Dispose();
  67. }
  68. protected override void OnInit()
  69. {
  70. base.OnInit();
  71. packageName = UI_MainUI.PACKAGE_NAME;
  72. _ui = UI_MainUI.Create();
  73. viewCom = _ui.target;
  74. isfullScreen = true;
  75. isReturnView = true;
  76. _valueBarController = new ValueBarController(_ui.m_valueBar);
  77. _btnYouJian = _ui.m_btnYouJian;
  78. _btnGongGao = _ui.m_btnGongGao;
  79. _btnHaoYou = _ui.m_list.GetChild("btnHaoYou").asButton;
  80. _btnRenWu = _ui.m_list.GetChild("btnRenWu").asButton;
  81. _btnLeague = _ui.m_list.GetChild("btnLeague").asButton;
  82. _btnStore = _ui.m_list.GetChild("btnStore").asButton;
  83. _btnTuJian = _ui.m_list.GetChild("btnTuJian").asButton;
  84. _btnBag = _ui.m_list.GetChild("btnBag").asButton;
  85. _btnGallery = _ui.m_list.GetChild("btnGallery").asButton;
  86. _btnActivityDay7 = _ui.m_btnActivityDay7.target;
  87. _btns = new UI_ButtonModle1[] { _ui.m_btnHuanZhuang, _ui.m_btnZhaiXing, _ui.m_btnXiuFang, _ui.m_btnCiPai };
  88. _ui.m_btnMain.target.onClick.Add(OnClickBtnMain);
  89. _ui.m_btnHuanZhuang.target.onClick.Add(OnClickBtnHuanZhuang);
  90. _ui.m_btnZhaiXing.target.onClick.Add(OnClickBtnZhaiXing);
  91. _ui.m_btnXiuFang.target.onClick.Add(OnClickBtnXiuFang);
  92. _ui.m_btnCiPai.target.onClick.Add(OnClickBtnCiPai);
  93. _ui.m_headBar.target.onClick.Add(OnClickHeadBar);
  94. _ui.m_guideBtn.onClick.Add(OnClickHeadBar);
  95. _ui.m_btnDailyWelfare.target.onClick.Add(OnClickBtnDailyWelfare);
  96. _ui.m_btnNewYearRedEnvelope.target.onClick.Add(OnClickBtnNewYearRedEnvelope);
  97. _ui.m_btnActivityLuckyBox.target.onClick.Add(OnClickBtnActivityLuckyBox);
  98. _ui.m_btnOpenServerActivity.target.onClick.Add(OnClickBtnOpenServerActivity);
  99. _ui.m_btnWanShiLi.target.onClick.Add(OnClickBtnWanShiLi);
  100. _ui.m_btnTea.target.onClick.Add(OnClickBtnTea);
  101. _ui.m_btnActivityZCJB.target.onClick.Add(OnClickBtnZCJB);
  102. _ui.m_btnGetYuanXiao.target.onClick.Add(OnClickBtnGetYuanXiao);
  103. _ui.m_btnActivityFYJY.target.visible = false;
  104. _ui.m_btnActivityFYJY.target.onClick.Add(OnClickBtnFYJY);
  105. _btnLeague.onClick.Add(OnClickBtnLeague);
  106. _btnStore.onClick.Add(OnClickBtnStore);
  107. _btnTuJian.onClick.Add(OnClickBtnTuJian);
  108. _btnYouJian.onClick.Add(OnClickBtnYouJian);
  109. _btnHaoYou.onClick.Add(OnClickBtnHaoYou);
  110. _btnGongGao.onClick.Add(OnClickBtnGongGao);
  111. _btnRenWu.onClick.Add(OnClickBtnRenWu);
  112. _ui.m_btnActivityAfuGift.target.onClick.Add(OnClickBtnAfuGift);
  113. _btnActivityDay7.onClick.Add(OnClickBtnDay7);
  114. _ui.m_btnFirstRecharge.target.onClick.Add(OnClickBtnFirstRecharge);
  115. _btnBag.onClick.Add(OnClickBtnBag);
  116. _ui.m_btnGiftBag1.target.onClick.Add(OnClickBtnGiftBag2);
  117. _ui.m_btnGiftBag2.target.onClick.Add(OnClickBtnGiftBag1);
  118. _ui.m_btnHaiZhiShi.target.onClick.Add(OnClickBtnInstanceZones);
  119. _ui.m_touchMask.onClick.Add(ShowMainUI);
  120. _ui.m_btnShow.target.onClick.Add(HideMainUI);
  121. _ui.m_btnNewPlayerReward.target.onClick.Add(OnClickNewPlayerReward);
  122. _ui.m_btnSevenReward.target.onClick.Add(OnClickSevenReward);
  123. _ui.m_btnPearRebate.target.onClick.Add(OnClickPearRabate);
  124. _btnGallery.onClick.Add(OnClickGallery);
  125. _ui.m_comListAd.m_listAd.itemRenderer = RenderListAdItem;
  126. _ui.m_comListAd.m_listAd.SetVirtualAndLoop();
  127. _ui.m_comListAd.m_listAd.scrollPane.onScrollEnd.Add(OnListAdScrollEnd);
  128. _ui.m_comListAd.m_listAd.scrollPane.decelerationRate = 0.8f;
  129. _ui.m_list.ResizeToFit();
  130. _ui.m_btnChange.target.onClick.Add(OnBtnChangClick);
  131. _ui.m_btnChange.m_c1.selectedIndex = 1;
  132. _ui.m_btnChange.target.selected = true;
  133. _ui.m_storageBtn.target.onClick.Add(OnBtnStorageClick);
  134. firstIn = true;
  135. //这个是东8时区的0时间戳
  136. unixStartTime = new DateTime(1970, 1, 1, 8, 0, 0);
  137. }
  138. protected override void AddEventListener()
  139. {
  140. base.AddEventListener();
  141. EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, OnNumericChange);
  142. EventAgent.AddEventListener(ConstMessage.STORY_LEVEL_CHANGE, CheckFunOpen);
  143. EventAgent.AddEventListener(ConstMessage.RED_CHANGE, OnRedDotChanged);
  144. EventAgent.AddEventListener(ConstMessage.CHANGE_ROLE_HEAD, UpdateHead);
  145. EventAgent.AddEventListener(ConstMessage.RESET_DAILY_DATA, ResetDailyData);
  146. EventAgent.AddEventListener(ConstMessage.AFU_GIFT_CHANGED, ChangeAfuActivityState);
  147. EventAgent.AddEventListener(ConstMessage.VIEW_CLOSED, CheckAutoShowViews);
  148. EventAgent.AddEventListener(ConstMessage.AFTER_DATA_INITED, OnAfterDataInited);
  149. EventAgent.AddEventListener(ConstMessage.NEW_YEAR_RED_ENVELOPE_INFO, RefreshBtnNewYearRedEnvelope);
  150. EventAgent.AddEventListener(ConstMessage.ACTIVITY_RED_CHANGE, UpdateActivityRedDot);
  151. EventAgent.AddEventListener(ConstMessage.STORY_LEVEL_CHANGE, UpdateNewPlayerReward);
  152. }
  153. protected override void RemoveEventListener()
  154. {
  155. base.RemoveEventListener();
  156. EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, OnNumericChange);
  157. EventAgent.RemoveEventListener(ConstMessage.STORY_LEVEL_CHANGE, CheckFunOpen);
  158. EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, OnRedDotChanged);
  159. EventAgent.RemoveEventListener(ConstMessage.CHANGE_ROLE_HEAD, UpdateHead);
  160. EventAgent.RemoveEventListener(ConstMessage.AFU_GIFT_CHANGED, ChangeAfuActivityState);
  161. EventAgent.RemoveEventListener(ConstMessage.VIEW_CLOSED, CheckAutoShowViews);
  162. EventAgent.RemoveEventListener(ConstMessage.AFTER_DATA_INITED, OnAfterDataInited);
  163. EventAgent.RemoveEventListener(ConstMessage.NEW_YEAR_RED_ENVELOPE_INFO, RefreshBtnNewYearRedEnvelope);
  164. EventAgent.RemoveEventListener(ConstMessage.ACTIVITY_RED_CHANGE, UpdateActivityRedDot);
  165. EventAgent.RemoveEventListener(ConstMessage.RESET_DAILY_DATA, ResetDailyData);
  166. EventAgent.RemoveEventListener(ConstMessage.STORY_LEVEL_CHANGE, UpdateNewPlayerReward);
  167. }
  168. protected override void OnShown()
  169. {
  170. base.OnShown();
  171. MainDataManager.Instance.CanSwipe = false;
  172. //防止引导检测之前触发点击事件
  173. GRoot.inst.touchable = false;
  174. _ui.m_loaGuidestudio.visible = true;
  175. _ui.m_headBar.m_txtName.text = RoleDataManager.roleName;
  176. if (_sceneObject == null)
  177. {
  178. _sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("SceneMain"));
  179. }
  180. _ui.m_btnNewYearRedEnvelope.target.visible = false;
  181. _ui.m_btnNewPlayerReward.target.visible = false;
  182. SceneController.UpdateMainScene(_sceneObject);
  183. UpdateRoleLvl();
  184. UpdateHead();
  185. _valueBarController.OnShown();
  186. CheckFunOpen();
  187. UpdateBtnFirstRecharge();
  188. Timers.inst.Remove(Update);
  189. Timers.inst.Remove(CheckGuide);
  190. Timers.inst.AddUpdate(CheckGuide);
  191. Timers.inst.AddUpdate(Update);
  192. Update(null);
  193. //让主界面先显示出来,其他逐步处理
  194. Timers.inst.Remove(OnShowLater);
  195. Timers.inst.Add(0.1f, 1, OnShowLater);
  196. // 先隐藏茶会提示
  197. _ui.m_grpLeagueTips.visible = false;
  198. // 刚进游戏不播放主界面入场动画
  199. if (firstIn)
  200. {
  201. firstIn = false;
  202. MainUIAnimFinished();
  203. AddEffect();
  204. }
  205. else
  206. {
  207. _ui.m_openViewAction.Play(MainUIAnimFinished);
  208. }
  209. //StorageSProxy.ReqSetClientValue(1012, 4).Coroutine();
  210. // 临时设置内网显示时间
  211. _ui.m_serverTime.visible = false;
  212. Timers.inst.AddUpdate(ServerTimeUpdate);
  213. }
  214. protected override void OnHide()
  215. {
  216. base.OnHide();
  217. GRoot.inst.touchable = true;
  218. if (_sceneObject != null)
  219. {
  220. PrefabManager.Instance.Restore(_sceneObject);
  221. _sceneObject = null;
  222. }
  223. _valueBarController.OnHide();
  224. Timers.inst.Remove(Update);
  225. Timers.inst.Remove(CheckGuide);
  226. Timers.inst.Remove(UpdateAdListTime);
  227. Timers.inst.Remove(OnShowLater);
  228. Timers.inst.Remove(ServerTimeUpdate);
  229. }
  230. private void OnShowLater(object param)
  231. {
  232. CheckProbabilityUp();
  233. if(!GameGlobal.AfterDataInited)
  234. {
  235. GameController.AfterShowMainUI();
  236. }
  237. else
  238. {
  239. OnAfterDataInited();
  240. }
  241. }
  242. private void OnAfterDataInited()
  243. {
  244. GetAdIds();
  245. UpdateButtons();
  246. OnRedDotChanged();
  247. CheckAutoShowViews();
  248. }
  249. private async void UpdateButtons()
  250. {
  251. // 刚进游戏请求数据
  252. if (MainDataManager.Instance.needUpdateProxyData)
  253. {
  254. MainDataManager.Instance.needUpdateProxyData = false;
  255. var result = await NewYearRedEnvelopeSProxy.ReqGetRedPacketInfo();
  256. if (result)
  257. {
  258. RefreshBtnNewYearRedEnvelope();
  259. }
  260. result = await ActivityGetYuanXiaoProxy.ReqGetActivityGameInfos();
  261. if (result)
  262. {
  263. RefreshBtnYuanXiaoActivity();
  264. }
  265. result = await ActivityFYJYProxy.ReqGetActivityGameInfos();
  266. if (result)
  267. {
  268. RefreshBtnActivityFYJY();
  269. if (_ui.m_btnActivityFYJY.target.visible)
  270. {
  271. RedDotController.Instance.SetComRedDot(_ui.m_btnActivityFYJY.target
  272. , RedDotDataManager.Instance.GetActivityFYJYRed(), "", -15, -1);
  273. }
  274. }
  275. }
  276. // 后续活动按钮的刷新检测
  277. else
  278. {
  279. RefreshBtnNewYearRedEnvelope();
  280. RefreshBtnYuanXiaoActivity();
  281. RefreshBtnActivityFYJY();
  282. }
  283. }
  284. private void RefreshBtnNewYearRedEnvelope()
  285. {
  286. int actRedPacketId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket);
  287. _ui.m_btnNewYearRedEnvelope.target.visible = (actRedPacketId > 0 && NewYearRedEnvelopeDataManager.Status > 0 && NewYearRedEnvelopeDataManager.Status != RedPacketStatus.Double);
  288. }
  289. private void RefreshBtnYuanXiaoActivity()
  290. {
  291. _ui.m_btnGetYuanXiao.target.visible = ActivityGetYuanXiaoDataManager.Instance.CheckOpen();
  292. }
  293. private void RefreshBtnActivityFYJY()
  294. {
  295. _ui.m_btnActivityFYJY.target.visible
  296. = (ActivityGlobalDataManager.Instance.IsActivityOpen(5016));
  297. }
  298. private void AddEffect()
  299. {
  300. _effectUIList.Add(EffectUIPool.CreateEffectUI(_ui.m_btnMain.m_holder, "ui_zjm", "ZJM_szl_down_3"));
  301. _effectUIList.Add(EffectUIPool.CreateEffectUI(_ui.m_btnMain.m_holder1, "ui_zjm", "ZJM_szl_top_1"));
  302. _effectUIList.Add(EffectUIPool.CreateEffectUI(_ui.m_btnHaiZhiShi.m_holder, "ui_zjm", "ZJM_hzs_down_3"));
  303. _effectUIList.Add(EffectUIPool.CreateEffectUI(_ui.m_btnHaiZhiShi.m_holder1, "ui_zjm", "ZJM_hzs_top_1"));
  304. _effectUIList.Add(EffectUIPool.CreateEffectUI(_ui.m_BottomEffectHolder, "ui_zjm", "ZJM_DiBan"));
  305. _effectUIList.Add(EffectUIPool.CreateEffectUI(_ui.m_btnZhaiXing.m_holder1, "ui_zjm", "ZJM_ZX"));
  306. }
  307. private void OnClickBtnInstanceZones()
  308. {
  309. TryCompleteGuide();
  310. ViewManager.Show<InstanceZonesView>();
  311. }
  312. private void OnBtnChangClick()
  313. {
  314. int count = 0;
  315. for (int i = 0; i < _ui.m_list.numItems; i++)
  316. {
  317. if (_ui.m_list.GetChildAt(i).visible == true) count++;
  318. }
  319. int oneItemHeight = 97 + _ui.m_list.lineGap;
  320. float height = count * oneItemHeight;
  321. if (_ui.m_btnChange.target.selected == true)
  322. {
  323. _ui.m_btnChange.m_c1.selectedIndex = 1;
  324. GTween.To(_ui.m_list.height, height, 0.4f).SetTarget(_ui.m_list)
  325. .OnUpdate((GTweener t) => { _ui.m_list.height = t.value.x; }).SetEase(EaseType.QuintInOut);
  326. }
  327. else
  328. {
  329. _ui.m_btnChange.m_c1.selectedIndex = 0;
  330. GTween.To(_ui.m_list.height, oneItemHeight, 0.4f).SetTarget(_ui.m_list)
  331. .OnUpdate((GTweener t) => { _ui.m_list.height = t.value.x; }).SetEase(EaseType.QuintInOut);
  332. }
  333. }
  334. private void OnBtnStorageClick()
  335. {
  336. if(MainDataManager.Instance.StorageStatus == 0)
  337. {
  338. MainDataManager.Instance.StorageStatus = 1;
  339. _ui.m_listGroud.visible = false;
  340. }
  341. else
  342. {
  343. MainDataManager.Instance.StorageStatus = 0;
  344. _ui.m_listGroud.visible = true;
  345. }
  346. _ui.m_storageBtn.m_c1.selectedIndex = MainDataManager.Instance.StorageStatus;
  347. }
  348. private void OnClickBtnMain()
  349. {
  350. MainStoryDataManager.currentChapterType = 0;
  351. isOpen = MainControllerr.GotoStoryChapter(isOpen);
  352. }
  353. private void OnClickBtnHuanZhuang()
  354. {
  355. if (isOpen) return;
  356. isOpen = true;
  357. _ui.m_btnHuanZhuang.m_holder1.visible = true;
  358. _ui.m_btnHuanZhuang.m_holder1.visible = false;
  359. ViewManager.Show<DressUpView>();
  360. isOpen = false;
  361. }
  362. private void OnClickBtnZhaiXing()
  363. {
  364. LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.ZAI_XING, 1);
  365. if (isOpen) return;
  366. isOpen = true;
  367. _ui.m_btnZhaiXing.m_holder1.visible = false;
  368. ViewManager.Show<LuckyBoxView>(null, false);
  369. isOpen = false;
  370. }
  371. private void OnClickBtnXiuFang()
  372. {
  373. if (isOpen) return;
  374. isOpen = true;
  375. _ui.m_btnXiuFang.m_holder1.visible = true;
  376. _ui.m_btnXiuFang.m_holder1.visible = false;
  377. ViewManager.Show<XiuFangView>();
  378. isOpen = false;
  379. }
  380. private void OnClickBtnDailyLogin()
  381. {
  382. LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.MEI_RI_DNEG_LU, 1);
  383. ViewManager.Show<SevenDayLoginView>();
  384. }
  385. private void OnClickBtnDailyWelfare()
  386. {
  387. ViewManager.Show<DailyWelfareView>();
  388. }
  389. private void OnClickBtnNewYearRedEnvelope()
  390. {
  391. ViewManager.Show<NewYearRedEnvelopeView>();
  392. }
  393. private void OnClickBtnActivityLuckyBox()
  394. {
  395. ViewManager.Show<ActivityThemeLuckyBoxView>(null, true);
  396. }
  397. private void OnClickBtnOpenServerActivity()
  398. {
  399. var titleIndex = PlayerPrefs.GetString("seeOpenServerActivityStory" + GameGlobal.userId);
  400. if (titleIndex == null || titleIndex == "")
  401. {
  402. ViewManager.Show<StoryDialogView>(new object[] { "10151", false, new OnCompleteStoryDialogCall(OnCompletePriorStoryDialog), null, false }, true);
  403. }
  404. else
  405. ViewManager.Show<OpenServerActivityView>();
  406. }
  407. private static void OnCompletePriorStoryDialog(bool done, object param)
  408. {
  409. if (done) {
  410. PlayerPrefs.SetString("seeOpenServerActivityStory" + GameGlobal.userId, "1");
  411. ViewManager.DeleteViewStackCountDown(null, 1);
  412. ViewManager.Show<OpenServerActivityView>();
  413. }
  414. }
  415. private void OnClickBtnWanShiLi()
  416. {
  417. ViewManager.Show<ActivityWanShiLiView>();
  418. }
  419. private void OnClickBtnTea()
  420. {
  421. ViewManager.Show<ActivityTeaMainView>();
  422. }
  423. private void OnClickBtnZCJB()
  424. {
  425. ViewManager.Show<ActivityZCJBView>();
  426. }
  427. private void OnClickBtnCiPai()
  428. {
  429. LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.CI_PAI, 1);
  430. if (isOpen) return;
  431. isOpen = true;
  432. _ui.m_btnCiPai.m_holder1.visible = true;
  433. _ui.m_btnCiPai.m_holder1.visible = false;
  434. CardDataManager.isFilter = false;
  435. ViewManager.Show<CardDetailView>();
  436. isOpen = false;
  437. }
  438. private void OnClickBtnBag()
  439. {
  440. ViewManager.Show<BagView>();
  441. }
  442. private void OnClickGallery()
  443. {
  444. ViewManager.Show<PoemGalleryView>();
  445. }
  446. private void OnClickBtnLeague()
  447. {
  448. // LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.SHANG_CHENG, 1);
  449. if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(LeagueView).Name)) return;
  450. // if (LeagueDataManager.Instance.Type == 0)
  451. // {
  452. // PromptController.Instance.ShowFloatTextPrompt("数据来的有点慢,稍后再试下吧");
  453. // return;
  454. // }
  455. if (LeagueDataManager.Instance.Type == LeagueJoinType.Join) //已加入联盟
  456. {
  457. ViewManager.Show<LeagueView>();
  458. }
  459. else //未加入联盟
  460. {
  461. ViewManager.Show<LeagueJoinView>();
  462. }
  463. }
  464. private void OnClickBtnStore()
  465. {
  466. LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.SHANG_CHENG, 1);
  467. GuideSimulationDataManager.Instance.GuideMonthlyJumpType = 1;
  468. ViewManager.Show<StoreView>();
  469. }
  470. private void OnClickBtnTuJian()
  471. {
  472. LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.TU_JIAN, 1);
  473. ViewManager.Show<FieldGuideView>();
  474. }
  475. private void OnClickPearRabate()
  476. {
  477. ViewManager.Show<PearRebateTipsView>();
  478. }
  479. private void OnClickBtnYouJian()
  480. {
  481. ViewManager.Show<MailView>();
  482. }
  483. private void OnClickBtnHaoYou()
  484. {
  485. ViewManager.Show<FriendView>();
  486. }
  487. private void OnClickBtnGongGao()
  488. {
  489. ViewManager.Show<NoticeView>();
  490. }
  491. private void OnClickBtnRenWu()
  492. {
  493. ViewManager.Show<TaskView>();
  494. }
  495. private void OnClickBtnAfuGift()
  496. {
  497. if (!ActivityAfuGiftDataManager.Instance.IsOpen)
  498. {
  499. return;
  500. }
  501. ViewManager.Show<ActivityAfuGiftView>();
  502. }
  503. private void OnClickBtnDay7()
  504. {
  505. ViewManager.Show<ActivityDay7View>();
  506. }
  507. private void OnClickBtnFirstRecharge()
  508. {
  509. ViewManager.Show<FirstChargeBonusView>();
  510. }
  511. private void OnClickHeadBar()
  512. {
  513. ViewManager.Show<RoleInfoView>();
  514. }
  515. private void OnClickNewPlayerReward()
  516. {
  517. ViewManager.Show<NewPlayersTipsView>();
  518. }
  519. private void OnClickSevenReward()
  520. {
  521. ViewManager.Show<SevenDayLoginView>();
  522. }
  523. //列表
  524. private void OnClickBtnGiftBag1()
  525. {
  526. var activityInfoByTypeList =
  527. ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
  528. var list = activityInfoByTypeList
  529. .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
  530. if (list.Count == 0)
  531. {
  532. PromptController.Instance.ShowFloatTextPrompt("活动已结束");
  533. }
  534. else
  535. {
  536. ViewManager.Show<SpecialOfferGiftBoxView>();
  537. }
  538. }
  539. //圆形
  540. private void OnClickBtnGiftBag2()
  541. {
  542. //var activityInfoByTypeList =
  543. // ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB2);
  544. //var list = activityInfoByTypeList
  545. // .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
  546. //if (list.Count == 0)
  547. //{
  548. // PromptController.Instance.ShowFloatTextPrompt("活动已结束");
  549. //}
  550. //else
  551. //{
  552. // ViewManager.Show<RushSaleGiftBoxView>(new object[] { ActivityType.XSLB2, this.viewData });
  553. //}
  554. ViewManager.Show<ZGTHgiftTipsView>();
  555. }
  556. //列表样式
  557. private void UpGiftBox1()
  558. {
  559. _ui.m_btnGiftBag2.target.visible = LimitedTimeGiftBoxDataManager.Instance.SpecialOfferGiftBoxCanBuy();
  560. if (_ui.m_btnGiftBag2.target.visible) {
  561. var activityInfoByTypeList =
  562. ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
  563. var list = activityInfoByTypeList
  564. .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
  565. _ui.m_btnGiftBag2.m_txtTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].EndTime);
  566. }
  567. }
  568. //圆形样式
  569. private void UpGiftBox2()
  570. {
  571. var activityInfoByTypeList =
  572. ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB2);
  573. var list = activityInfoByTypeList
  574. .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
  575. if (list.Count == 0)
  576. {
  577. _ui.m_btnGiftBag1.target.visible = false;
  578. }
  579. else
  580. {
  581. bool isSoldOut = true;
  582. foreach (var activityInfo in list)
  583. {
  584. ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
  585. var paramsArr = activityOpenCfg.paramsArr;
  586. foreach (var shopCfgId in paramsArr)
  587. {
  588. var shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
  589. var remainBuyNum = shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfgId);
  590. //只要有一个商品还能购买,就不是售罄
  591. if (remainBuyNum > 0)
  592. {
  593. isSoldOut = false;
  594. break;
  595. }
  596. }
  597. }
  598. if (isSoldOut)
  599. {
  600. _ui.m_btnGiftBag1.target.visible = false;
  601. }
  602. else
  603. {
  604. _ui.m_btnGiftBag1.m_txtTime.text =
  605. TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].EndTime);
  606. _ui.m_btnGiftBag1.target.visible = true;
  607. }
  608. }
  609. }
  610. private void Update(object param)
  611. {
  612. UpdateActLuckyBox();
  613. UpdateOpenServerActivity();
  614. UpdateLimitedActvityState();
  615. //UpdateTime();
  616. //特惠礼包/限时礼包窗口内的倒计时
  617. UpGiftBox1();
  618. //UpGiftBox2();
  619. EventAgent.DispatchEvent(ConstMessage.LUCKY_BOX_TIME);
  620. UpdateRedDot();
  621. }
  622. private void UpdateActLuckyBox()
  623. {
  624. int actLuckyBoxId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitLuckyBox);
  625. _ui.m_btnActivityLuckyBox.target.visible = actLuckyBoxId > 0;
  626. if (actLuckyBoxId > 0)
  627. {
  628. if (actLuckyBoxId != ActivityDataManager.Instance.lastActLuckyBoxId)
  629. {
  630. ActivitySProxy.ReqGetTimeLimitLuckyBoxInfo(actLuckyBoxId).Coroutine();
  631. ActivityDataManager.Instance.lastActLuckyBoxId = actLuckyBoxId;
  632. }
  633. ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(actLuckyBoxId);
  634. _ui.m_btnActivityLuckyBox.target.title = activityOpenCfg.themeName;
  635. _ui.m_btnActivityLuckyBox.target.icon = "ui://Main/zjm_icon_" + activityOpenCfg.res.Split('_')[1];
  636. //long time = TimeUtil.DateTimeToTimestamp(activityOpenCfg.endTime) - TimeHelper.ServerNow();
  637. //_ui.m_btnActivityLuckyBox.m_txtTime.text = time > TimeUtil.SECOND_PER_DAY * 1000 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
  638. }
  639. }
  640. private void UpdateOpenServerActivity()
  641. {
  642. int actLimitId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitStlyc);
  643. if (actLimitId > 0) {
  644. ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(actLimitId);
  645. long time = TimeUtil.DateTimeToTimestamp(activityOpenCfg.endTime) - TimeHelper.ServerNow();
  646. _ui.m_btnOpenServerActivity.m_txtTime.text = TimeUtil.FormattingTimeTo_DDHHmm(time);
  647. }
  648. }
  649. private void UpdateLimitedActvityState()
  650. {
  651. _ui.m_btnNewPlayerReward.target.visible = false;
  652. int actLimitTsyId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
  653. if (actLimitTsyId > 0)
  654. {
  655. if (actLimitTsyId != ActivityDataManager.Instance.lastActLimitTsyId)
  656. {
  657. ActivitySProxy.ReqGetTimeLimitLuckyBoxInfo(actLimitTsyId).Coroutine();
  658. ActivityDataManager.Instance.lastActLimitTsyId = actLimitTsyId;
  659. }
  660. }
  661. int actLimitStlycId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitStlyc);
  662. if (actLimitStlycId > 0)
  663. {
  664. if (actLimitStlycId != ActivityDataManager.Instance.lastActLimitStlycId)
  665. {
  666. ActivitySProxy.ReqGetTimeLimitLuckyBoxInfo(actLimitStlycId).Coroutine();
  667. ActivityDataManager.Instance.lastActLimitStlycId = actLimitStlycId;
  668. }
  669. }
  670. List<int> actListChargeIds = ActivityGlobalDataManager.Instance.GetActivityInfoIdsByType(ConstLimitTimeActivityType.ActLimitChargeId);
  671. int actLimitChargeId = actListChargeIds.Count > 0 ? actListChargeIds[0] : 0;
  672. if (ActivityDataManager.Instance.lastActLimitChargeId != actLimitChargeId)
  673. {
  674. ActivityDataManager.Instance.actLimitChargeId = actLimitChargeId;
  675. //_ui.m_btnDailyWelfare.target.visible = actLimitChargeId > 0 ||
  676. //FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(DailyWelfareView).Name, false) && (
  677. //FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(DailySignView).Name, false) ||
  678. //FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(DailySupplyView).Name, false) ||
  679. //!(!FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(SevenDayLoginView).Name, false) ||
  680. //ActivityDataManager.Instance.AllSevenDayBonusGot()));
  681. _ui.m_btnDailyWelfare.target.visible = false;
  682. }
  683. int activeNewYearRedPacketId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket);
  684. _ui.m_btnNewYearRedEnvelope.target.visible = (activeNewYearRedPacketId > 0 && NewYearRedEnvelopeDataManager.Status >=0 && NewYearRedEnvelopeDataManager.Status != RedPacketStatus.Double);
  685. _ui.m_btnActivityDay7.target.visible = ActivityDay7DataManager.Instance.CheckOpen();
  686. _ui.m_btnWanShiLi.target.visible = ActivityWanShiLiDataManager.Instance.CheckOpen();
  687. _ui.m_btnTea.target.visible = ActivityDataManager.Instance.GetCurOpenActiveByType(12) == 0 ? false : true;
  688. _ui.m_btnActivityZCJB.target.visible = ActivityDataManager.Instance.isExtendTime(2) || ((ActivityDataManager.Instance.GetCurOpenActiveByType(17) == 0) ? false: true);
  689. _ui.m_btnNewPlayerReward.target.visible = (!ActivityDataManager.Instance.IsGetNewPlayerReward&& GameGlobal.AutoNewPlayersTips);
  690. _ui.m_btnSevenReward.target.visible = !ActivityDataManager.Instance.AllSevenDayBonusGot();
  691. _ui.m_btnPearRebate.target.visible = ActivityDataManager.Instance.CheckPearRebateTips(6000);
  692. _ui.m_btnGiftBag1.target.visible = ActivityDataManager.Instance.CheckPearRebateTips(6002);
  693. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(6002);
  694. long endTime = 0;
  695. if (activityInfo != null)
  696. {
  697. endTime = activityInfo.EndTime;
  698. }
  699. var leftTime = endTime - TimeHelper.ServerNow();
  700. _ui.m_btnGiftBag1.m_txtTime.text = TimeUtil.FormattingTimeTo_DDHHmm((int)leftTime);
  701. UpdateSevenIcon();
  702. if (!ActivityDataManager.Instance.IsGetNewPlayerReward)
  703. {
  704. RedDotController.Instance.SetComRedDot(_ui.m_btnNewPlayerReward.target, true, "", -8);
  705. }
  706. }
  707. private void UpdateSevenIcon()
  708. {
  709. if(ActivityDataManager.Instance.CanGetSevenDayBonus())
  710. {
  711. //显示今日可领取
  712. int id = DailyLoginCfgArray.Instance.dataArray[ActivityDataManager.Instance.NowSevenDayBonusDay(true)].rewardsArr[0][0];
  713. if (DailyLoginCfgArray.Instance.dataArray[ActivityDataManager.Instance.NowSevenDayBonusDay(true)]
  714. .type == 2)
  715. {
  716. _ui.m_btnSevenReward.m_Icon.url = ResPathUtil.GetIconPath("tz_kongquednf","png");
  717. }
  718. else
  719. {
  720. _ui.m_btnSevenReward.m_Icon.url = ResPathUtil.GetIconPath(ItemCfgArray.Instance.GetCfg(id).res,"png");
  721. }
  722. _ui.m_btnSevenReward.m_textIcon.url = "ui://Main/zjm_hdjrkl";
  723. RedDotController.Instance.SetComRedDot(_ui.m_btnSevenReward.target, true, "", -8);
  724. }
  725. else if(ActivityDataManager.Instance.HaveGetSevenDayBonus() && ActivityDataManager.Instance.NowSevenDayBonusDay(false)<6)
  726. {
  727. //显示明日可领取
  728. int id = DailyLoginCfgArray.Instance.dataArray[ActivityDataManager.Instance.NowSevenDayBonusDay(false)+1].rewardsArr[0][0];
  729. if (DailyLoginCfgArray.Instance.dataArray[ActivityDataManager.Instance.NowSevenDayBonusDay(false)+1]
  730. .type == 2)
  731. {
  732. _ui.m_btnSevenReward.m_Icon.url = ResPathUtil.GetIconPath("tz_kongquednf","png");
  733. }
  734. else
  735. {
  736. _ui.m_btnSevenReward.m_Icon.url = ResPathUtil.GetIconPath(ItemCfgArray.Instance.GetCfg(id).res,"png");
  737. }
  738. _ui.m_btnSevenReward.m_textIcon.url = "ui://Main/zjm_hdmrkl";
  739. RedDotController.Instance.SetComRedDot(_ui.m_btnSevenReward.target, false, "", -8);
  740. }
  741. }
  742. private void UpdateTime()
  743. {
  744. //if (_ui.m_btnTea.target.visible)
  745. //{
  746. // long time = ActivityTeaDataManager.Instance.GetEndTime(ActivityType.TEA) - TimeHelper.ServerNow();
  747. // _ui.m_btnTea.m_txtTime.text = time > TimeUtil.SECOND_PER_DAY * 1000 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
  748. //}
  749. //if (_ui.m_btnActivityDay7.target.visible)
  750. //{
  751. // long time = ActivityDay7DataManager.Instance.GetEndTime() - TimeHelper.ServerNow();
  752. // _ui.m_btnActivityDay7.m_txtTime.text = time > TimeUtil.SECOND_PER_DAY * 1000 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
  753. //}
  754. //if (_ui.m_btnWanShiLi.target.visible)
  755. //{
  756. // long time = ActivityWanShiLiDataManager.Instance.GetEndTime() - TimeHelper.ServerNow();
  757. // _ui.m_btnWanShiLi.m_txtTime.text = time > TimeUtil.SECOND_PER_DAY * 1000 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
  758. //}
  759. //if (_ui.m_btnActivityAfuGift.target.visible)
  760. //{
  761. // var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.AFZL);
  762. // if (activityInfo == null)
  763. // {
  764. // _ui.m_btnActivityAfuGift.target.visible = false;
  765. // }
  766. // else
  767. // {
  768. // long time = activityInfo.EndTime - TimeHelper.ServerNow();
  769. // _ui.m_btnActivityAfuGift.m_txtTime.text = time > TimeUtil.SECOND_PER_DAY * 1000 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
  770. // }
  771. //}
  772. }
  773. private void OnNumericChange(EventContext context)
  774. {
  775. var numericType = (int)context.data;
  776. if (numericType == NumericType.Lvl)
  777. {
  778. UpdateRoleLvl();
  779. CheckFunOpen();
  780. }
  781. if (numericType == NumericType.FirstRechargeBonusStatus || numericType == NumericType.FirstRechargeTotal)
  782. {
  783. UpdateBtnFirstRecharge();
  784. }
  785. }
  786. private void UpdateBtnFirstRecharge()
  787. {
  788. _ui.m_btnFirstRecharge.target.visible = ActivityDataManager.Instance.firstChargeBonusStatus != ConstBonusStatus.GOT;
  789. if (_ui.m_btnFirstRecharge.target.visible)
  790. {
  791. bool canget = ActivityDataManager.Instance.firstChargeBonusStatus == ConstBonusStatus.CAN_GET;
  792. RedDotController.Instance.SetComRedDot(_ui.m_btnFirstRecharge.target, canget, "", -50, 3);
  793. }
  794. }
  795. private void UpdateRoleLvl()
  796. {
  797. _ui.m_headBar.m_txtLvl.text = "" + GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
  798. }
  799. private void UpdateHead()
  800. {
  801. RoleInfoManager.Instance.UpdateHead(_ui.m_headBar.m_comHead, RoleDataManager.headId,
  802. RoleDataManager.headBorderId);
  803. }
  804. /// <summary>
  805. /// 获取当前开启的滚动广告列表
  806. /// </summary>
  807. private void GetAdIds()
  808. {
  809. _adIds.Clear();
  810. for (int i = 0; i < AdCfgArray.Instance.dataArray.Length; i++)
  811. {
  812. AdCfg adCfg = AdCfgArray.Instance.dataArray[i];
  813. if (adCfg.res == "" || adCfg.res == null) continue;
  814. if (adCfg.activityId > 0)
  815. {
  816. if (ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.activityId) == null) continue;
  817. ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.activityId);
  818. if (TimeHelper.ServerNow() < activityInfo.StartTime || TimeHelper.ServerNow() > activityInfo.EndTime) continue;
  819. }
  820. if (!string.IsNullOrEmpty(adCfg.startTime) && !string.IsNullOrEmpty(adCfg.endTime))
  821. {
  822. long startTime = TimeUtil.DateTimeToTimestamp(adCfg.startTime);
  823. long endTime = TimeUtil.DateTimeToTimestamp(adCfg.endTime);
  824. if (TimeHelper.ServerNow() < startTime || TimeHelper.ServerNow() > endTime) continue;
  825. }
  826. _adIds.Add(adCfg);
  827. }
  828. _ui.m_comListAd.m_listAd.numItems = _adIds.Count;
  829. _ui.m_comListAd.m_listAdSelect.numItems = _adIds.Count;
  830. if (_ui.m_comListAd.m_listAd.numItems > 0)
  831. {
  832. _ui.m_comListAd.m_listAd.ScrollToView(0);
  833. _ui.m_comListAd.m_listAdSelect.selectedIndex = 0;
  834. }
  835. _ui.m_comListAd.target.visible = _ui.m_comListAd.m_listAd.numItems > 0;
  836. if (_ui.m_comListAd.target.visible)
  837. {
  838. Timers.inst.Remove(UpdateAdListTime);
  839. Timers.inst.Add(3, 0, UpdateAdListTime);
  840. }
  841. }
  842. private void UpdateAdListTime(object param)
  843. {
  844. int itemIndex = _ui.m_comListAd.m_listAd.ChildIndexToItemIndex(0) + 1;
  845. itemIndex = itemIndex == _ui.m_comListAd.m_listAd.numItems ? 0 : itemIndex;
  846. _ui.m_comListAd.m_listAdSelect.selectedIndex = itemIndex;
  847. _ui.m_comListAd.m_listAd.scrollPane.ScrollRight(0.8f, true);
  848. CheckProbabilityUp();
  849. }
  850. private void RenderListAdItem(int index, GObject obj)
  851. {
  852. UI_ListAdItem item = UI_ListAdItem.Proxy(obj);
  853. item.m_loaRes.url = ResPathUtil.GetActivityPath(_adIds[index].res,"png");
  854. if (item.m_loaRes.data == null)
  855. {
  856. item.m_loaRes.onClick.Add(OnBtnAdJump);
  857. }
  858. item.m_loaRes.data = _adIds[index];
  859. UI_ListAdItem.ProxyEnd();
  860. }
  861. private void OnBtnAdJump(EventContext context)
  862. {
  863. GObject obj = context.sender as GObject;
  864. AdCfg adCfg = obj.data as AdCfg;
  865. object[] param = null;
  866. int jumpIndex = 0;
  867. //if (adCfg.jumpId == nameof(LimitChargeView))
  868. //{
  869. // param = new object[] { adCfg.activityId };
  870. //}
  871. //if (adCfg.jumpId == nameof(NewLimitChargeView))
  872. //{
  873. // param = new object[] { adCfg.activityId };
  874. //}
  875. //if (adCfg.jumpId == nameof(LuckyBoxView))
  876. //{
  877. // jumpIndex = adCfg.jumpParamArr[0];
  878. //}
  879. //if (jumpIndex != 0)
  880. // ViewManager.Show($"GFGGame.{adCfg.jumpId}", jumpIndex);
  881. //else
  882. // ViewManager.Show($"GFGGame.{adCfg.jumpId}", param);
  883. ViewManager.Show<DailyWelfareView>();
  884. }
  885. private void OnListAdScrollEnd()
  886. {
  887. int itemIndex = _ui.m_comListAd.m_listAd.ChildIndexToItemIndex(0);
  888. _ui.m_comListAd.m_listAdSelect.selectedIndex = itemIndex;
  889. }
  890. private void CheckFunOpen()
  891. {
  892. _ui.m_btnGiftBag1.target.visible = false;
  893. _ui.m_btnGiftBag2.target.visible = false;
  894. _ui.m_btnNewPlayerReward.target.visible = false;
  895. _ui.m_btnHaiZhiShi.m_loaLockIcons.visible = false;
  896. _ui.m_btnXiuFang.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(XiuFangView).Name, false);
  897. _ui.m_btnHuanZhuang.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(DressUpView).Name, false);
  898. _ui.m_btnCiPai.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(CardDetailView).Name, false);
  899. _ui.m_btnZhaiXing.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(LuckyBoxView).Name, false);
  900. _ui.m_btnMain.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(StoryChapterListView).Name, false);
  901. _ui.m_btnActivityLuckyBox.target.visible = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitLuckyBox) > 0;
  902. _ui.m_btnOpenServerActivity.target.visible = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitStlyc) > 0;
  903. List<int> actListChargeIds = ActivityGlobalDataManager.Instance.GetActivityInfoIdsByType(ConstLimitTimeActivityType.ActLimitChargeId);
  904. int actLimitChargeId = actListChargeIds.Count > 0 ? actListChargeIds[0] : 0;
  905. //_ui.m_btnDailyWelfare.target.visible = actLimitChargeId > 0 ||
  906. //FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(DailyWelfareView).Name, false) && (
  907. //FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(DailySignView).Name, false) ||
  908. //FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(DailySupplyView).Name, false) ||
  909. //!(!FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(SevenDayLoginView).Name, false) ||
  910. //ActivityDataManager.Instance.AllSevenDayBonusGot()));
  911. _ui.m_btnDailyWelfare.target.visible = false;
  912. _ui.m_btnNewPlayerReward.target.visible = (!ActivityDataManager.Instance.IsGetNewPlayerReward&& GameGlobal.AutoNewPlayersTips);
  913. if(!ActivityDataManager.Instance.IsGetNewPlayerReward)
  914. {
  915. RedDotController.Instance.SetComRedDot(_ui.m_btnNewPlayerReward.target, true, "", -8);
  916. }
  917. _ui.m_btnSevenReward.target.visible = !ActivityDataManager.Instance.AllSevenDayBonusGot();
  918. UpdateSevenIcon();
  919. _btnGongGao.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(NoticeView).Name, false);
  920. _btnHaoYou.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(FriendView).Name, false);
  921. _btnYouJian.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(MailView).Name, false);
  922. _btnLeague.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(LeagueView).Name, false);
  923. _btnStore.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(StoreView).Name, false);
  924. _btnTuJian.visible =
  925. FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(FieldGuideView).Name, false);
  926. _btnActivityDay7.visible = ActivityDay7DataManager.Instance.CheckOpen();
  927. _ui.m_btnActivityAfuGift.target.visible = ActivityAfuGiftDataManager.Instance.CheckIconShow();
  928. _ui.m_list.ResizeToFit();
  929. }
  930. private void OnRedDotChanged()
  931. {
  932. //LogUtil.LogEditor($"MainUIView OnRedDotChanged GameGlobal.AfterDataInited {GameGlobal.AfterDataInited} AutoShowCompleted {GameGlobal.AutoShowCompleted}");
  933. //暂时用这种方法优化下,红点的实现要重构!!!
  934. //LogUtil.LogEditor("MainUIView UpdateRedDot OnRedDotChanged");
  935. redPointUpdateFrame = 0;
  936. }
  937. private void UpdateRedDot()
  938. {
  939. if (redPointUpdateFrame < 0) return;
  940. if (!GameGlobal.AfterDataInited) return;
  941. if (!ViewManager.CheckIsTopView(this.viewCom)) return;
  942. LogUtil.LogEditor($"MainUIView UpdateRedDot redPointUpdateFrame {redPointUpdateFrame}");
  943. if (redPointUpdateFrame == 0)
  944. _valueBarController.UpdateRedPoint();
  945. if (redPointUpdateFrame == 1)
  946. RedDotController.Instance.SetComRedDot(_btnGongGao, RedDotDataManager.Instance.GetNoticeRed(), "", -9, 12);
  947. if (redPointUpdateFrame == 2)
  948. RedDotController.Instance.SetComRedDot(_btnRenWu, RedDotDataManager.Instance.GetTaskRed(), "", -8);
  949. if (redPointUpdateFrame == 3)
  950. RedDotController.Instance.SetComRedDot(_btnYouJian, RedDotDataManager.Instance.GetMailRed(), "", -9, 12);
  951. if (redPointUpdateFrame == 4)
  952. RedDotController.Instance.SetComRedDot(_btnTuJian, RedDotDataManager.Instance.GetFieldGuideRed() || RedDotDataManager.Instance.GetTravelGuideRed(), "", -8);
  953. if (redPointUpdateFrame == 5)
  954. RedDotController.Instance.SetComRedDot(_btnHaoYou, RedDotDataManager.Instance.GetFriendRed(), "", -8);
  955. if (redPointUpdateFrame == 6)
  956. RedDotController.Instance.SetComRedDot(_btnStore, RedDotDataManager.Instance.GetShopRed(), "", -8);
  957. if (redPointUpdateFrame == 7)
  958. RedDotController.Instance.SetComRedDot(_ui.m_headBar.m_comHead, RedDotDataManager.Instance.GetHeadRed() || RedDotDataManager.Instance.GetHeadBorderRed(), "", -26, 42);
  959. if (redPointUpdateFrame == 8)
  960. RedDotController.Instance.SetComRedDot(_btnLeague, RedDotDataManager.Instance.GetLeagueRed(), "", -8);
  961. if (redPointUpdateFrame == 9)
  962. RedDotController.Instance.SetComRedDot(_ui.m_comListAd.target, RedDotDataManager.Instance.GetDailyWelfareRed(), "", 0, 5);
  963. if (redPointUpdateFrame == 10)
  964. RedDotController.Instance.SetComRedDot(_ui.m_btnActivityLuckyBox.target, RedDotDataManager.Instance.GetMeiRiTeHuiRed()
  965. || RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitLuckyBox)
  966. || RedDotDataManager.Instance.GetActLuckyBoxTaskdRed() || RedDotDataManager.Instance.GetActLuckyBoxStudioFilingRed() || RedDotDataManager.Instance.GetGiftBagRewardRed(), "", -21, 2);
  967. if (redPointUpdateFrame == 11)
  968. RedDotController.Instance.SetComRedDot(_btnBag, RedDotDataManager.Instance.GetMainBagGiftRed(), "", -8);
  969. if (redPointUpdateFrame == 12)
  970. RedDotController.Instance.SetComRedDot(_ui.m_btnActivityDay7.target, RedDotDataManager.Instance.GetActivityDay7Red(), "", -10, 17);
  971. RedDotController.Instance.SetComRedDot(_ui.m_btnWanShiLi.target, RedDotDataManager.Instance.GetActivityWanShiLiRed(), "", -24, -9);
  972. if (redPointUpdateFrame == 13)
  973. RedDotController.Instance.SetComRedDot(_ui.m_btnXiuFang.target, RedDotDataManager.Instance.GetClothingFosterRed() || RedDotDataManager.Instance.GetClothingSyntheticRed() || CollectPartDataManager.Instance.CheckAllOpenPartCanUP() , "icon_tanhao", -17, 24);
  974. if (redPointUpdateFrame == 14)
  975. {
  976. RedDotController.Instance.SetComRedDot(_ui.m_btnCiPai.target, RedDotDataManager.Instance.GetCardRed(), "icon_tanhao", -44, 33);
  977. }
  978. if (redPointUpdateFrame == 15)
  979. {
  980. int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
  981. Vector2 pos = new Vector2(-30, 20);
  982. if (activityId > 0)
  983. {
  984. pos = Vector2.zero;
  985. }
  986. RedDotController.Instance.SetComRedDot(_ui.m_btnZhaiXing.target,
  987. RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy) || RedDotDataManager.Instance.GetLuckyBoxFreeTimes(), "icon_tanhao",
  988. (int)pos.x, (int)pos.y);
  989. }
  990. //神都宸游
  991. if (redPointUpdateFrame == 16)
  992. RedDotController.Instance.SetComRedDot(_ui.m_btnOpenServerActivity.target, RedDotDataManager.Instance.GetOpenServerRed(), "", -21, 2);
  993. // 阿福赠礼
  994. if (_ui.m_btnActivityAfuGift.target.visible)
  995. {
  996. if (redPointUpdateFrame == 17)
  997. RedDotController.Instance.SetComRedDot(_ui.m_btnActivityAfuGift.target, ActivityAfuGiftDataManager.Instance.HaveCanGetReward(), "", -39, -6);
  998. }
  999. //海之市
  1000. if (redPointUpdateFrame == 18)
  1001. {
  1002. RedDotController.Instance.SetComRedDot(_ui.m_btnHaiZhiShi.target, RedDotDataManager.Instance.GetTravelRed()
  1003. || TimeTracingDataManager.Instance.GetLevelRewardStatus() || TimeTracingDataManager.Instance.GetAllChapterReward(), "icon_tanhao", -39, 15);
  1004. }
  1005. // 新春活动
  1006. if (_ui.m_btnTea.target.visible)
  1007. {
  1008. if (redPointUpdateFrame == 19)
  1009. RedDotController.Instance.SetComRedDot(_ui.m_btnTea.target, ActivityTeaDataManager.Instance.GetRewardRed() || ActivityTeaDataManager.Instance.CheckHRDRed() || ActivityTeaDataManager.Instance.GetActivitySyntheticRed() || ActivityTeaDataManager.Instance.CheckVisitTaskRed(), "", -24, -3);
  1010. }
  1011. // 招财进宝活动
  1012. if (_ui.m_btnActivityZCJB.target.visible)
  1013. {
  1014. if (redPointUpdateFrame == 20)
  1015. RedDotController.Instance.SetComRedDot(_ui.m_btnActivityZCJB.target, ActivityDataManager.Instance.CheckZCJBRed(), "", -12, 5);
  1016. }
  1017. // 新年红包活动
  1018. if (_ui.m_btnNewYearRedEnvelope.target.visible)
  1019. {
  1020. if (redPointUpdateFrame == 21)
  1021. RedDotController.Instance.SetComRedDot(_ui.m_btnNewYearRedEnvelope.target, NewYearRedEnvelopeDataManager.Instance.CheckNewYearRedEnvelopeRed(), "", -19, 5);
  1022. }
  1023. // 元宵活动
  1024. if (_ui.m_btnGetYuanXiao.target.visible)
  1025. {
  1026. if (redPointUpdateFrame == 22)
  1027. {
  1028. RedDotController.Instance.SetComRedDot(_ui.m_btnGetYuanXiao.target
  1029. , RedDotDataManager.Instance.GetActivityYuanXiaoRed(), "", 0, 0);
  1030. }
  1031. }
  1032. // 逢缘解语活动(华容道小游戏)
  1033. if (_ui.m_btnActivityFYJY.target.visible)
  1034. {
  1035. if (redPointUpdateFrame == 23)
  1036. {
  1037. RedDotController.Instance.SetComRedDot(_ui.m_btnActivityFYJY.target
  1038. , RedDotDataManager.Instance.GetActivityFYJYRed(), "", -15, -1);
  1039. }
  1040. }
  1041. if (redPointUpdateFrame == 24)
  1042. {
  1043. RedDotController.Instance.SetComRedDot(_ui.m_btnMain.target
  1044. , MainStoryDataManager.GetChapterRewardStatus(), "icon_tanhao", -40,40);
  1045. }
  1046. redPointUpdateFrame++;
  1047. if(redPointUpdateFrame > 25)
  1048. {
  1049. redPointUpdateFrame = -1;
  1050. }
  1051. }
  1052. /// <summary>
  1053. /// 刷新指定活动的红点
  1054. /// </summary>
  1055. /// <param name="context"></param>
  1056. private void UpdateActivityRedDot(EventContext context)
  1057. {
  1058. int activityType = (int)context.data;
  1059. switch (activityType)
  1060. {
  1061. case ActivityType.AfternoonLeisure:
  1062. if (_ui.m_btnActivityFYJY.target.visible)
  1063. {
  1064. RedDotController.Instance.SetComRedDot(_ui.m_btnActivityFYJY.target, RedDotDataManager.Instance.GetActivityFYJYRed(), "", -15, -1, false);
  1065. }
  1066. break;
  1067. }
  1068. }
  1069. private void UpdateNewPlayerReward(EventContext context)
  1070. {
  1071. ActivitySProxy.ReqGetNewPlayerBonusStatus().Coroutine();
  1072. }
  1073. private void CheckProbabilityUp()
  1074. {
  1075. //long curTime = TimeHelper.ServerNow();
  1076. //long endTime = TimeUtil.DateTimeToTimestamp("[2024][2][2][00:00]");
  1077. //int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
  1078. //if (activityId > 0)
  1079. //if (endTime >= curTime)
  1080. // _ui.m_btnZhaiXing.m_ProbabilityUpType.selectedIndex = 1;
  1081. //else
  1082. // _ui.m_btnZhaiXing.m_ProbabilityUpType.selectedIndex = 0;
  1083. }
  1084. private void CheckGuide(object param)
  1085. {
  1086. MainDataManager.Instance.CanSwipe = true;
  1087. GRoot.inst.touchable = true;
  1088. if (GuideDataManager.IsGuideFinish(ConstGuideId.FREEDOM_DRESS) <= 0
  1089. //|| GuideDataManager.IsGuideFinish(ConstGuideId.CLOTHING_DECOMPOSE) <= 0
  1090. //|| GuideDataManager.IsGuideFinish(ConstGuideId.CLOTHING_SYNTHETIC) <= 0
  1091. || GuideDataManager.IsGuideFinish(ConstGuideId.UP_CARD_LV) <= 0
  1092. || GuideDataManager.IsGuideFinish(ConstGuideId.ENTER_CHAPTER) <= 0
  1093. || GuideDataManager.IsGuideFinish(ConstGuideId.STUDIO_FILING) <= 0
  1094. //|| GuideDataManager.IsGuideFinish(ConstGuideId.FIELD) <= 0
  1095. || GuideDataManager.IsGuideFinish(ConstGuideId.STUDIO_PORCELAIN) <= 0
  1096. || GuideDataManager.IsGuideFinish(ConstGuideId.ENTER_CHAPTER_1) <= 0
  1097. || GuideDataManager.IsGuideFinish(ConstGuideId.ENTER_CHAPTER_2) <= 0
  1098. //|| GuideDataManager.IsGuideFinish(ConstGuideId.ENTER_CHAPTER_3) <= 0
  1099. || GuideDataManager.IsGuideFinish(ConstGuideId.ENTER_CHAPTER_4) <= 0
  1100. || GuideDataManager.IsGuideFinish(ConstGuideId.UP_CARD_STAR) <= 0
  1101. || GuideDataManager.IsGuideFinish(ConstGuideId.ENTER_CHAPTER_5) <= 0
  1102. || GuideDataManager.IsGuideFinish(ConstGuideId.STUDIO_PROPERTY) <= 0
  1103. || GuideDataManager.IsGuideFinish(ConstGuideId.ARENA_OPEN) <= 0
  1104. || GuideDataManager.IsGuideFinish(ConstGuideId.SUIT_LIST_VIEW) <= 0
  1105. || GuideDataManager.IsGuideFinish("ClothingSelectView") <= 0)
  1106. {
  1107. UpdateToCheckGuide(null);
  1108. }
  1109. else
  1110. {
  1111. _ui.m_loaGuidestudio.visible = false;
  1112. Timers.inst.Remove(CheckGuide);
  1113. }
  1114. }
  1115. protected override void UpdateToCheckGuide(object param)
  1116. {
  1117. if (!ViewManager.CheckIsTopView(this.viewCom)) return;
  1118. GuideController.TryGuide(_ui.m_btnHuanZhuang.target, ConstGuideId.FREEDOM_DRESS, 2, "在这里,自由搭配服饰和分享哦~", -1, false);
  1119. GuideController.TryGuide(_ui.m_btnMain.target, ConstGuideId.ENTER_CHAPTER, 3, "海市蜃楼,镜花水月,是所有故事开始的地方。", -1, false);
  1120. //GuideController.TryGuide(_ui.m_btnXiuFang.target, ConstGuideId.CLOTHING_DECOMPOSE, 2, "绣坊里增添了新功能。", -1, false);
  1121. //GuideController.TryGuide(_ui.m_btnXiuFang.target, ConstGuideId.CLOTHING_SYNTHETIC, 1, "进入绣坊界面。", -1, false);
  1122. //GuideController.TryCompleteGuide(ConstGuideId.CLOTHING_SYNTHETIC, 7);
  1123. GuideController.TryGuide(_ui.m_btnCiPai.target, ConstGuideId.UP_CARD_LV, 2, "“词牌”可进行升级和管理。", -1, false);
  1124. GuideController.TryGuide(_ui.m_btnMain.target, ConstGuideId.ENTER_CHAPTER_1, 2, "", -1, false);
  1125. GuideController.TryGuide(_ui.m_btnMain.target, ConstGuideId.ENTER_CHAPTER_2, 2, "", -1, false);
  1126. //GuideController.TryGuide(_ui.m_btnMain.target, ConstGuideId.ENTER_CHAPTER_3, 1, "", -1, false);
  1127. GuideController.TryGuide(_ui.m_btnMain.target, ConstGuideId.ENTER_CHAPTER_4, 1, "", -1, false);
  1128. GuideController.TryGuide(_ui.m_btnCiPai.target, ConstGuideId.UP_CARD_STAR, 2, "“词牌”可进行升星。", -1, false);
  1129. GuideController.TryGuide(_ui.m_btnMain.target, ConstGuideId.ENTER_CHAPTER_5, 2, "", -1, false);
  1130. GuideController.TryGuide(_ui.m_btnXiuFang.target, ConstGuideId.SUIT_LIST_VIEW, 1,
  1131. "获得套装“国色”或“天衣”服饰后,可进行养护和焕新,到绣坊看看。", -1, false);
  1132. GuideController.TryGuide(_ui.m_btnHaiZhiShi.target, ConstGuideId.ARENA_OPEN, 2, "新玩法-飞花令开启了哦", -1, false);
  1133. bool isStudioMetalGuide = GuideController.TryGuide(_ui.m_btnHaiZhiShi.target, ConstGuideId.STUDIO_PORCELAIN, 2, "进入副本", -1,
  1134. false, _ui.target.height - 700);
  1135. bool isStudioFilingGuide = GuideController.TryGuide(_ui.m_btnHaiZhiShi.target, ConstGuideId.STUDIO_FILING, 2, "进入副本", -1,
  1136. false, _ui.target.height - 700);
  1137. //bool isFieldGuide = GuideController.TryGuide(_ui.m_btnHaiZhiShi.target, ConstGuideId.FIELD, 1, "进入副本", -1, false, _ui.target.height - 700);
  1138. bool isStudioPropertyGuide = GuideController.TryGuide(_ui.m_btnHaiZhiShi.target, ConstGuideId.STUDIO_PROPERTY, 1, "进入副本", -1, false, _ui.target.height - 700);
  1139. bool isGuide13 = GuideController.TryGuide(_ui.m_btnXiuFang.target, "ClothingSelectView", 2, "进入绣纺。");
  1140. bool isGuide14 = GuideController.TryGuide(_ui.m_btnHaiZhiShi.target, "TimeTracingShowView", 2, "进入副本。");
  1141. if (GuideSimulationDataManager.Instance.GuideMonthlyJumpType == 1)
  1142. {
  1143. GuideController.TryGuide(_ui.m_guideBtn, ConstGuideId.SHEZHI_ZHUJIEMBG, 2, "开启背景更换特权");
  1144. }
  1145. _ui.m_loaGuidestudio.visible = false;
  1146. // if (isStudioMetalGuide || isStudioFilingGuide || isFieldGuide || isStudioPropertyGuide)
  1147. // {
  1148. // _ui.m_loaGuidestudio.visible = true;
  1149. // MainDataManager.Instance.CanSwipe = true;
  1150. // }
  1151. // else
  1152. // {
  1153. // _ui.m_loaGuidestudio.visible = false;
  1154. // }
  1155. }
  1156. private void MainUIAnimFinished()
  1157. {
  1158. // 摘星特效 在未解锁的时候不显示
  1159. _ui.m_btnZhaiXing.m_holder1.visible = !_ui.m_btnZhaiXing.m_loaLockIcons.visible;
  1160. _ui.m_grpLeagueTips.visible = _btnLeague.visible && LeagueDataManager.Instance.CheckLeagueMainTips() != "";
  1161. if (_ui.m_grpLeagueTips.visible)
  1162. {
  1163. _ui.m_grpLeaguetext.text = LeagueDataManager.Instance.CheckLeagueMainTips();
  1164. Vector2 pos = _ui.m_list.TransformPoint(_btnLeague.position, _ui.target);
  1165. _ui.m_grpLeagueTips.SetPosition(pos.x - _ui.m_grpLeagueTips.width + 20, pos.y + 20, 0);
  1166. }
  1167. }
  1168. private void ChangeAfuActivityState()
  1169. {
  1170. _ui.m_btnActivityAfuGift.target.visible = ActivityAfuGiftDataManager.Instance.IsOpen;
  1171. }
  1172. private void ResetDailyData()
  1173. {
  1174. CheckFunOpen();
  1175. OnRedDotChanged();
  1176. UpdateHead();
  1177. UpdateBtnFirstRecharge();
  1178. CheckAutoShowViews();
  1179. RefreshBtnNewYearRedEnvelope();
  1180. RefreshBtnYuanXiaoActivity();
  1181. RefreshBtnActivityFYJY();
  1182. }
  1183. private void CheckAutoShowViews()
  1184. {
  1185. if (GameConfig.tsStatus > 0) return; //提审时不显示弹窗
  1186. if (RoleDataManager.lvl < 5) return;
  1187. if (GuideDataManager.currentGuideId > 0) return;
  1188. if (GameGlobal.AutoShowCompleted) return;
  1189. if (!GameGlobal.AfterDataInited) return;
  1190. if (!ViewManager.CheckIsTopView(this.viewCom)) return;
  1191. //if (!TimeUtil.CheckIsSameTime(lastTime * 1000, TimeHelper.ClientNow()))
  1192. if (GameGlobal.AutoNewPlayersTips)
  1193. {
  1194. if (GameGlobal.NewPlayerOnceTips)
  1195. {
  1196. ViewManager.Show<NewPlayersTipsView>();
  1197. return;
  1198. }
  1199. }
  1200. //招财进宝弹窗
  1201. if (GameGlobal.AutoZCJBTips)
  1202. {
  1203. GameGlobal.AutoZCJBTips = false;
  1204. if(ActivityDataManager.Instance.GetCurOpenActiveByType(17) == 0)
  1205. {
  1206. return;
  1207. }
  1208. ViewManager.Show<ActivityZCJBView>();
  1209. return;
  1210. }
  1211. if (GameGlobal.AutoSevenDayLoginView)
  1212. {
  1213. if (ActivityDataManager.Instance.CanGetSevenDayBonus())
  1214. {
  1215. ViewManager.Show<SevenDailyTipsView>();
  1216. return;
  1217. }
  1218. //GameGlobal.lastLoginTime = GameGlobal.myNumericComponent.GetAsInt(NumericType.OnlineTimeSecs);
  1219. }
  1220. if (GameGlobal.AutoDailySignView)
  1221. {
  1222. if (RedDotDataManager.Instance.DailySignGot())
  1223. {
  1224. ViewManager.Show<DailySignView>(new object[] { 1 });
  1225. return;
  1226. }
  1227. }
  1228. //月卡弹窗 暂时屏蔽该两个弹窗
  1229. //if (GameGlobal.AutoMonthlyCardView)
  1230. //{
  1231. // GameGlobal.AutoMonthlyCardView = false;
  1232. // if (GameGlobal.myNumericComponent.GetAsInt(NumericType.IsPropCzykActivity) == 0)
  1233. // {
  1234. // long endTime1 = GameGlobal.myNumericComponent.GetAsLong(NumericType.MonthCardGoldEndTime);
  1235. // long endTime2 = GameGlobal.myNumericComponent.GetAsLong(NumericType.MonthCardBlackGoldEndTime);
  1236. // if (endTime1 < TimeHelper.ServerNow())
  1237. // {
  1238. // if (endTime2 < TimeHelper.ServerNow())
  1239. // {
  1240. // ViewManager.Show<MonthlyCardTipsView>();
  1241. // return;
  1242. // }
  1243. // }
  1244. // }
  1245. //}
  1246. //活动公告弹窗
  1247. if (GameGlobal.AutoAcitivtyTipsLoginView)
  1248. {
  1249. GameGlobal.AutoAcitivtyTipsLoginView = false;
  1250. if (GameGlobal.myNumericComponent.GetAsInt(NumericType.IsPropYchmActivity) == 0)
  1251. {
  1252. ViewManager.Show<ActivityMainTipsView>();
  1253. return;
  1254. }
  1255. }
  1256. //直购648弹窗
  1257. if (GameGlobal.AutoZGTHTips)
  1258. {
  1259. GameGlobal.AutoZGTHTips = false;
  1260. long tips;
  1261. if(!ActivityDataManager.Instance.TipsStatusDic.TryGetValue(6002, out tips))
  1262. {
  1263. if (ActivityDataManager.Instance.CheckPearRebateTips(6002))
  1264. {
  1265. ViewManager.Show<ZGTHgiftTipsView>();
  1266. return;
  1267. }
  1268. }
  1269. //判断弹窗时间
  1270. if (ActivityDataManager.Instance.CheckPearRebateTips(6002) && tips == 0)
  1271. {
  1272. ViewManager.Show<ZGTHgiftTipsView>();
  1273. return;
  1274. }
  1275. }
  1276. //直购特惠弹窗
  1277. if (GameGlobal.AutoZGTHDCTips)
  1278. {
  1279. GameGlobal.AutoZGTHDCTips = false;
  1280. long tips;
  1281. if (!ActivityDataManager.Instance.TipsStatusDic.TryGetValue(6001, out tips))
  1282. {
  1283. if (ActivityDataManager.Instance.CheckPearRebateTips(6001))
  1284. {
  1285. ViewManager.Show<ZGTHgiftDCTipsView>();
  1286. return;
  1287. }
  1288. }
  1289. //判断弹窗时间
  1290. if (ActivityDataManager.Instance.CheckPearRebateTips(6001) && tips == 0)
  1291. {
  1292. ViewManager.Show<ZGTHgiftDCTipsView>();
  1293. return;
  1294. }
  1295. }
  1296. //珍珠赠礼弹窗
  1297. if (GameGlobal.AutoPearRebateTips)
  1298. {
  1299. GameGlobal.AutoPearRebateTips = false;
  1300. long tips;
  1301. if (!ActivityDataManager.Instance.TipsStatusDic.TryGetValue(6000, out tips))
  1302. {
  1303. if (ActivityDataManager.Instance.CheckPearRebateTips(6000))
  1304. {
  1305. ViewManager.Show<PearRebateTipsView>();
  1306. return;
  1307. }
  1308. }
  1309. //判断弹窗时间
  1310. if (ActivityDataManager.Instance.CheckPearRebateTips(6000) && tips == 0)
  1311. {
  1312. ViewManager.Show<PearRebateTipsView>();
  1313. return;
  1314. }
  1315. }
  1316. //if (GameGlobal.AutoSpecialOfferGiftBoxView)
  1317. //{
  1318. // //List<int> shopListId = new List<int>() { 40012, 40013 };
  1319. // //if (ShopDataManager.Instance.GetShopIdCanBuyInShop(ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY, shopListId))
  1320. // //{
  1321. // // ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_GIFT_BAG, ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY });
  1322. // // return;
  1323. // //}
  1324. // if (LimitedTimeGiftBoxDataManager.Instance.SpecialOfferGiftBoxCanBuy())
  1325. // {
  1326. // ViewManager.Show<SpecialOfferGiftBoxView>();
  1327. // return;
  1328. // }
  1329. //}
  1330. if (FieldDataManager.Instance.waitToShowFieldFightEndView)
  1331. {
  1332. ViewManager.Show<FieldFightEndView>();
  1333. return;
  1334. }
  1335. GameGlobal.AutoShowCompleted = true;
  1336. }
  1337. private void ServerTimeUpdate(object param = null)
  1338. {
  1339. long timestamp = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalMilliseconds;
  1340. if (Math.Abs(TimeHelper.ServerNow() - timestamp) >= 60000)
  1341. {
  1342. dateTime = unixStartTime.AddMilliseconds(TimeHelper.ServerNow());
  1343. _ui.m_serverTime.text = dateTime.ToString();
  1344. _ui.m_serverTime.visible = true;
  1345. }
  1346. else
  1347. {
  1348. _ui.m_serverTime.visible = false;
  1349. }
  1350. }
  1351. private void HideMainUI()
  1352. {
  1353. _ui.m_hide.Play();
  1354. }
  1355. private void ShowMainUI()
  1356. {
  1357. _ui.m_show.Play();
  1358. }
  1359. private void OnClickBtnGetYuanXiao()
  1360. {
  1361. ViewManager.Show<ActivityGetYuanXiaoEntryView>();
  1362. }
  1363. private void OnClickBtnFYJY()
  1364. {
  1365. ViewManager.Show<ActivityHuaRongDaoEntryView>(5016);
  1366. }
  1367. }
  1368. }