12345678910111213 |
- {
- "code": "import { NetworkManager, PROTOCOLS } from \"./NetworkManager\";\r\nimport Dictionary from \"../Util/Dictionary\";\r\nimport { GameUtils } from \"../Util/GameUtils\";\r\nimport { SkinData } from \"../Main/SkinMaker\";\r\nimport { GameManager } from \"../Main/GameManager\";\r\nimport { AccountConfig, AccountUser, signdata, entity } from \"../Main/DataMaker\";\r\nimport { VerCheck } from \"../Main/VerCheck\";\r\nexport class AccountData {\r\n constructor(_token, _appSetting, _user, _userbase, _useInvite = null, _user_stage = null, _user_sign, _user_achievement, _lottery, _user_video) {\r\n this.city_deny = false;\r\n this.openid = \"\";\r\n this.userId = \"\";\r\n this.scene = \"\";\r\n this.top_scene = \"\";\r\n this.roadconfig = {};\r\n this.m_RewardDic = {};\r\n this.m_EntityDic = {};\r\n this.m_AchievementDic = {};\r\n this.m_skinDic = new Dictionary();\r\n this.m_token = _token;\r\n this.m_app_setting = _appSetting;\r\n this.m_user = _user;\r\n this.m_user_base = _userbase;\r\n this.m_sign = _user_sign;\r\n this.m_task = _user_achievement;\r\n this.lottery = _lottery;\r\n this.m_user_video = _user_video;\r\n this.userId = this.m_user[\"user_id\"];\r\n this.openid = this.m_user_base[\"openid\"];\r\n this.scene = this.m_user_base[\"scene\"];\r\n this.top_scene = this.m_user_base[\"top_scene\"];\r\n console.log(\"user_id:\" + this.userId);\r\n }\r\n get lotterytime() {\r\n return Number(this.lottery[\"day_video_times\"]);\r\n }\r\n get share() {\r\n return this.m_app_setting[\"share\"] == \"1\";\r\n }\r\n get sharecontent() {\r\n return this.m_app_setting[\"sharecontent\"];\r\n }\r\n get ShareImage() {\r\n return this.m_app_setting[\"ShareImage\"];\r\n }\r\n get cheattime() {\r\n return Number(this.m_app_setting[\"cheattime\"]);\r\n }\r\n get banner() {\r\n return this.m_app_setting[\"banner\"] == \"1\";\r\n }\r\n get video() {\r\n return this.m_app_setting[\"video\"] == \"1\";\r\n }\r\n get checkscence() {\r\n return this.m_app_setting[\"checkscence\"] == \"1\";\r\n }\r\n get bgm() {\r\n return this.m_app_setting[\"bgm\"] == \"1\";\r\n }\r\n get newaccount() {\r\n return this.m_user[\"game_times\"] == \"0\" && GameManager.Instance.gamecount == 0;\r\n }\r\n get ctnfilename() {\r\n return this.m_app_setting[\"ctnfilename\"];\r\n }\r\n get cheat() {\r\n return this.m_app_setting[\"cheat\"] == \"1\";\r\n }\r\n get shakestage() {\r\n return this.m_app_setting[\"shakestage\"] && this.m_app_setting[\"shakestage\"] == \"1\";\r\n }\r\n get videlAdUnitId() {\r\n return this.m_app_setting[\"videlAdUnitId\"];\r\n }\r\n get bannerAdUnitId() {\r\n return this.m_app_setting[\"bannerAdUnitId\"];\r\n }\r\n get tri() {\r\n return this.m_app_setting[\"tri\"] == \"1\";\r\n }\r\n get recommend() {\r\n return this.m_app_setting[\"recommend\"] == \"1\";\r\n }\r\n get recommendbanner() {\r\n return this.m_app_setting[\"recommendbanner\"] == \"1\";\r\n }\r\n get chest() {\r\n return this.m_app_setting[\"chest\"] == \"1\";\r\n }\r\n get egg() {\r\n return Number(this.m_app_setting[\"egg\"]) > Math.random();\r\n }\r\n get cheatback() {\r\n return this.m_app_setting[\"cheatback\"] == \"1\";\r\n }\r\n get cuteffect() {\r\n return this.m_app_setting[\"cuteffect\"] == \"1\";\r\n }\r\n get UseId() {\r\n return this.userId;\r\n }\r\n GetConfig(_type) {\r\n var type = AccountConfig[_type];\r\n return this.m_configs[type];\r\n }\r\n GetUser(_type) {\r\n var type = AccountUser[_type];\r\n return this.m_user[type];\r\n }\r\n get GetVideoTotal() {\r\n return Number(this.m_user_video[\"total\"]);\r\n }\r\n GetSign(_datatype) {\r\n var type = signdata[_datatype];\r\n return this.m_sign[type];\r\n }\r\n GetRewardConfig(_rewardid) {\r\n var reward = this.m_RewardDic[_rewardid];\r\n return reward;\r\n }\r\n GetEntity(_id, attr) {\r\n if (!this.m_EntityDic[_id])\r\n return null;\r\n return this.m_EntityDic[_id][entity[attr]];\r\n }\r\n GetRewardDic() {\r\n var config = this.GetConfig(AccountConfig.rewards);\r\n for (var key in config) {\r\n this.m_RewardDic[config[key].id] = config[key];\r\n }\r\n }\r\n GetEntityDic() {\r\n var config = this.GetConfig(AccountConfig.entity);\r\n for (var key in config) {\r\n this.m_EntityDic[config[key].entity_id] = config[key];\r\n }\r\n }\r\n GetThemeById(_id) {\r\n var data = this.GetConfig(AccountConfig.theme);\r\n if (data) {\r\n for (let index = 0; index < data.length; index++) {\r\n const element = data[index];\r\n if (element.id == _id) {\r\n return element;\r\n }\r\n }\r\n }\r\n }\r\n GetSkinAttr(_id) {\r\n var config = this.GetConfig(AccountConfig.theme);\r\n for (var i = 0; i < config.length; i++) {\r\n if (config[i].id == _id) {\r\n return config[i];\r\n }\r\n }\r\n }\r\n GetAchievementData() {\r\n var data = this.GetConfig(AccountConfig.achievement);\r\n var dic = {};\r\n for (var key1 in data) {\r\n var type1 = data[key1].type;\r\n if (dic[type1]) {\r\n continue;\r\n }\r\n var array = [];\r\n for (var key2 in data) {\r\n var type2 = data[key2].type;\r\n if (type1 == type2) {\r\n array.push(data[key2]);\r\n }\r\n }\r\n dic[type1] = array;\r\n }\r\n this.m_AchievementDic = dic;\r\n }\r\n HasTheme(_id) {\r\n var has = false;\r\n var getthemes = this.GetUser(AccountUser.get_themes);\r\n for (var i = 0; i < getthemes.length; i++) {\r\n if (getthemes[i] == _id) {\r\n has = true;\r\n }\r\n }\r\n return has;\r\n }\r\n GetSkinDic(_config) {\r\n var themes = _config.theme;\r\n for (var i = 0; i < themes.length; i++) {\r\n var config = themes[i];\r\n var data = new SkinData(Number(config.id), 0);\r\n data.skinname = config.name;\r\n data.skintype = Number(config.type);\r\n data.achievement_type = Number(config.achievement_type);\r\n data.quality = Number(config.quality);\r\n data.require_type = Number(config.require_type);\r\n data.require_num = Number(config.require_num);\r\n data.skinicon = config.icon;\r\n data.prefab = config.prefab;\r\n data.lev_big = Number(config.lev_big);\r\n data.prop = Number(config.prop);\r\n data.GetSkinState(data.skintype);\r\n this.m_skinDic.add(Number(config.id), data);\r\n }\r\n }\r\n GetSeverConfig(_config) {\r\n this.m_configs = _config;\r\n this.GetSkinDic(this.m_configs);\r\n this.GetRewardDic();\r\n }\r\n UpdateSkinDic() {\r\n this.GetSkinDic(this.m_configs);\r\n }\r\n GetGlobe(_key) {\r\n var globe = this.GetConfig(AccountConfig.global);\r\n for (var key in globe) {\r\n var obj = globe[key];\r\n var kkk = obj[\"key\"];\r\n if (kkk == _key) {\r\n var value = obj[\"value\"];\r\n return value;\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\nexport class PlayerAccount {\r\n constructor(_code, _nickname, _avatar, _gender, _country, _province, _city, _device, _shareid, _scence, _ver) {\r\n this.localTime = Laya.timer.currTimer;\r\n this.Code = _code;\r\n this.NickName = _nickname;\r\n this.Avatar = _avatar;\r\n this.Gender = _gender;\r\n this.Country = _country;\r\n this.Province = _province;\r\n this.City = _city;\r\n this.Device = _device;\r\n this.ShareId = _shareid;\r\n this.Scene = _scence;\r\n this.ver = _ver;\r\n PlayerAccount.instance = this;\r\n }\r\n static get CurrentAccount() {\r\n if (PlayerAccount.instance == null) {\r\n console.log(\"生成本地测试账号...\");\r\n return PlayerAccount.TestAccount;\r\n }\r\n return PlayerAccount.instance;\r\n }\r\n static get TestAccount() {\r\n var code = Laya.LocalStorage.getItem(\"localcode\");\r\n if (!code) {\r\n var time = new Date().getTime().toString();\r\n var random = GameUtils.getRandomInt(10000, 99999).toString();\r\n code = \"xj_\" + time + random;\r\n Laya.LocalStorage.setItem(\"localcode\", code);\r\n console.log(time, random);\r\n console.log(\"新用户\", code);\r\n }\r\n else {\r\n console.log(\"老用户\", code);\r\n }\r\n var curaccount = new PlayerAccount(code, null, null, null, null, null, null, null, null, null, VerCheck.mVer);\r\n return curaccount;\r\n }\r\n SetAccountData(data, completecb) {\r\n var token = data[\"token\"];\r\n var app_setting = data[\"app_setting\"];\r\n var user = data[\"user\"];\r\n var user_base = data[\"user_base\"];\r\n var user_sign = data[\"user_sign\"];\r\n var user_achievement = data[\"user_achievement\"];\r\n var user_lottery = data[\"user_lottery\"];\r\n var user_video = data[\"user_video\"];\r\n var city_deny = data[\"city_deny\"];\r\n PlayerAccount.day_first = data[\"day_first\"] == 1;\r\n PlayerAccount.is_new = data[\"is_new\"] ? true : false;\r\n if (PlayerAccount.CurAccountData == null) {\r\n console.log(\"开始获取config数据\");\r\n PlayerAccount.CurAccountData = new AccountData(token, app_setting, user, user_base, null, null, user_sign, user_achievement, user_lottery, user_video);\r\n PlayerAccount.CurAccountData.city_deny = city_deny;\r\n this.CheckLocalConfig(data.table_version, (_config) => {\r\n PlayerAccount.CurAccountData.GetSeverConfig(_config);\r\n if (completecb != null) {\r\n completecb.runWith(data);\r\n }\r\n });\r\n }\r\n else {\r\n if (user) {\r\n PlayerAccount.CurAccountData.m_user = user;\r\n }\r\n if (user_base) {\r\n PlayerAccount.CurAccountData.m_user_base = user_base;\r\n }\r\n if (user_sign) {\r\n PlayerAccount.CurAccountData.m_sign = user_sign;\r\n }\r\n if (user_achievement) {\r\n PlayerAccount.CurAccountData.m_task = user_achievement;\r\n }\r\n if (user_lottery) {\r\n PlayerAccount.CurAccountData.lottery = user_lottery;\r\n }\r\n if (user_video) {\r\n PlayerAccount.CurAccountData.m_user_video = user_video;\r\n }\r\n if (PlayerAccount.CurAccountData.m_configs != null) {\r\n PlayerAccount.CurAccountData.GetSeverConfig(PlayerAccount.CurAccountData.m_configs);\r\n }\r\n }\r\n }\r\n CheckLocalConfig(_ver, cb) {\r\n var curconfig = Laya.LocalStorage.getJSON(PlayerAccount.localcofigkey);\r\n if (curconfig) {\r\n if (curconfig.ver == _ver) {\r\n console.log(\"sever配置是最新的...\", _ver);\r\n console.log(\"config接口获取成功\");\r\n cb(curconfig);\r\n }\r\n else {\r\n NetworkManager.Instance.HttpPostRequest(PROTOCOLS.Config, null, Laya.Handler.create(this, (data) => {\r\n data.configs.ver = _ver;\r\n Laya.LocalStorage.setJSON(PlayerAccount.localcofigkey, data.configs);\r\n console.log(\"sever配置更新完成...\", _ver);\r\n console.log(\"config接口获取成功\");\r\n cb(data.configs);\r\n }), Laya.Handler.create(this, (data) => {\r\n console.log(\"配置获取失败\" + data);\r\n console.log(\"config接口获取失败\");\r\n }));\r\n }\r\n }\r\n else {\r\n NetworkManager.Instance.HttpPostRequest(PROTOCOLS.Config, null, Laya.Handler.create(this, (data) => {\r\n data.configs.ver = _ver;\r\n Laya.LocalStorage.setJSON(PlayerAccount.localcofigkey, data.configs);\r\n console.log(\"sever保存配置完成...\", _ver);\r\n console.log(\"config接口获取成功\");\r\n cb(data.configs);\r\n }), Laya.Handler.create(this, (data) => {\r\n console.log(\"配置获取失败\" + data);\r\n console.log(\"config接口获取失败\");\r\n }));\r\n }\r\n }\r\n get ServerTime() {\r\n let time = Laya.timer.currTimer;\r\n let stime = PlayerAccount.ServerTime + Math.ceil((time - this.localTime) / 1000);\r\n return stime;\r\n }\r\n}\r\nPlayerAccount.localcofigkey = \"mconfig\";\r\nPlayerAccount.day_first = false;\r\nPlayerAccount.is_new = false;\r\n",
- "references": [
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Network/NetworkManager.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Util/Dictionary.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/GameManager.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Main/DataMaker.ts",
- "D:/Work/samurai2-laya/laya/samuraiflash-tt/src/Main/VerCheck.ts"
- ]
- }
|