mirror of
https://github.com/VickScarlet/lifeRestart.git
synced 2026-04-18 18:58:06 +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
180 lines
5.3 KiB
JavaScript
180 lines
5.3 KiB
JavaScript
import './ui/laya.patch.js';
|
|
import './ui/runtime.js';
|
|
import './ui/pluginFunction.js'
|
|
import './ui/promisesLaya.js'
|
|
import './ui/layaUI.max.all.js';
|
|
import UIManager from './ui/uiManager.js';
|
|
import * as utils from './functions/util.js';
|
|
|
|
globalThis.UIManager =
|
|
globalThis.UI =
|
|
UIManager;
|
|
|
|
globalThis.$_ = utils;
|
|
|
|
globalThis.goto = async tag => {
|
|
let url;
|
|
switch(tag) {
|
|
case 'github': url = 'https://github.com/VickScarlet/lifeRestart'; break;
|
|
case 'discord': url = 'https://discord.gg/U3qrf49NMQ'; break;
|
|
case 'sponsor_afd': url = 'https://afdian.net/@LifeRestart'; break;
|
|
case 'sponsor_ddf': url = 'https://dun.mianbaoduo.com/@vickscarlet'; break;
|
|
}
|
|
try {
|
|
if(Laya.Browser.onIOS) {
|
|
window.location.href = url;
|
|
} else {
|
|
window.open(url, '_blank');
|
|
}
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
}
|
|
class App{
|
|
constructor(){
|
|
this.name = 'lifeRestart';
|
|
this.version = '2.0.0';
|
|
console.log(`${this.name} ${this.version}`);
|
|
}
|
|
|
|
#language;
|
|
static languages = {
|
|
'zh-cn': 'zh-cn',
|
|
'en-us': 'en-us',
|
|
};
|
|
|
|
#initLaya() {
|
|
/**
|
|
*...特殊的字符,如泰文,必须重新实现这个类
|
|
*/
|
|
//class laya.webgl.text.CharSegment
|
|
class CharSegment {
|
|
constructor() {
|
|
this._sourceStr=null;
|
|
}
|
|
textToSpit(str) {
|
|
this._sourceStr=str;
|
|
var texLen = str.length;
|
|
var idx = -1;
|
|
this._words = [];
|
|
while (++idx < texLen) {
|
|
var character = str.charAt(idx);
|
|
var code = str.charCodeAt(idx);
|
|
if (code >= 0xD800 && code <= 0xDBFF) {
|
|
this._words.push(character + str.charAt(++idx));
|
|
} else {
|
|
this._words.push(character);
|
|
}
|
|
}
|
|
}
|
|
getChar(i){
|
|
return this._words;
|
|
}
|
|
getCharCode(i){
|
|
return this._words[i].codePointAt(0);
|
|
}
|
|
length(){
|
|
return this._words.length;
|
|
}
|
|
}
|
|
Laya.class(CharSegment,'laya.webgl.text.CharSegment');
|
|
Laya.imps(CharSegment.prototype,{"laya.webgl.text.ICharSegment":true})
|
|
|
|
|
|
// Laya.init(1125, 2436, Laya.WebGL);
|
|
Laya.Config.isAntialias = true;
|
|
Laya.init(...this.#fitScreen, Laya.WebGL);
|
|
|
|
Laya.stage.alignV = Laya.Stage.ALIGN_MIDDLE;
|
|
Laya.stage.alignH = Laya.Stage.ALIGN_CENTER;
|
|
|
|
Laya.stage.scaleMode = "showall";
|
|
Laya.stage.bgColor = "#000000";
|
|
window.onresize = () => Laya.stage.size(...this.#fitScreen);
|
|
}
|
|
|
|
get #fitScreen() {
|
|
const designWidth = 1125;
|
|
const designHeight = 2436;
|
|
const maxWidth = designHeight * 3 / 4;
|
|
const maxHeight = designWidth * 24 / 9;
|
|
const designRatio = designWidth / designHeight;
|
|
|
|
const screenWidth = window.innerWidth;
|
|
const screenHeight = window.innerHeight;
|
|
const screenRatio = screenWidth / screenHeight;
|
|
if(screenRatio > designRatio) {
|
|
return [
|
|
Math.min(screenWidth*designHeight/screenHeight, maxWidth),
|
|
designHeight
|
|
]
|
|
} else {
|
|
return [
|
|
designWidth,
|
|
Math.min(screenHeight*designWidth/screenWidth, maxHeight)
|
|
]
|
|
}
|
|
}
|
|
|
|
async setLanguage(language) {
|
|
return this.#setLanguage(language);
|
|
}
|
|
|
|
async #setLanguage(language) {
|
|
switch(language) {
|
|
case App.languages['en-us']:
|
|
case App.languages['zh-cn']:
|
|
this.#language = language;
|
|
break;
|
|
default:
|
|
this.#language = App.languages['zh-cn'];
|
|
break;
|
|
}
|
|
globalThis.$lang =
|
|
Laya.Text.langPacks =
|
|
(await import(`./i18n/${this.#language}.js`)).default;
|
|
}
|
|
|
|
resigterEvent() {
|
|
$$on('achievement', achievement => {
|
|
$ui.popup(UI.popups.ACHIEVEMENT, {achievement});
|
|
})
|
|
$$on('message', ([message, ...args]) => {
|
|
if(Array.isArray(message)) {
|
|
message = message.map(([m, ...a]) => $_.format($lang[m], ...a)) .join('\n');
|
|
} else {
|
|
message = $_.format(
|
|
$lang[message], ...args
|
|
);
|
|
}
|
|
$ui.popup(UI.popups.MESSAGE, {message});
|
|
})
|
|
}
|
|
|
|
async start({
|
|
language = App.languages['zh-cn'],
|
|
theme = 'default',
|
|
}) {
|
|
this.resigterEvent();
|
|
this.#initLaya();
|
|
globalThis.$ui = UIManager.getInstance();
|
|
|
|
if(theme=='default') {
|
|
theme = localStorage.getItem('theme') || 'default';
|
|
}
|
|
|
|
$ui.theme = theme;
|
|
await this.#setLanguage(language);
|
|
await $ui.setLoading(UI.pages.LOADING);
|
|
await $ui.switchView(UI.pages.LOADING);
|
|
await core.initial(
|
|
dataSet=>Laya.promises.loader.load(`data/${this.#language}/${dataSet}.json`, null, Laya.Loader.JSON),
|
|
dataSet=>Laya.promises.loader.load(`data/${dataSet}.json`, null, Laya.Loader.JSON),
|
|
);
|
|
await $ui.switchView(UI.pages.MAIN);
|
|
|
|
}
|
|
}
|
|
|
|
export default App;
|