Start.ts 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. // Learn TypeScript:
  2. // - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
  3. // Learn Attribute:
  4. // - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
  5. // Learn life-cycle callbacks:
  6. // - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
  7. import EventName, { PopName } from "./EventName/EventName";
  8. import { ButtonLock } from "./GameLogic/Sofa";
  9. import AudioManager from "./GameUI/AudioManager";
  10. import CollectManger from "./GameUI/CollectManger";
  11. import EmployeeReferral from "./GameUI/EmployeeReferral";
  12. import HonorManger from "./GameUI/HonorManger";
  13. import { IDcardType } from "./GameUI/IDcard";
  14. import NoticeManger from "./GameUI/NoticeManger";
  15. import PopManger from "./GameUI/PopManger";
  16. import Rank from "./GameUI/Rank";
  17. import HTTPS, { NetGet, NetPost } from "./Template/HTTPS";
  18. import LocalData, { WorkState } from "./Template/LocalData";
  19. import MyComponent from "./Template/MyComponent";
  20. import PopComponet from "./Template/PopComponet";
  21. const { ccclass, property } = cc._decorator;
  22. @ccclass
  23. export default class Start extends MyComponent {
  24. //人物预制体
  25. @property(cc.Label)
  26. FreeCount: cc.Label = null
  27. @property(cc.Label)
  28. WorkCount: cc.Label = null
  29. @property(cc.Sprite)
  30. StartSprite: cc.Sprite = null
  31. @property(cc.SpriteFrame)
  32. Norm: cc.SpriteFrame = null
  33. @property(cc.SpriteFrame)
  34. Work: cc.SpriteFrame = null
  35. @property(cc.Node)
  36. RedNode: cc.Node = null
  37. start() {
  38. // this.rectAvatar.getMaterial(0).setProperty('wh_ratio', 0.5);
  39. AudioManager.instance.playHallBg()
  40. //率先检测今天是不是新的一天
  41. // 1 改变左下角的debug标签颜色
  42. this.SetDebugColor()
  43. }
  44. SetDebugColor() {
  45. cc.director.getScene().children.forEach(e => {
  46. console.log(e.name);
  47. })
  48. let left = cc.director.getScene()?.getChildByName('PROFILER-NODE')?.getChildByName('LEFT-PANEL')
  49. let right = cc.director.getScene()?.getChildByName('PROFILER-NODE')?.getChildByName('RIGHT-PANEL')
  50. //@ts-ignore
  51. left?.color = cc.Color.RED
  52. //@ts-ignore
  53. right?.color = cc.Color.RED
  54. }
  55. @ButtonLock(0.5, null)
  56. ClickStartBtn() {
  57. switch (LocalData.getInstance().getWorkState()) {
  58. case WorkState.引导:
  59. //引导关卡不扣今日次数
  60. PopManger.getInstance().Pop(PopName.StartAnim, { animation: false })
  61. break;
  62. case WorkState.上班:
  63. case WorkState.加班:
  64. //非引导关卡 扣今日次数
  65. if (LocalData.getInstance().getFreeGameCount() <= 0) {
  66. PopManger.getInstance().Pop(PopName.JustAgain)
  67. } else {
  68. LocalData.getInstance().setFreeGameCount(LocalData.getInstance().getFreeGameCount() - 1)
  69. //来个动画 执行预加载场景
  70. PopManger.getInstance().Pop(PopName.StartAnim, { animation: false })
  71. }
  72. break;
  73. default:
  74. cc.error('未知状态');
  75. break;
  76. }
  77. }
  78. onDisable(): void {
  79. this.unscheduleAllCallbacks()
  80. }
  81. onEnable(): void {
  82. //现在免费的次数
  83. let NowCout = LocalData.getInstance().getFreeGameCount()
  84. //今天免费的次数
  85. let TotalCout = LocalData.getInstance().FreePlayCount
  86. if (NowCout > 0) {
  87. this.FreeCount.string = `今日免费 ${NowCout} / ${TotalCout}`
  88. this.FreeCount.enabled = true
  89. } else {
  90. this.FreeCount.enabled = true
  91. }
  92. if (LocalData.getInstance().getWorkState() === WorkState.加班) {
  93. this.StartSprite.spriteFrame = this.Work
  94. } else {
  95. this.StartSprite.spriteFrame = this.Norm
  96. }
  97. this.schedule(this.CheckNotice, 30, cc.macro.REPEAT_FOREVER, 1)
  98. this.regEvent(EventName.UpdateOnce, this.CheckNotice, this)
  99. HTTPS.Instance.get(NetGet.DailyRecord).then((resp) => {
  100. this.WorkCount.string = resp.Data.Total
  101. })
  102. }
  103. CheckNotice() {
  104. console.error('执行了一次检测通知');
  105. HTTPS.Instance.post(NetPost.GetToBenotifiedList, {}).then((resp) => {
  106. NoticeManger.getInstance().NoticeList = resp.Data
  107. NoticeManger.getInstance().Pop()
  108. })
  109. HTTPS.Instance.post(NetPost.InvitationRecord, {}).then((resp) => {
  110. if (resp.Code == 200) {
  111. EmployeeReferral.RedPoint = resp.Data.Num
  112. if (EmployeeReferral.RedPoint >= 3) {
  113. this.RedNode.active = true
  114. } else {
  115. this.RedNode.active = false
  116. }
  117. }
  118. })
  119. }
  120. @ButtonLock(0.5, null)
  121. seting() {
  122. PopManger.getInstance().Pop(PopName.Seting)
  123. }
  124. @ButtonLock(2, null)
  125. ClickHonorBtn() {
  126. HTTPS.Instance.post(NetPost.GetUserHonorList, {}).then((resp) => {
  127. HonorManger.getInstance().init(resp)
  128. PopManger.getInstance().Pop(PopName.HonorWall)
  129. })
  130. }
  131. @ButtonLock(2, null)//收藏
  132. ClickCollectBtn() {
  133. HTTPS.Instance.post(NetPost.GetUserCollectList, {}).then((resp) => {
  134. CollectManger.getInstance().init(resp)
  135. PopManger.getInstance().Pop(PopName.Collect)
  136. })
  137. }
  138. @ButtonLock(0.5, null)
  139. ClickEmployeeReferralBtn() {
  140. HTTPS.Instance.post(NetPost.InvitationRecord, {}).then((resp) => {
  141. PopManger.getInstance().Pop(PopName.EmployeeReferral, {
  142. animation: true,
  143. Data: {
  144. resp: resp.Data
  145. }
  146. })
  147. })
  148. }
  149. @ButtonLock(0.5, null)
  150. ClickWhereMyBtn() {
  151. cc.systemEvent.emit(EventName.WhereMy)
  152. }
  153. @ButtonLock(0.5, null)
  154. ClickIDcard() {
  155. HTTPS.Instance.post(NetPost.GetUserInfo, {}).then((resp) => {
  156. PopManger.getInstance().Pop(PopName.IDcard, {
  157. animation: true,
  158. Data: {
  159. IDcardType: IDcardType.My,
  160. resp: resp.Data
  161. }
  162. })
  163. })
  164. }
  165. RankBronTime = 0
  166. @ButtonLock(0.5, null)
  167. ClickRank() {
  168. HTTPS.Instance.post(NetPost.GetProvinceRanking, {}).then((resp) => {
  169. PopManger.getInstance().Pop(PopName.Rank, {
  170. animation: true,
  171. Data: {
  172. resp: resp.Data
  173. }
  174. }).then((e: Rank) => {
  175. let RankNode = e.node
  176. let PopMangerNode = cc.Canvas.instance.node.getChildByName('PopManger')
  177. let RankMaskNode = PopMangerNode.getChildByName('RankMask')
  178. RankMaskNode.active = true
  179. this.RankBronTime = cc.sys.now()
  180. RankMaskNode.on(cc.Node.EventType.TOUCH_START, (event: cc.Event.EventTouch) => {
  181. event.stopPropagation()
  182. if (cc.sys.now() - this.RankBronTime > 500) {
  183. RankMaskNode.active = false
  184. RankNode.destroy()
  185. }
  186. })
  187. })
  188. })
  189. }
  190. }