mirror of
https://github.com/VickScarlet/lifeRestart.git
synced 2026-04-10 09:59:00 +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
136 lines
4.8 KiB
JavaScript
136 lines
4.8 KiB
JavaScript
export default class CyberCelebrity extends ui.view.CyberTheme.CelebrityUI {
|
|
constructor() {
|
|
super();
|
|
this.btnRetry.on(Laya.Event.CLICK, this, ()=>this.random());
|
|
this.btnNext.on(Laya.Event.CLICK, this, this.next);
|
|
this.panelCharacter.vScrollBar.elasticDistance = 150;
|
|
}
|
|
|
|
#selected;
|
|
static #createComponent = Laya.plugin.extractComponents(CyberCelebrity.uiView, ['boxCharacter','boxTalent','boxUniqueUnGenerate']);
|
|
#createCharacterItem(dataSource, click) {
|
|
const {name, property, talent} = dataSource;
|
|
const item = CyberCelebrity.#createComponent('boxCharacter');
|
|
const vboxStates = item.getChildByName('vboxStates');
|
|
const boxName = item.getChildByName('boxName');
|
|
boxName.getChildByName('label').text = name;
|
|
|
|
const p = $_.clone(property);
|
|
for(const k in p)
|
|
if(Math.abs(p[k] - Math.PI) < 0.0000001)
|
|
p[k] = 'π';
|
|
|
|
vboxStates.getChildByName('label').text = $_.format($lang.F_PropertyStr, p);
|
|
for(const t of talent) {
|
|
const i = CyberCelebrity.#createComponent('boxTalent');
|
|
i.getChildByName('label').text = $_.format($lang.F_TalentSelection, t);
|
|
i.y = vboxStates.height+vboxStates.space;
|
|
let g = i.getChildByName(`grade${t.grade}`);
|
|
if(g) g.visible = true;
|
|
vboxStates.addChild(i);
|
|
}
|
|
const box = new Laya.Box();
|
|
box.height = vboxStates.space;
|
|
box.y = vboxStates.height;
|
|
vboxStates.addChild(box);
|
|
vboxStates.scaleY = 0;
|
|
|
|
item.dataSource = dataSource;
|
|
item.switch = showDetails => vboxStates.scaleY = !!showDetails?1:0;
|
|
item.click = (cb, caller) => {
|
|
boxName.offAll(Laya.Event.CLICK);
|
|
boxName.on(Laya.Event.CLICK, caller || this, cb);
|
|
}
|
|
if(click) item.click(click);
|
|
return item;
|
|
}
|
|
#createUniqueUnGenerateItem(generate) {
|
|
const item = CyberCelebrity.#createComponent('boxUniqueUnGenerate');
|
|
const boxName = item.getChildByName('boxName');
|
|
const vboxStates = item.getChildByName('vboxStates');
|
|
const label = vboxStates.getChildByName('label');
|
|
const boxBtn = vboxStates.getChildByName('boxBtn');
|
|
const btn = boxBtn.getChildByName('btn');
|
|
|
|
label.event(Laya.Event.RESIZE);
|
|
vboxStates.scaleY = 0;
|
|
item.dataSource = false;
|
|
item.switch = showDetails => vboxStates.scaleY = !!showDetails?1:0;
|
|
item.click = (cb, caller) => {
|
|
boxName.offAll(Laya.Event.CLICK);
|
|
boxName.on(Laya.Event.CLICK, caller || this, cb);
|
|
}
|
|
item.generate = (cb, caller) => {
|
|
btn.offAll(Laya.Event.CLICK);
|
|
btn.on(Laya.Event.CLICK, caller || this, cb);
|
|
}
|
|
if(generate) item.generate(generate);
|
|
return item;
|
|
}
|
|
|
|
|
|
init() {
|
|
this.random();
|
|
}
|
|
|
|
close() {
|
|
this.#selected = null;
|
|
this.vboxCharacter.destroyChildren(true);
|
|
}
|
|
|
|
random(g) {
|
|
this.#selected = null;
|
|
this.vboxCharacter.destroyChildren(true);
|
|
const {unique, normal} = core.characterRandom();
|
|
const items = [];
|
|
const uniqueItem = this.generateUnique(unique, ()=>{
|
|
core.generateUnique();
|
|
this.random(normal);
|
|
|
|
});
|
|
if(uniqueItem) items.push(uniqueItem);
|
|
(g||normal).forEach(character => items.push(this.#createCharacterItem(character)));
|
|
|
|
items.forEach((item, i) => {
|
|
item.y = i;
|
|
this.vboxCharacter.addChild(item);
|
|
item.click(()=>{
|
|
if(this.#selected) this.#selected.switch(false);
|
|
this.#selected = item;
|
|
item.switch(true);
|
|
item.event(Laya.Event.RESIZE);
|
|
})
|
|
});
|
|
if(g&&uniqueItem) {
|
|
this.#selected = uniqueItem;
|
|
uniqueItem.switch(true);
|
|
uniqueItem.event(Laya.Event.RESIZE);
|
|
}
|
|
}
|
|
|
|
generateUnique(data, generate) {
|
|
if(!data) return null;
|
|
if(!data.generate) return this.#createUniqueUnGenerateItem(generate);
|
|
data.name = $lang.UI_UniqueWaTaShi;
|
|
return this.#createCharacterItem(data);
|
|
}
|
|
|
|
next() {
|
|
if(!this.#selected) return $$event('message', ['M_PleaseSelectOne']);
|
|
if(!this.#selected.dataSource) return $$event('message', ['M_UnGenerate']);
|
|
|
|
const {property: propertyAllocate, talent: talents} = this.#selected.dataSource;
|
|
const replace = core.remake(talents.map(talent => talent.id));
|
|
if(replace.length > 0) {
|
|
$$event('message', [replace.map(v => ['F_TalentReplace', v])]);
|
|
}
|
|
$ui.switchView(
|
|
UI.pages.TRAJECTORY,
|
|
{
|
|
propertyAllocate, talents,
|
|
enableExtend: false,
|
|
}
|
|
);
|
|
}
|
|
|
|
} |