mirror of
https://github.com/VickScarlet/lifeRestart.git
synced 2026-04-16 12:52:41 +08:00
commit870d711162Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Jan 27 16:50:19 2022 +0800 update event commitb327eb1765Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Jan 27 16:36:02 2022 +0800 update event commit4e845bc2ebAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Jan 27 16:35:56 2022 +0800 fix ui feel commitbd508913c5Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Jan 27 16:35:22 2022 +0800 update special thanks commitd097b3bc15Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Jan 27 16:04:55 2022 +0800 add unique character commit8d71b73e94Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Tue Jan 25 21:27:29 2022 +0800 fix: bug save load commit286828abe7Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Tue Jan 25 18:15:22 2022 +0800 add game mode commit0e3c885ad3Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Jan 6 20:09:20 2022 +0800 update special thanks commitb421082374Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Fri Dec 31 20:26:20 2021 +0800 update specialthanks commit765a69294bAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Tue Dec 14 19:10:03 2021 +0800 fix ios goto commit8eb8c3ca72Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Tue Dec 14 19:03:37 2021 +0800 add event grade commitab705dd46cAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Tue Dec 14 18:48:42 2021 +0800 build version commita1e4232369Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Tue Dec 14 18:47:05 2021 +0800 change talent replace before property allocate commitf4d7b3ae3cAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Tue Dec 14 18:06:18 2021 +0800 add event grade commit0567e40ddcAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Dec 2 21:28:10 2021 +0800 add particle commitf17003925eAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Dec 2 20:14:26 2021 +0800 change ui commitf8beda1d8fAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Dec 2 19:08:30 2021 +0800 change popup message ui commit915a2aa17dAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Dec 2 18:34:29 2021 +0800 new build commitb5edabc104Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Dec 2 18:18:46 2021 +0800 add hint message commita143feadafAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Dec 2 17:57:31 2021 +0800 fix copy bug commiteab1975791Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Dec 2 17:56:28 2021 +0800 add save/load commitacf9b92134Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Dec 2 14:35:33 2021 +0800 add theme switch commit488a6054abAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Wed Dec 1 18:30:36 2021 +0800 fix uiManager bug commitf0317eaf14Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Wed Dec 1 16:07:03 2021 +0800 add message popup commiteb02d1ee6fAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Sun Nov 28 21:22:54 2021 +0800 change relocation commit60503eae47Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Sun Nov 28 19:27:16 2021 +0800 change ScaleButton -> Laya.runtime.ScaleButton commit52ef5909c1Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Sun Nov 28 19:26:31 2021 +0800 change ScaleButton -> Laya.runtime.ScaleButton commit0284f6aa71Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Sun Nov 28 19:05:24 2021 +0800 config webpack commit0e272ffd99Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Sun Nov 28 13:17:41 2021 +0800 add thanks commite1e2ab4701Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Sun Nov 28 11:40:21 2021 +0800 add light theme commit4f55c00f86Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Sat Nov 27 22:27:39 2021 +0800 fix bug commit1d07bdfc46Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Sat Nov 27 21:48:47 2021 +0800 daily update commit52d6a0ca8fAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Wed Nov 24 23:10:04 2021 +0800 daily update commitf8dd720d4dAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Wed Nov 24 19:08:13 2021 +0800 daily update commitd088c1a862Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Sun Nov 21 21:41:46 2021 +0800 remove useless commita711fcf3edAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Tue Nov 16 00:53:05 2021 +0800 add achievement popup add page adaptive add talent extends commit05e02de3dbAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Sat Nov 13 01:24:04 2021 +0800 add github and discord commitbff0109cc5Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Sat Nov 13 00:30:01 2021 +0800 add trajectory auto mode commit54c04f65c2Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Fri Nov 12 19:54:31 2021 +0800 fix property judge negative number bug commit660739530bAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Fri Nov 12 19:48:58 2021 +0800 update achievement commitc94e9e7433Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Thu Nov 11 21:37:45 2021 +0800 update daily commitc06cd9ea62Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Tue Nov 9 00:08:05 2021 +0800 update daily commit2666983f89Author: Vick Scarlet <scarlet_vick@outlook.com> Date: Sun Nov 7 23:00:22 2021 +0800 add uiManager auto scan and load skin resource commit22fa5d755aAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Sun Nov 7 22:17:04 2021 +0800 update framework commitf40698d63eAuthor: Vick Scarlet <scarlet_vick@outlook.com> Date: Sun Oct 31 00:13:22 2021 +0800 add laya
121 lines
4.5 KiB
JavaScript
121 lines
4.5 KiB
JavaScript
export default class CyberTalent extends ui.view.CyberTheme.CyberTalentUI {
|
|
constructor() {
|
|
super();
|
|
this.btnDrawCard.on(Laya.Event.CLICK, this, this.onClickDrawCard);
|
|
this.btnNext.on(Laya.Event.CLICK, this, this.onClickNext);
|
|
this.listTalents.renderHandler = Laya.Handler.create(this, this.renderTalent, null, false);
|
|
this.listTalents.scrollBar.elasticDistance = 150;
|
|
this.on(Laya.Event.RESIZE, this, () => {
|
|
const renderWidth = this.listTalents?._itemRender?.props?.width;
|
|
if(renderWidth) {
|
|
const col = Math.max(Math.floor((this.width - 40) / renderWidth), 1);
|
|
this.listTalents.width = col * renderWidth + (col - 1) * (this.listTalents.spaceY || 0);
|
|
}
|
|
});
|
|
}
|
|
|
|
#selected = new Set();
|
|
static load() {
|
|
return ['images/background/background_2@3x.png'];
|
|
}
|
|
|
|
init() {
|
|
this.pageDrawCard.visible = true;
|
|
this.pageResult.visible = false;
|
|
this.btnNext.label = 'UI_Talent_Select_Uncomplete';
|
|
this.#selected.clear();
|
|
}
|
|
|
|
close() {}
|
|
|
|
onClickDrawCard() {
|
|
this.pageDrawCard.visible = false;
|
|
this.pageResult.visible = true;
|
|
this.listTalents.array = core.talentRandom();
|
|
}
|
|
|
|
onClickNext() {
|
|
if(this.#selected.size < core.talentSelectLimit) {
|
|
return $$event('message', ['F_TalentSelectNotComplect', core.talentSelectLimit]);
|
|
}
|
|
|
|
const talents = [...this.#selected].map(index => this.listTalents.array[index]);
|
|
$ui.switchView(UI.pages.PROPERTY, { talents, enableExtend: true});
|
|
}
|
|
|
|
renderTalent(box, index) {
|
|
const dataSource = box.dataSource;
|
|
|
|
const hboxTitle = box.getChildByName("hboxTitle");
|
|
const labTitle = hboxTitle.getChildByName("labTitle");
|
|
const grades = hboxTitle.getChildByName("grades");
|
|
const grade1 = grades.getChildByName("grade1");
|
|
const grade2 = grades.getChildByName("grade2");
|
|
const grade3 = grades.getChildByName("grade3");
|
|
const labDescription = box.getChildByName("labDescription");
|
|
const unselected = box.getChildByName("unselected");
|
|
const selected = box.getChildByName("selected");
|
|
|
|
|
|
switch (dataSource.grade) {
|
|
case 1:
|
|
grades.x = 0;
|
|
labTitle.x = 1;
|
|
grade1.visible = true;
|
|
grade2.visible = false;
|
|
grade3.visible = false;
|
|
break;
|
|
case 2:
|
|
grades.x = 0;
|
|
labTitle.x = 1;
|
|
grade1.visible = false;
|
|
grade2.visible = true;
|
|
grade3.visible = false;
|
|
break;
|
|
case 3:
|
|
grades.x = 0;
|
|
labTitle.x = 1;
|
|
grade1.visible = false;
|
|
grade2.visible = false;
|
|
grade3.visible = true;
|
|
break;
|
|
default:
|
|
grades.x = 1;
|
|
labTitle.x = 0;
|
|
grade1.visible = false;
|
|
grade2.visible = false;
|
|
grade3.visible = false;
|
|
break;
|
|
}
|
|
labTitle.text = dataSource.name;
|
|
labTitle.event(Laya.Event.RESIZE);
|
|
labDescription.text = dataSource.description;
|
|
unselected.visible = !( selected.visible = this.#selected.has(index) );
|
|
box.offAll(Laya.Event.CLICK);
|
|
box.on(Laya.Event.CLICK, this, () => {
|
|
if(this.#selected.has(index)) {
|
|
this.#selected.delete(index);
|
|
} else {
|
|
if(this.#selected.size >= core.talentSelectLimit) {
|
|
return $$event('message', ['F_TalentSelectLimit', core.talentSelectLimit]);
|
|
}
|
|
const exclusive = core.exclude(
|
|
[...this.#selected].map(index => this.listTalents.array[index].id),
|
|
this.listTalents.array[index].id
|
|
);
|
|
if(exclusive != null) {
|
|
for(const {name, id} of this.listTalents.array)
|
|
if(exclusive == id)
|
|
return $$event('message', ['F_TalentConflict', name]);
|
|
return;
|
|
}
|
|
this.#selected.add(index);
|
|
}
|
|
|
|
this.btnNext.label = this.#selected.size === core.talentSelectLimit
|
|
? 'UI_Next'
|
|
: 'UI_Talent_Select_Uncomplete';
|
|
unselected.visible = !( selected.visible = this.#selected.has(index) );
|
|
});
|
|
}
|
|
} |