page_start.ts 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. import { _decorator, Component, error, EventKeyboard, Input, input, instantiate, KeyCode, Node, Prefab, sys, UITransform, Widget } from 'cc';
  2. import { BundleName } from 'db://assets/script/Config/EnumCfg';
  3. import { AudioManager } from 'db://assets/script/Manager/AudioMgr';
  4. import { LayerMgr } from 'db://assets/script/Manager/LayerMgr';
  5. import { GDM } from '../dtta/JsonMgr';
  6. import PlatformService from 'db://assets/script/Platform/PlatformService';
  7. import EventMgr from 'db://assets/script/Manager/EventMgr';
  8. import { Today, User } from 'db://assets/script/Manager/LocalDataMgr';
  9. import GravityAnalyticsAPI from "db://assets/script/libs/gravityengine.mg.cocoscreator.min.js";
  10. import { mainscene } from 'db://assets/script/mainscene';
  11. const { ccclass, property } = _decorator;
  12. @ccclass('page_start')
  13. export class page_start extends Component {
  14. @property(Node)
  15. btn_start: Node = null;
  16. @property(Node)
  17. node_cebianlan: Node = null
  18. @property(Node)
  19. bg:Node = null
  20. start() {
  21. AudioManager.instance.playBgm("bgm");
  22. Promise.resolve(
  23. GDM.gamecfgMgr.loadData(),
  24. ).then(() => {
  25. this.btn_start.active = true;
  26. if (User.userData.unlockUnits.indexOf(GDM.gamecfgMgr.data[0].unit)) {
  27. User.userData.unlockUnits.push(GDM.gamecfgMgr.data[0].unit)
  28. User.saveUserData()
  29. }
  30. EventMgr.ins.addEventListener("show_gm_btn", this.OpenBg, this)
  31. }).catch((err) => {
  32. console.error(err)
  33. })
  34. EventMgr.ins.addEventListener("unlock_all", () => {
  35. let time = 86400
  36. this.schedule(() => {
  37. // console.log("倒计时1,", time)
  38. time--
  39. if (time <= 0) {
  40. Today.todayData.UnLockAllTimes = 0
  41. Today.todayData.lookVedionum = 0
  42. Today.todayData.isUnlockAll = false
  43. Today.saveTodayData()
  44. EventMgr.ins.dispatchEvent("daojishi_over")
  45. }
  46. }, 1)
  47. }, this)
  48. if (Today.todayData.UnLockAllTimes != 0) {
  49. let daojishitime = 86400 - ((Date.now() - Today.todayData.UnLockAllTimes) / 1000)
  50. if (daojishitime > 0) {
  51. this.schedule(() => {
  52. // console.log("倒计时2,", daojishitime)
  53. daojishitime--
  54. if (daojishitime <= 0) {
  55. Today.todayData.UnLockAllTimes = 0
  56. Today.todayData.lookVedionum = 0
  57. Today.todayData.isUnlockAll = false
  58. Today.saveTodayData()
  59. EventMgr.ins.dispatchEvent("daojishi_over")
  60. }
  61. }, 1)
  62. }
  63. }
  64. }
  65. OnClickStart() {
  66. AudioManager.instance.playBundleAudio("button")
  67. LayerMgr.instance.ShowPrefab(BundleName.hall, "prefab/page_levelchoose")
  68. }
  69. OnClickCebianlan() {
  70. AudioManager.instance.playBundleAudio("button")
  71. this.node_cebianlan.active = true
  72. }
  73. OnClickGotoCebianlan() {
  74. AudioManager.instance.playBundleAudio("button")
  75. PlatformService.getInstance().platformApi.navigateToScene()
  76. }
  77. OnClickCloseCebian() {
  78. AudioManager.instance.playBundleAudio("button")
  79. this.node_cebianlan.active = false
  80. }
  81. OnClickSet() {
  82. AudioManager.instance.playBundleAudio("button")
  83. LayerMgr.instance.ShowPrefab(BundleName.hall, "prefab/page_set")
  84. }
  85. OpenBg()
  86. {
  87. this.bg.active = true
  88. AudioManager.instance.playBgm("bgm");
  89. }
  90. Gmtime = 0
  91. OnClickGM() {
  92. // if (sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
  93. // return
  94. // }
  95. if (sys.isBrowser) {
  96. this.Gmtime++
  97. if (this.Gmtime >= 8) {
  98. AudioManager.instance.playBundleAudio("button")
  99. LayerMgr.instance.ShowPrefab(BundleName.hall, "prefab/Gm")
  100. }
  101. }
  102. }
  103. superFindPanel:Node = null
  104. onEditToolPanelClick(event: EventKeyboard) {
  105. if (!this.superFindPanel || !this.superFindPanel.isValid)
  106. LayerMgr.instance.loadBundle("editor", () => {
  107. this.loadPrefab("prefab/SuperFindPanel", (prefab: Prefab) => {
  108. let node = instantiate(prefab);
  109. node.parent = this.node;
  110. this.superFindPanel = node
  111. })
  112. })
  113. else this.superFindPanel.active = true
  114. this.bg.active = false //防止事件穿透
  115. AudioManager.instance.playBgm("superFIndBgm")
  116. }
  117. prefabMap: Map<string, Prefab> = new Map();
  118. loadPrefab(path: string, callback: (prefab: Prefab) => void) {
  119. if (this.prefabMap.has(path)) {
  120. callback(this.prefabMap.get(path));
  121. return;
  122. }
  123. LayerMgr.instance.loadPrefab("editor", path, (prefab: Prefab) => {
  124. this.prefabMap.set(path, prefab);
  125. callback(prefab);
  126. });
  127. }
  128. }