import { _decorator, Component, Node, Label } from 'cc'; import { DataSystem } from '../core/data/DataSystem'; import { WindowSystem } from '../core/ui/window/WindowSystem'; import { ConfigData } from '../data/ConfigData'; import { UserData } from '../data/UserData'; const { ccclass, property } = _decorator; /**兵营升级 */ @ccclass('BarracksGradeUp') export class BarracksGradeUp extends Component { @property({ type: Label, tooltip: "当前兵营等级文本" }) nowLvLabel: Label; @property({ type: Label, tooltip: "当前等级文本" }) lvLabel: Label; @property({ type: Label, tooltip: "下一级文本" }) nextLvLabel: Label; @property({ type: Label, tooltip: "下一次解锁新武将等级" }) nextUnLockGeneralLv: Label; @property({ type: Label, tooltip: "解锁新武将数量" }) numLabel: Label; @property({ type: Node, tooltip: "解锁新武将信息节点" }) unLockInfoNode: Node; @property({ type: Node, tooltip: "没有可以解锁节点" }) finishedNode: Node; private barrackConfig: any; private unLockGeneralLv: number = 0; onLoad() { this.barrackConfig = DataSystem.getData(ConfigData).get('barrack'); let userData = DataSystem.getData(UserData); this.nowLvLabel.string = 'Lv.' + userData.campLv; this.lvLabel.string = 'Lv.' + (userData.campLv - 1); this.nextLvLabel.string = `Lv.${userData.campLv}`; } private openHandler() { let userData = DataSystem.getData(UserData); if (this.unLockGeneralLv <= userData.campLv) { let generalsStr = this.getUnLockGeneralLv(); if (generalsStr) { let arr = generalsStr.split(","); this.nextUnLockGeneralLv.string = `Lv.${this.unLockGeneralLv}`; this.numLabel.string = arr.length + '名'; this.unLockInfoNode.active = true; } else { this.finishedNode.active = true; } } } private getUnLockGeneralLv() { let lv = DataSystem.getData(UserData).campLv; for (const key in this.barrackConfig) { if (Number(key) > lv) { if (this.barrackConfig[key].unlockHero) { this.unLockGeneralLv = Number(key); return this.barrackConfig[key].unlockHero; } } } return ''; } }