page_start.ts 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. start() {
  19. input.on(Input.EventType.KEY_DOWN, this.onEditToolPanelClick, this);
  20. AudioManager.instance.playBgm("bgm");
  21. Promise.resolve(
  22. GDM.gamecfgMgr.loadData(),
  23. ).then(() => {
  24. this.btn_start.active = true;
  25. if (User.userData.unlockUnits.indexOf(GDM.gamecfgMgr.data[0].unit)) {
  26. User.userData.unlockUnits.push(GDM.gamecfgMgr.data[0].unit)
  27. User.saveUserData()
  28. }
  29. }).catch((err) => {
  30. console.error(err)
  31. })
  32. EventMgr.ins.addEventListener("unlock_all", () => {
  33. let time = 86400
  34. this.schedule(() => {
  35. // console.log("倒计时1,", time)
  36. time--
  37. if (time <= 0) {
  38. Today.todayData.UnLockAllTimes = 0
  39. Today.todayData.lookVedionum = 0
  40. Today.todayData.isUnlockAll = false
  41. Today.saveTodayData()
  42. EventMgr.ins.dispatchEvent("daojishi_over")
  43. }
  44. }, 1)
  45. }, this)
  46. if (Today.todayData.UnLockAllTimes != 0) {
  47. let daojishitime = 86400 - ((Date.now() - Today.todayData.UnLockAllTimes) / 1000)
  48. if (daojishitime > 0) {
  49. this.schedule(() => {
  50. // console.log("倒计时2,", daojishitime)
  51. daojishitime--
  52. if (daojishitime <= 0) {
  53. Today.todayData.UnLockAllTimes = 0
  54. Today.todayData.lookVedionum = 0
  55. Today.todayData.isUnlockAll = false
  56. Today.saveTodayData()
  57. EventMgr.ins.dispatchEvent("daojishi_over")
  58. }
  59. }, 1)
  60. }
  61. }
  62. }
  63. OnClickStart() {
  64. AudioManager.instance.playBundleAudio("button")
  65. LayerMgr.instance.ShowPrefab(BundleName.hall, "prefab/page_levelchoose")
  66. }
  67. OnClickCebianlan() {
  68. AudioManager.instance.playBundleAudio("button")
  69. this.node_cebianlan.active = true
  70. }
  71. OnClickGotoCebianlan() {
  72. AudioManager.instance.playBundleAudio("button")
  73. PlatformService.getInstance().platformApi.navigateToScene()
  74. }
  75. OnClickCloseCebian() {
  76. AudioManager.instance.playBundleAudio("button")
  77. this.node_cebianlan.active = false
  78. }
  79. OnClickSet() {
  80. AudioManager.instance.playBundleAudio("button")
  81. LayerMgr.instance.ShowPrefab(BundleName.hall, "prefab/page_set")
  82. }
  83. Gmtime = 0
  84. OnClickGM() {
  85. // if (sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
  86. // return
  87. // }
  88. if (sys.isBrowser) {
  89. this.Gmtime++
  90. if (this.Gmtime >= 8) {
  91. AudioManager.instance.playBundleAudio("button")
  92. LayerMgr.instance.ShowPrefab(BundleName.hall, "prefab/Gm")
  93. }
  94. }
  95. }
  96. private onEditToolPanelClick(event: EventKeyboard) {
  97. switch (event.keyCode) {
  98. case KeyCode.F2:
  99. console.log("按下了F2")
  100. LayerMgr.instance.loadBundle("editor", () => {
  101. this.loadPrefab("prefab/SuperFindPanel", (prefab: Prefab) => {
  102. let node = instantiate(prefab);
  103. node.parent = this.node;
  104. })
  105. })
  106. break
  107. }
  108. }
  109. prefabMap: Map<string, Prefab> = new Map();
  110. loadPrefab(path: string, callback: (prefab: Prefab) => void) {
  111. if (this.prefabMap.has(path)) {
  112. callback(this.prefabMap.get(path));
  113. return;
  114. }
  115. LayerMgr.instance.loadPrefab("editor", path, (prefab: Prefab) => {
  116. this.prefabMap.set(path, prefab);
  117. callback(prefab);
  118. });
  119. }
  120. }