mirror of
https://github.com/VickScarlet/lifeRestart.git
synced 2026-03-24 13:33:26 +08:00
77 lines
2.8 KiB
JavaScript
77 lines
2.8 KiB
JavaScript
export default class Summary extends ui.view.DefaultTheme.SummaryUI {
|
|
constructor() {
|
|
super();
|
|
this.listSummary.renderHandler = Laya.Handler.create(this, this.renderSummary, null, false);
|
|
this.listSelectedTalents.renderHandler = Laya.Handler.create(this, this.renderTalent, null, false);
|
|
this.btnAgain.on(Laya.Event.CLICK, this, this.onAgain);
|
|
}
|
|
|
|
#selectedTalent;
|
|
#enableExtend;
|
|
|
|
onAgain() {
|
|
core.talentExtend(this.#selectedTalent);
|
|
core.times ++;
|
|
$ui.switchView(UI.pages.MAIN);
|
|
}
|
|
|
|
init({talents, enableExtend}) {
|
|
const {summary, lastExtendTalent} = core;
|
|
this.#enableExtend = enableExtend;
|
|
|
|
this.listSummary.array = [
|
|
[core.PropertyTypes.HCHR, $lang.UI_Property_Charm],
|
|
[core.PropertyTypes.HINT, $lang.UI_Property_Intelligence],
|
|
[core.PropertyTypes.HSTR, $lang.UI_Property_Strength],
|
|
[core.PropertyTypes.HMNY, $lang.UI_Property_Money],
|
|
[core.PropertyTypes.HSPR, $lang.UI_Property_Spirit],
|
|
[core.PropertyTypes.HAGE, $lang.UI_Final_Age],
|
|
[core.PropertyTypes.SUM, $lang.UI_Total_Judge],
|
|
].map(([type, key]) => {
|
|
const data = summary[type];
|
|
return {
|
|
label: `${key}${$lang.UI_Colon} ${data.value} ${$lang[data.judge]}`,
|
|
grade: data.grade,
|
|
}
|
|
});
|
|
|
|
talents.sort(({id:a, grade:ag}, {id:b, grade:bg},)=>{
|
|
if(a == lastExtendTalent) return -1;
|
|
if(b == lastExtendTalent) return 1;
|
|
return bg - ag;
|
|
});
|
|
if(this.#enableExtend) {
|
|
this.#selectedTalent = talents[0].id;
|
|
} else {
|
|
this.#selectedTalent = lastExtendTalent;
|
|
}
|
|
this.listSelectedTalents.array = talents;
|
|
}
|
|
renderSummary(box) {
|
|
const {label, grade} = box.dataSource;
|
|
box.label = label;
|
|
$_.deepMapSet(box, $ui.common.summary[grade]);
|
|
}
|
|
renderTalent(box) {
|
|
const dataSource = box.dataSource;
|
|
box.label = $_.format($lang.F_TalentSelection, dataSource);
|
|
const style = $ui.common.card[dataSource.grade];
|
|
$_.deepMapSet(box, dataSource.id == this.#selectedTalent? style.selected: style.normal);
|
|
box.getChildByName('blank').pause = dataSource.id != this.#selectedTalent;
|
|
box.off(Laya.Event.CLICK, this, this.onSelectTalent);
|
|
box.on(Laya.Event.CLICK, this, this.onSelectTalent, [dataSource.id]);
|
|
}
|
|
|
|
onSelectTalent(talentId) {
|
|
if(!this.#enableExtend) {
|
|
return $$event('message', ['M_DisableExtendTalent']);
|
|
}
|
|
if(talentId == this.#selectedTalent) {
|
|
this.#selectedTalent = null;
|
|
} else {
|
|
this.#selectedTalent = talentId;
|
|
}
|
|
|
|
this.listSelectedTalents.refresh();
|
|
}
|
|
} |