{ "code": "import RewardBoxUi from \"../RewardBoxUi\";\r\nimport UserModel from \"../../game_module/UserModel\";\r\nimport NetManager, { PROTOCOLS } from \"../../game_module/NetManager\";\r\nimport ViewManager from \"../../GameLogic/ViewManager\";\r\nimport { CfgManager } from \"../../GameLogic/CfgManager\";\r\nimport GameDefined from \"../../GameLogic/GameDefined\";\r\nimport BannerAndVideo1 from \"../../game_module/BannerAndVideo1\";\r\nimport { ThemeType } from \"../../GameLogic/DefinedType\";\r\nimport { PlayerManager } from \"../../GameLogic/PlayerManager\";\r\nimport PlayerController from \"../../GameLogic/PlayerController\";\r\nexport default class RewardBoxItem extends Laya.Script {\r\n constructor() {\r\n super();\r\n this.state = 0;\r\n }\r\n onAwake() {\r\n this.self = this.owner;\r\n this._type = this.self.getChildByName(\"_type\");\r\n this._coin = this.self.getChildByName(\"_coin\");\r\n this._skin = this.self.getChildByName(\"_skin\");\r\n this._btn = this.self.getChildByName(\"_btn\");\r\n this._btn.clickHandler = new Laya.Handler(this, this.clickAd);\r\n }\r\n Refresh() {\r\n this.data = this.self.dataSource;\r\n if (this.data == 1)\r\n this.state = 1;\r\n else if (this.data == 0)\r\n this.state = 2;\r\n this._skin.visible = false;\r\n this._coin.visible = false;\r\n if (this.state == 1) {\r\n this._type.skin = RewardBoxUi.Instance.freeBox;\r\n }\r\n else {\r\n this._type.skin = RewardBoxUi.Instance.videoBox;\r\n }\r\n }\r\n clickAd() {\r\n if (this.state == 1) {\r\n if (RewardBoxUi.Instance.keyNum <= 0) {\r\n ViewManager.Instance.ShowTips(\"钥匙不足!\", 2);\r\n return;\r\n }\r\n this.OpenNet(true);\r\n }\r\n else if (this.state == 2) {\r\n BannerAndVideo1.ShowVideo((isok) => {\r\n if (isok) {\r\n this.OpenNet(false);\r\n }\r\n });\r\n }\r\n else {\r\n }\r\n }\r\n OpenNet(userKey) {\r\n let channel = userKey ? \"key:treasure_open\" : \"video:treasure_open\";\r\n let param = [{ \"t\": UserModel.Instance.CurModel.ServerTime }, { \"channel\": channel }];\r\n NetManager.Instance.HttpPostRequest(PROTOCOLS.protocols.Opentreasure, param, (data) => {\r\n if (userKey) {\r\n RewardBoxUi.Instance.ShowKey(false);\r\n }\r\n this.state = 3;\r\n this.ChangeState(data);\r\n }, (data) => {\r\n });\r\n }\r\n ChangeState(data) {\r\n if (data.rewards) {\r\n for (const key in data.rewards) {\r\n let t = Number(key);\r\n if (t == 1000) {\r\n let val = data.rewards[key];\r\n this._skin.visible = false;\r\n this._type.visible = false;\r\n this._coin.visible = true;\r\n this._coin.getChildAt(0).text = val;\r\n ViewManager.Instance.ShowTips(\"金币:+\" + val);\r\n }\r\n else {\r\n let id = t % 1000;\r\n this._skin.visible = true;\r\n this._type.visible = false;\r\n this._coin.visible = false;\r\n let cfg = CfgManager.Instance.GetTheme(id);\r\n if (!cfg)\r\n return;\r\n this._skin.skin = GameDefined.skin_path + cfg.icon + \".png\";\r\n ViewManager.Instance.ShowTips(\"皮肤:+1\");\r\n if (cfg.type == ThemeType.Gun) {\r\n if (PlayerManager.Instance.equip_gun < id) {\r\n var param = [{ \"id\": id }];\r\n NetManager.Instance.HttpPostRequest(PROTOCOLS.protocols.Equip, param, (data) => {\r\n PlayerManager.Instance.SetTheme();\r\n PlayerController.Instance.SetGuns(PlayerManager.Instance.equip_gun);\r\n }, (data) => {\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n onDestroy() {\r\n this._btn.clickHandler = null;\r\n }\r\n}\r\n", "references": [ "D:/GitProject/GunGang/gungang_laya/gungang/src/Window/RewardBoxUi.ts", "D:/GitProject/GunGang/gungang_laya/gungang/src/game_module/UserModel.ts", "D:/GitProject/GunGang/gungang_laya/gungang/src/game_module/NetManager.ts", "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/CfgManager.ts", "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/GameDefined.ts", "D:/GitProject/GunGang/gungang_laya/gungang/src/game_module/BannerAndVideo1.ts", "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/DefinedType.ts", "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/PlayerManager.ts", "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/PlayerController.ts" ] }