import GameModel from "../ts/core/GameModel"; import {EAttrTypeL1,EAttrTypeL2} from "../ts/core/EEnum"; import SKDataUtil from "../ts/gear_2.3.4/util/SKDataUtil"; cc.Class({ extends: cc.Component, properties: { propertyNode: cc.Node, addPointNode: cc.Node, }, onLoad() { this.currentBtn = null; this.timecnt = 0; this.maxtiemcnt = 30; }, loadInfo(data){ this.resetBtnStatus(); this.loadGameData(data); }, loadGameData(data) { this.attr1 = {}; this.addpoint = {}; this.qianneng = 0; this.schemeId = 0; this.schemeId = data.schemeId; this.activate = data.activate; this.addpoint = data.content.attribute.addPoint; this.addpointT = SKDataUtil.clone(this.addpoint); this.attr1 = GameModel.player.gameData.attr1; this.qianneng = data.content.attribute.qianNeng; this.qiannengT = this.qianneng; this.showInfo(); }, showInfo() { cc.find('blood/gengu', this.propertyNode).getComponent(cc.Label).string = Number(GameModel.player.gameData.level) + Number(this.addpoint[EAttrTypeL2.BONE]);// + Number(this.addpoint[EAttrTypeL2.BONE])); cc.find('blood/genguadd', this.propertyNode).getComponent(cc.Label).string = '(' + (Number(GameModel.player.gameData.level)) + '+' + this.addpoint[EAttrTypeL2.BONE] + ')';// + Number(this.addpoint[EAttrTypeL2.BONE])) + '+0)'; cc.find('skill/lingxing', this.propertyNode).getComponent(cc.Label).string = Number(GameModel.player.gameData.level) + Number(this.addpoint[EAttrTypeL2.SPIRIT]);// + Number(this.addpoint[EAttrTypeL2.SPIRIT])); cc.find('skill/lingxingadd', this.propertyNode).getComponent(cc.Label).string = '(' + (Number(GameModel.player.gameData.level)) + '+' + this.addpoint[EAttrTypeL2.SPIRIT] + ')';// + Number(this.addpoint[EAttrTypeL2.SPIRIT])) + '+0)'; cc.find('attack/liliang', this.propertyNode).getComponent(cc.Label).string = Number(GameModel.player.gameData.level) + Number(this.addpoint[EAttrTypeL2.STRENGTH]);// + Number(this.addpoint[EAttrTypeL2.STRENGTH])); cc.find('attack/liliangadd', this.propertyNode).getComponent(cc.Label).string = '(' + (Number(GameModel.player.gameData.level)) + '+' + this.addpoint[EAttrTypeL2.STRENGTH] + ')';// + Number(this.addpoint[EAttrTypeL2.STRENGTH])) + '+0)'; cc.find('speed/minjie', this.propertyNode).getComponent(cc.Label).string = Number(GameModel.player.gameData.level) + Number(this.addpoint[EAttrTypeL2.DEXTERITY]);// + Number(this.addpoint[EAttrTypeL2.DEXTERITY])); cc.find('speed/minjieadd', this.propertyNode).getComponent(cc.Label).string = '(' + (Number(GameModel.player.gameData.level)) + '+' + this.addpoint[EAttrTypeL2.DEXTERITY] + ')';// + Number(this.addpoint[EAttrTypeL2.DEXTERITY])) + '+0)'; cc.find('qianneng/qianneng', this.propertyNode).getComponent(cc.Label).string = this.qianneng; cc.find('QixueNode/point/point', this.addPointNode).getComponent(cc.Label).string = this.addpoint[EAttrTypeL2.BONE]; cc.find('FaliNode/point/point', this.addPointNode).getComponent(cc.Label).string = this.addpoint[EAttrTypeL2.SPIRIT]; cc.find('GongjiNode/point/point', this.addPointNode).getComponent(cc.Label).string = this.addpoint[EAttrTypeL2.STRENGTH]; cc.find('SuduNode/point/point', this.addPointNode).getComponent(cc.Label).string = this.addpoint[EAttrTypeL2.DEXTERITY]; cc.find('qianNeng/qianneng', this.addPointNode).getComponent(cc.Label).string = this.qianneng; this.initBtn(cc.find('FaliNode/point/addBtn', this.addPointNode), 101, 0); this.initBtn(cc.find('FaliNode/point/subBtn', this.addPointNode), 101, 1); this.initBtn(cc.find('GongjiNode/point/addBtn', this.addPointNode), 102, 0); this.initBtn(cc.find('GongjiNode/point/subBtn', this.addPointNode), 102, 1); this.initBtn(cc.find('QixueNode/point/addBtn', this.addPointNode), 100, 0); this.initBtn(cc.find('QixueNode/point/subBtn', this.addPointNode), 100, 1); this.initBtn(cc.find('SuduNode/point/addBtn', this.addPointNode), 103, 0); this.initBtn(cc.find('SuduNode/point/subBtn', this.addPointNode), 103, 1); this.initPropertBtn(); }, initBtn(btn, data, type) { btn.datainfo = data; btn.opertype = type; btn.on(cc.Node.EventType.TOUCH_START, this.propertyBtnClick.bind(this)); btn.on(cc.Node.EventType.TOUCH_CANCEL, this.propertyBtnClick.bind(this)); btn.on(cc.Node.EventType.TOUCH_END, this.propertyBtnClick.bind(this)); }, propertyBtnClick(e) { if (e.type == cc.Node.EventType.TOUCH_START) { this.maxtiemcnt = 30; this.timecnt = 0; this.currentBtn = e.target; } else if (e.type == cc.Node.EventType.TOUCH_END || e.type == cc.Node.EventType.TOUCH_CANCEL) { this.timecnt = this.maxtiemcnt; this.update(); this.currentBtn = null; } }, update() { if (this.currentBtn == null) { return; } this.timecnt++; if (this.timecnt >= this.maxtiemcnt) { if (this.maxtiemcnt > 4) { this.maxtiemcnt -= 2; } this.timecnt = 0; if (this.currentBtn.opertype == 0) { this.propertyAddPoint(this.currentBtn.datainfo); } else if (this.currentBtn.opertype == 1) { this.propertySubPoint(this.currentBtn.datainfo); } } }, onClickedBtnAddPoint(e, d) { this.propertyNode.active = false; this.addPointNode.active = true; }, onClickedBtnBack(e, d) { this.propertyNode.active = true; this.addPointNode.active = false; this.addpoint = SKDataUtil.clone(this.addpointT); this.qianneng = this.qiannengT; this.showInfo(); }, propertyAddPoint(d) { if (this.qianneng <= 0) { this.currentBtn = null; return; } this.addpoint[d]++; this.qianneng--; this.showInfo(); }, initPropertBtn() { this.setPropertBtnInfo('QixueNode', EAttrTypeL1.BONE); this.setPropertBtnInfo('FaliNode', EAttrTypeL1.SPIRIT); this.setPropertBtnInfo('GongjiNode', EAttrTypeL1.STRENGTH); this.setPropertBtnInfo('SuduNode', EAttrTypeL1.DEXTERITY); }, setPropertBtnInfo(name, type) { if (this.qianneng <= 0) { cc.find(`${name}/point/addBtn`, this.addPointNode).active = false; } else { cc.find(`${name}/point/addBtn`, this.addPointNode).active = true; } if (this.addpoint[type] > 0) { cc.find(`${name}/point/subBtn`, this.addPointNode).active = true; } else { cc.find(`${name}/point/subBtn`, this.addPointNode).active = false; } }, resetBtnStatus(){ this.propertyNode.active = true; this.addPointNode.active = false; }, propertySubPoint(d) { if (this.addpoint[d] <= 0) { this.currentBtn = null; return; } this.addpoint[d]--; this.qianneng++; this.showInfo(); }, porpertySure(e, d) { GameModel.send('c2s_scheme_addCustomPoint', { roleId: GameModel.player.roleid, addPoint: JSON.stringify(this.addpoint), qianNeng: this.qianneng, schemeId: this.schemeId }); this.propertyNode.active = true; this.addPointNode.active = false; }, });