12345678910111213141516171819 |
- {
- "code": "import { WindowManager, WindowType } from \"./WindowManager\";\r\nimport { GameUtils } from \"../Util/GameUtils\";\r\nimport { LevelManager } from \"../Main/LevelManager\";\r\nimport { PlayerAccount } from \"../Network/PlayerAccount\";\r\nimport { AccountUser, TouchState } from \"../Main/DataMaker\";\r\nimport { ui } from \"../ui/layaMaxUI\";\r\nimport { GameManager } from \"../Main/GameManager\";\r\nimport { EventManager } from \"../Main/EventManager\";\r\nimport { TtSdk } from \"../Util/TtSdk\";\r\nexport class HomeWindow extends ui.Window.HomeWindowUI {\r\n constructor() {\r\n super();\r\n this.showlevel = [];\r\n this.cantouch = true;\r\n HomeWindow.instance = this;\r\n }\r\n static get Instance() {\r\n return HomeWindow.instance;\r\n }\r\n InitSize() {\r\n this.height = Laya.stage.height;\r\n Laya.stage.on(Laya.Event.RESIZE, this, () => { this.height = Laya.stage.height; });\r\n this.moneypan.y = Laya.stage.height / 1280 * this.moneypan.y;\r\n this.bottombtnpan.y = Laya.stage.height / 1280 * this.bottombtnpan.y;\r\n this.stagepan.y = Laya.stage.height / 1280 * this.stagepan.y;\r\n }\r\n getshowleveldata() {\r\n var levels = [];\r\n var curstageid = Number(PlayerAccount.CurAccountData.GetUser(AccountUser.stage)) + 1;\r\n var levelsdata = LevelManager.Instance.levelConfigs.values;\r\n for (var i = 0; i < levelsdata.length; i++) {\r\n var curdata = levelsdata[i].leveldata;\r\n if (curdata.id >= curstageid - 2 && curdata.id <= curstageid + 2) {\r\n curdata.booslevel = curdata.getbooslevel();\r\n if (curdata.id < curstageid)\r\n curdata.state = -1;\r\n if (curdata.id == curstageid)\r\n curdata.state = 0;\r\n if (curdata.id > curstageid)\r\n curdata.state = 1;\r\n levels.push(curdata);\r\n }\r\n }\r\n var maxstage = levels[levels.length - 1].id;\r\n if (levels.length == 4) {\r\n var nextlevel = LevelManager.Instance.levelConfigs.getValue(maxstage + 1).leveldata;\r\n nextlevel.booslevel = nextlevel.getbooslevel();\r\n levels.push(nextlevel);\r\n }\r\n else if (levels.length == 3) {\r\n var nextlevel = LevelManager.Instance.levelConfigs.getValue(maxstage + 1).leveldata;\r\n nextlevel.booslevel = nextlevel.getbooslevel();\r\n nextlevel.state = 1;\r\n var nextlevel2 = LevelManager.Instance.levelConfigs.getValue(maxstage + 2).leveldata;\r\n nextlevel2.booslevel = nextlevel2.getbooslevel();\r\n nextlevel2.state = 1;\r\n levels.push(nextlevel);\r\n levels.push(nextlevel2);\r\n }\r\n return levels;\r\n }\r\n OnOpen(data = false) {\r\n console.log(\"主界面打开...\");\r\n this.InitSize();\r\n this.RegButton();\r\n this.showlevel = this.getshowleveldata();\r\n this.RenderStage();\r\n this.moneyclip.text = PlayerAccount.CurAccountData.GetUser(AccountUser.money);\r\n }\r\n RegButton() {\r\n this.startbtn.clickHandler = Laya.Handler.create(this, this.OnClickStart, null, false);\r\n this.othergamebtn.clickHandler = Laya.Handler.create(this, this.OnClickMoreGame, null, false);\r\n this.skinbtn.clickHandler = Laya.Handler.create(this, this.OnClickSkinShop, null, false);\r\n this.signbtn.clickHandler = Laya.Handler.create(this, this.OnSign, null, false);\r\n EventManager.InputOn(TouchState.slider, this, this.OnTouchStart);\r\n }\r\n RenderStage() {\r\n for (var i = 0; i < this.stagelist.numChildren; i++) {\r\n var _cell = this.stagelist.getChildAt(i);\r\n var curdata = this.showlevel[i];\r\n var bg = _cell.getChildAt(0);\r\n bg.visible = !curdata.booslevel;\r\n var bgskin = \"\";\r\n var stageid = bg.getChildAt(0);\r\n stageid.text = curdata.id.toString();\r\n if (curdata.state == -1) {\r\n bgskin = \"zhujiemian-1-1\";\r\n bg.gray = true;\r\n }\r\n else if (curdata.state == 0) {\r\n bgskin = \"zhujiemian-3-1\";\r\n }\r\n else {\r\n bgskin = \"zhujiemian-1-1\";\r\n }\r\n bg.skin = \"game/\" + bgskin + \".png\";\r\n var boosksin = \"\";\r\n var boosbg = _cell.getChildAt(1);\r\n boosbg.visible = curdata.booslevel;\r\n if (curdata.state == -1) {\r\n boosksin = \"zhujiemian-1-3\";\r\n boosbg.gray = true;\r\n }\r\n else if (curdata.state == 0) {\r\n boosksin = \"zhujiemian-4-3\";\r\n }\r\n else {\r\n boosksin = \"zhujiemian-1-3\";\r\n }\r\n boosbg.skin = \"game/\" + boosksin + \".png\";\r\n }\r\n }\r\n OnHide() {\r\n Laya.timer.clearAll(this);\r\n EventManager.InputOff(TouchState.slider, this, this.OnTouchStart);\r\n }\r\n OnTouchStart() {\r\n if (!this.cantouch)\r\n return;\r\n var startpoint = new Laya.Point();\r\n startpoint = this.bottombtnpan.localToGlobal(new Laya.Point(this.startbtn.x, this.startbtn.y));\r\n var touchpos = new Laya.Vector2(this.mouseX, this.mouseY);\r\n if (this.mouseX < startpoint.x || this.mouseX > startpoint.x + this.startbtn.width)\r\n return;\r\n if (this.mouseY < startpoint.y || this.mouseY > startpoint.y + this.startbtn.height)\r\n return;\r\n EventManager.InputOff(TouchState.slider, this, this.OnTouchStart);\r\n GameManager.Instance.BeginGame();\r\n }\r\n OnClickStart() {\r\n GameManager.Instance.BeginGame();\r\n }\r\n OnClickSkinShop() {\r\n GameUtils.TweenButton(this.skinbtn, () => {\r\n WindowManager.Instance.ShowWindow(WindowType.SkinWindow);\r\n });\r\n }\r\n OnSign() {\r\n GameUtils.TweenButton(this.signbtn, () => {\r\n WindowManager.Instance.ShowWindow(WindowType.SignWindow);\r\n });\r\n }\r\n OnClickMoreGame() {\r\n GameUtils.TweenButton(this.othergamebtn, () => {\r\n TtSdk.showToast(\"暂未开放\");\r\n });\r\n }\r\n OnSignError(e) {\r\n console.log(e);\r\n }\r\n}\r\n",
- "references": [
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Window/Component/IWindow.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Window/WindowManager.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Network/NetworkManager.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Util/GameUtils.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Main/SkinMaker.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Main/LevelManager.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Network/PlayerAccount.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Main/DataMaker.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/ui/layaMaxUI.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Main/GameManager.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Main/EventManager.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Main/LevelMaker.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Util/TtSdk.ts"
- ]
- }
|