var t = require; var e = module; var i = exports; Object.defineProperty(i, "__esModule", {value: !0}); const u = t("App"), p = t("CostumeController"), s = t("ItemBase"); i.default = class extends s.ItemBase { constructor() { super(...arguments), (this.saveData = null), (this.query = null), (this.tempCostume = null); } setConfData(t) { super.setConfData(t), (this.query = this.parseRule(t.costume.rule)); } getRuleByKey(t) { for (const e of this.data.specialCostume) if (e.key == t) return e; } getTempCostume() { var t, e, i; return ( this.tempCostume || ((i = this.data.costume.costumeId.split("_")), (t = parseInt(i[0])), (e = i[1] ? parseInt(i[1]) : 1), (i = i[2] ? parseInt(i[2]) : 1), (this.tempCostume = p.default.ins.getTempCostume(t, e, i))), this.tempCostume ); } parseRule(e) { const i = [], s = e.split("|"); var o = s.length; for (let t = 0; t < o; t++) { const e = s[t].split("_"); i.push({weight: parseInt(e[1]), grade: parseInt(e[0])}); } return i; } use(s = 1) { let o = []; const a = p.default.ins; t: for (let t = 0; t < s; t++) { let t = this.query, e = this.data.costume; var n = this.data.specialCostume; if (n && n.length) { var r = n.length; for (let t = 0; t < r; t++) { const s = n[t]; var l = this.saveData.specialData[s.key]; if ( (isNaN(l) ? (this.saveData.specialData[s.key] = 1) : ++this.saveData.specialData[s.key]) >= s.cnt ) { this.saveData.specialData[s.key] = 0; (l = Object.values(p.default.ins.getModel().costumeCfg)), (l = u.default.RandomUtils.randomArray(l)); o.push(a.createNewCostume(l.idx, s.grade, 1, !1)); continue t; } } } let i = null; if (e.costumeId) { const s = e.costumeId.split("_"), u = parseInt(s[0]), p = s[1] ? parseInt(s[1]) : 1, d = s[2] ? parseInt(s[2]) : 1; (i = a.createNewCostume(u, p, d, !1)), o.push(i); } else if (this.data.suitcaseUpgrade) { const s = this.getGradeByUseCnt(); Log.trace("suitcaseUpgrade:", s); var h = Object.values(p.default.ins.getModel().costumeCfg), c = u.default.RandomUtils.randomArray(h); (i = a.createNewCostume(c.idx, s.grade, 1, !1)), o.push(i); } else { h = u.default.RandomUtils.randomArrayByWeight(t); Log.trace("query:", t); (c = Object.values(p.default.ins.getModel().costumeCfg)), (c = u.default.RandomUtils.randomArray(c)); (i = a.createNewCostume(c.idx, h.grade, 1, !1)), o.push(i); } if (n && n.length) for (const o of n) i.data.grade >= o.grade && this.saveData.specialData[o.key] && (this.saveData.specialData[o.key] = 0); this.saveData.useCnt++; } return a.checkRedpoint(), o; } getSpecialRuleCnt(t) { t = this.saveData.specialData[t]; return isNaN(t) ? 0 : t; } setMemento(t) { t ? ((this.saveData = t), (this.cnt = t.cnt)) : ((this.cnt = 0), (this.saveData = {cnt: 0, useCnt: 0, specialData: {}})); } createMemento() { return (this.saveData.cnt = this.cnt), this.saveData; } getCnt() { return 1; } getUseCnt() { return isNaN(this.saveData.useCnt) && (this.saveData.useCnt = 0), this.saveData.useCnt; } getGradeByUseCnt() { var t = this.getCurSuitcaseUpgradeCfg(), t = [ {weight: t.grade_1, grade: 1}, {weight: t.grade_2, grade: 2} ]; return u.default.RandomUtils.randomArrayByWeight(t); } getCurSuitcaseUpgradeCfg() { var e = this.data.suitcaseUpgrade; let i = this.data.suitcaseUpgrade.length, s = e[0]; for (let t = 1; t < i; t++) if (this.saveData.useCnt < e[t].upgrade_count) { s = -1 === e[t].upgrade_count ? e[t] : e[t - 1]; break; } return s; } getNextSuitcaseUpgradeCfg() { var t = this.getCurSuitcaseUpgradeCfg(); return -1 === t.upgrade_count ? null : this.data.suitcaseUpgrade[t.level]; } };