GameOverEnd.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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 { PopName } from "../EventName/EventName";
  8. import LocalData from "../Template/LocalData";
  9. import PopComponet from "../Template/PopComponet";
  10. import GameLevel from "./GameLevel";
  11. import PopManger, { GameOver } from "./PopManger";
  12. const { ccclass, property } = cc._decorator;
  13. @ccclass
  14. export default class GameOverEnd extends PopComponet {
  15. //人物预制体
  16. @property(cc.Label)
  17. FreeCount: cc.Label = null
  18. @property(cc.Label)
  19. LevelNameLabel: cc.Label = null
  20. @property(cc.Label)
  21. NextLevelNameLabel: cc.Label = null
  22. onLoad(): void {
  23. super.onLoad()
  24. }
  25. Surpclose() {
  26. super.Surpclose()
  27. cc.director.loadScene("Start")
  28. //发送服务器游戏成功or 失败
  29. PopManger.getInstance().GameOver(GameOver.fail)
  30. }
  31. setGameSlider() {
  32. //应该置灰关卡
  33. let totalLevel = 5
  34. for (let index = totalLevel; index > 0; index--) {
  35. let GrayNode = this.node.getChildByName("GameLevel").getChildByName("Level" + index.toString())
  36. //置灰
  37. if (index > (GameLevel.gameLevel)) {
  38. GrayNode.getComponent(cc.Sprite).enabled = false
  39. GrayNode.getChildByName("null").active = true
  40. } else {
  41. GrayNode.getComponent(cc.Sprite).enabled = true
  42. GrayNode.getChildByName("null").active = false
  43. }
  44. }
  45. let Label2 = this.node.getChildByName("Label1").getChildByName("Label2")
  46. Label2.getComponent(cc.Label).string = (totalLevel - GameLevel.gameLevel).toString()
  47. }
  48. ClickStartBtn() {
  49. if (LocalData.getInstance().getFreeGameCount() <= 0) {
  50. PopManger.getInstance().Pop(PopName.JustAgain)
  51. } else {
  52. LocalData.getInstance().setFreeGameCount(LocalData.getInstance().getFreeGameCount() - 1)
  53. //来个动画 执行预加载场景
  54. PopManger.getInstance().loadScene_Game()
  55. }
  56. }
  57. setFreeLabel() {
  58. //现在免费的次数
  59. let NowCout = LocalData.getInstance().getFreeGameCount()
  60. //今天免费的次数
  61. let TotalCout = LocalData.getInstance().FreePlayCount
  62. if (NowCout > 0) {
  63. this.FreeCount.string = `今日免费 ${NowCout} / ${TotalCout}`
  64. this.FreeCount.enabled = true
  65. } else {
  66. this.FreeCount.enabled = true
  67. }
  68. }
  69. setLevelName() {
  70. let curr = LocalData.getInstance().getMyWorkplaceLevel_Name(LocalData.getInstance().getMyWorkplaceLevel())
  71. let next = LocalData.getInstance().getMyWorkplaceLevel_Name(LocalData.getInstance().getMyWorkplaceLevel() + 1)
  72. if (curr) {
  73. this.LevelNameLabel.string = '当前职级: ' + curr
  74. }
  75. if (next) {
  76. this.NextLevelNameLabel.string = '下一职级: ' + next
  77. }
  78. }
  79. onEnable() {
  80. this.setFreeLabel()
  81. this.setGameSlider()
  82. this.setLevelName()
  83. }
  84. }