page_start.ts 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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. superFindPanel:Node = null
  97. private onEditToolPanelClick(event: EventKeyboard) {
  98. switch (event.keyCode) {
  99. case KeyCode.KEY_M:
  100. console.log("按下了F2")
  101. if(!this.superFindPanel || !this.superFindPanel.isValid)
  102. LayerMgr.instance.loadBundle("editor", () => {
  103. this.loadPrefab("prefab/SuperFindPanel", (prefab: Prefab) => {
  104. let node = instantiate(prefab);
  105. node.parent = this.node;
  106. this.superFindPanel = node
  107. })
  108. })
  109. else this.superFindPanel.active = true
  110. break
  111. }
  112. }
  113. prefabMap: Map<string, Prefab> = new Map();
  114. loadPrefab(path: string, callback: (prefab: Prefab) => void) {
  115. if (this.prefabMap.has(path)) {
  116. callback(this.prefabMap.get(path));
  117. return;
  118. }
  119. LayerMgr.instance.loadPrefab("editor", path, (prefab: Prefab) => {
  120. this.prefabMap.set(path, prefab);
  121. callback(prefab);
  122. });
  123. }
  124. }