mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-06-28 05:07:59 +08:00
refactor: 处理循环引用
This commit is contained in:
parent
84d93422f7
commit
1522173be3
@ -2,8 +2,6 @@ import { KeyCode } from '@motajs/client-base';
|
|||||||
import { gameKey, HotkeyJSON } from '@motajs/system-action';
|
import { gameKey, HotkeyJSON } from '@motajs/system-action';
|
||||||
import { hovered, mainUi, tip, openDanmakuPoster } from '@motajs/legacy-ui';
|
import { hovered, mainUi, tip, openDanmakuPoster } from '@motajs/legacy-ui';
|
||||||
import { GameStorage } from '@motajs/legacy-system';
|
import { GameStorage } from '@motajs/legacy-system';
|
||||||
import { openStatistics } from '../render/ui/statistics';
|
|
||||||
import { MAIN_HEIGHT, MAIN_WIDTH, mainUIController, saveSave } from '../render';
|
|
||||||
|
|
||||||
export const mainScope = Symbol.for('@key_main');
|
export const mainScope = Symbol.for('@key_main');
|
||||||
|
|
||||||
@ -487,9 +485,6 @@ gameKey
|
|||||||
.realize('book', () => {
|
.realize('book', () => {
|
||||||
core.openBook(true);
|
core.openBook(true);
|
||||||
})
|
})
|
||||||
.realize('save', () => {
|
|
||||||
saveSave(mainUIController, [0, 0, MAIN_WIDTH, MAIN_HEIGHT]);
|
|
||||||
})
|
|
||||||
.realize('load', () => {
|
.realize('load', () => {
|
||||||
core.load(true);
|
core.load(true);
|
||||||
})
|
})
|
||||||
@ -511,9 +506,6 @@ gameKey
|
|||||||
.realize('shop', () => {
|
.realize('shop', () => {
|
||||||
core.openQuickShop(true);
|
core.openQuickShop(true);
|
||||||
})
|
})
|
||||||
.realize('statistics', () => {
|
|
||||||
openStatistics(mainUIController);
|
|
||||||
})
|
|
||||||
.realize('viewMap', () => {
|
.realize('viewMap', () => {
|
||||||
core.ui._drawViewMaps();
|
core.ui._drawViewMaps();
|
||||||
})
|
})
|
||||||
|
@ -17,5 +17,4 @@ export * from './audio';
|
|||||||
export * from './fallback';
|
export * from './fallback';
|
||||||
export * from './loader';
|
export * from './loader';
|
||||||
export * from './render';
|
export * from './render';
|
||||||
export * from './utils';
|
|
||||||
export * from './weather';
|
export * from './weather';
|
||||||
|
13
packages-user/client-modules/src/render/action.ts
Normal file
13
packages-user/client-modules/src/render/action.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import { gameKey } from '@motajs/system-action';
|
||||||
|
import { MAIN_WIDTH, MAIN_HEIGHT } from './shared';
|
||||||
|
import { saveSave, mainUIController, openStatistics } from './ui';
|
||||||
|
|
||||||
|
export function createAction() {
|
||||||
|
gameKey
|
||||||
|
.realize('save', () => {
|
||||||
|
saveSave(mainUIController, [0, 0, MAIN_WIDTH, MAIN_HEIGHT]);
|
||||||
|
})
|
||||||
|
.realize('statistics', () => {
|
||||||
|
openStatistics(mainUIController);
|
||||||
|
});
|
||||||
|
}
|
@ -5,12 +5,14 @@ import { createLayer, Layer, LayerGroup } from './layer';
|
|||||||
import { createViewport } from './viewport';
|
import { createViewport } from './viewport';
|
||||||
import { Icon, Winskin } from './misc';
|
import { Icon, Winskin } from './misc';
|
||||||
import { Animate } from './animate';
|
import { Animate } from './animate';
|
||||||
|
import { createItemDetail } from './itemDetail';
|
||||||
|
|
||||||
export function createElements() {
|
export function createElements() {
|
||||||
createCache();
|
createCache();
|
||||||
createFrame();
|
createFrame();
|
||||||
createLayer();
|
createLayer();
|
||||||
createViewport();
|
createViewport();
|
||||||
|
createItemDetail();
|
||||||
|
|
||||||
// ----- 注册标签
|
// ----- 注册标签
|
||||||
|
|
||||||
|
@ -3,7 +3,11 @@ import { mainSetting } from '@motajs/legacy-ui';
|
|||||||
import { hook } from '@user/data-base';
|
import { hook } from '@user/data-base';
|
||||||
import { ItemState } from '@user/data-state';
|
import { ItemState } from '@user/data-state';
|
||||||
import { Damage, DamageRenderable, FloorDamageExtends } from './damage';
|
import { Damage, DamageRenderable, FloorDamageExtends } from './damage';
|
||||||
import { ILayerGroupRenderExtends, LayerGroup, LayerGroupFloorBinder } from '.';
|
import {
|
||||||
|
ILayerGroupRenderExtends,
|
||||||
|
LayerGroup,
|
||||||
|
LayerGroupFloorBinder
|
||||||
|
} from './layer';
|
||||||
|
|
||||||
interface ItemDetailData {
|
interface ItemDetailData {
|
||||||
x: number;
|
x: number;
|
||||||
|
@ -4,12 +4,12 @@ import { UIController } from '@motajs/system-ui';
|
|||||||
import { mainSceneUI } from './ui/main';
|
import { mainSceneUI } from './ui/main';
|
||||||
import { MAIN_HEIGHT, MAIN_WIDTH } from './shared';
|
import { MAIN_HEIGHT, MAIN_WIDTH } from './shared';
|
||||||
import { hook } from '@user/data-base';
|
import { hook } from '@user/data-base';
|
||||||
import { createItemDetail } from './elements/itemDetail';
|
|
||||||
import { createLoopMap } from './loopMap';
|
import { createLoopMap } from './loopMap';
|
||||||
import { createGameCanvas } from './legacy/gameCanvas';
|
|
||||||
import { createElements } from './elements';
|
import { createElements } from './elements';
|
||||||
import { mainRenderer } from './renderer';
|
import { mainRenderer } from './renderer';
|
||||||
import { createUI } from './ui';
|
import { createUI } from './ui';
|
||||||
|
import { createAction } from './action';
|
||||||
|
import { createLegacy } from './legacy';
|
||||||
|
|
||||||
export function createGameRenderer() {
|
export function createGameRenderer() {
|
||||||
const App = defineComponent(_props => {
|
const App = defineComponent(_props => {
|
||||||
@ -38,16 +38,17 @@ export function createGameRenderer() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function createRender() {
|
export function createRender() {
|
||||||
createUI();
|
|
||||||
createGameCanvas();
|
|
||||||
createItemDetail();
|
|
||||||
createLoopMap();
|
|
||||||
createElements();
|
createElements();
|
||||||
|
createLegacy();
|
||||||
|
createUI();
|
||||||
|
createAction();
|
||||||
|
createLoopMap();
|
||||||
}
|
}
|
||||||
|
|
||||||
export * from './components';
|
export * from './components';
|
||||||
export * from './elements';
|
export * from './elements';
|
||||||
export * from './ui';
|
export * from './ui';
|
||||||
|
export * from './utils';
|
||||||
export * from './renderer';
|
export * from './renderer';
|
||||||
export * from './shared';
|
export * from './shared';
|
||||||
export * from './use';
|
export * from './use';
|
||||||
|
7
packages-user/client-modules/src/render/legacy/index.ts
Normal file
7
packages-user/client-modules/src/render/legacy/index.ts
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import { createGameCanvas } from './gameCanvas';
|
||||||
|
import { createShadow } from './shadow';
|
||||||
|
|
||||||
|
export function createLegacy() {
|
||||||
|
createGameCanvas();
|
||||||
|
createShadow();
|
||||||
|
}
|
@ -1,8 +1,12 @@
|
|||||||
import { mat4 } from 'gl-matrix';
|
import { mat4 } from 'gl-matrix';
|
||||||
import { logger } from '@motajs/common';
|
import { logger } from '@motajs/common';
|
||||||
import { WebGLColorArray, createProgram, isWebGL2Supported } from './webgl';
|
import {
|
||||||
|
WebGLColorArray,
|
||||||
|
createProgram,
|
||||||
|
isWebGL2Supported
|
||||||
|
} from '@motajs/legacy-ui';
|
||||||
import { Sprite } from '@motajs/render';
|
import { Sprite } from '@motajs/render';
|
||||||
import { ILayerRenderExtends, Layer, HeroRenderer } from '@user/client-modules';
|
import { ILayerRenderExtends, Layer, HeroRenderer } from '../elements';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 最大光源数量,必须设置,且光源数不能超过这个值,这个值决定了会预留多少的缓冲区,因此最好尽可能小,同时游戏过程中不可修改
|
* 最大光源数量,必须设置,且光源数不能超过这个值,这个值决定了会预留多少的缓冲区,因此最好尽可能小,同时游戏过程中不可修改
|
@ -1,4 +1,4 @@
|
|||||||
import { LayerShadowExtends } from '@motajs/legacy-ui';
|
import { LayerShadowExtends } from '../legacy/shadow';
|
||||||
import { Props, Font } from '@motajs/render';
|
import { Props, Font } from '@motajs/render';
|
||||||
import { WeatherController } from '../../weather';
|
import { WeatherController } from '../../weather';
|
||||||
import { defineComponent, onMounted, reactive, ref } from 'vue';
|
import { defineComponent, onMounted, reactive, ref } from 'vue';
|
||||||
|
@ -358,6 +358,7 @@ export async function saveSave(
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
const index = await selectSave(controller, loc, validate, props);
|
const index = await selectSave(controller, loc, validate, props);
|
||||||
|
if (index === -2) return;
|
||||||
core.doSL(index, 'save');
|
core.doSL(index, 'save');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -370,5 +371,10 @@ export async function saveLoad(
|
|||||||
return { message: '无效的存档!', valid: exist };
|
return { message: '无效的存档!', valid: exist };
|
||||||
};
|
};
|
||||||
const index = await selectSave(controller, loc, validate, props);
|
const index = await selectSave(controller, loc, validate, props);
|
||||||
core.doSL(index, 'load');
|
if (index === -2) return;
|
||||||
|
if (index === -1) {
|
||||||
|
core.doSL('autosave', 'load');
|
||||||
|
} else {
|
||||||
|
core.doSL(index, 'load');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ import { mainUi } from '@motajs/legacy-ui';
|
|||||||
import { gameKey } from '@motajs/system-action';
|
import { gameKey } from '@motajs/system-action';
|
||||||
import { generateKeyboardEvent } from '@motajs/system-action';
|
import { generateKeyboardEvent } from '@motajs/system-action';
|
||||||
import { getVitualKeyOnce } from '@motajs/legacy-ui';
|
import { getVitualKeyOnce } from '@motajs/legacy-ui';
|
||||||
import { getAllSavesData, getSaveData, syncFromServer } from '../../utils';
|
import { getAllSavesData, getSaveData, syncFromServer } from '../utils';
|
||||||
import { getInput } from '../components/input';
|
import { getInput } from '../components/input';
|
||||||
import { openStatistics } from './statistics';
|
import { openStatistics } from './statistics';
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ import { Progress } from '../components/misc';
|
|||||||
import { generateBinary } from '@motajs/legacy-common';
|
import { generateBinary } from '@motajs/legacy-common';
|
||||||
import { SetupComponentOptions } from '@motajs/system-ui';
|
import { SetupComponentOptions } from '@motajs/system-ui';
|
||||||
import { saveSave } from './save';
|
import { saveSave } from './save';
|
||||||
import { mainUIController } from '@user/client-modules';
|
import { mainUIController } from './controller';
|
||||||
import { MAIN_WIDTH, MAIN_HEIGHT } from '../shared';
|
import { MAIN_WIDTH, MAIN_HEIGHT } from '../shared';
|
||||||
|
|
||||||
interface ToolbarProps extends DefaultProps {
|
interface ToolbarProps extends DefaultProps {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { compressToBase64, decompressFromBase64 } from 'lz-string';
|
import { compressToBase64, decompressFromBase64 } from 'lz-string';
|
||||||
import { getConfirm, waitbox } from '../render';
|
import { getConfirm, waitbox } from '../components';
|
||||||
import { IUIMountable } from '@motajs/system-ui';
|
import { IUIMountable } from '@motajs/system-ui';
|
||||||
import { SyncSaveFromServerResponse } from '@motajs/client-base';
|
import { SyncSaveFromServerResponse } from '@motajs/client-base';
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
import { onUnmounted } from 'vue';
|
import { onUnmounted } from 'vue';
|
||||||
import { WeatherController } from '../weather';
|
import { WeatherController } from '../../weather';
|
||||||
|
|
||||||
let weatherId = 0;
|
let weatherId = 0;
|
||||||
|
|
@ -1,8 +1 @@
|
|||||||
import { createShadow } from './shadow';
|
|
||||||
|
|
||||||
export function createFx() {
|
|
||||||
createShadow();
|
|
||||||
}
|
|
||||||
|
|
||||||
export * from './shadow';
|
|
||||||
export * from './webgl';
|
export * from './webgl';
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import { createFx } from './fx';
|
|
||||||
import { createPreset } from './preset';
|
import { createPreset } from './preset';
|
||||||
|
|
||||||
export function create() {
|
export function create() {
|
||||||
createFx();
|
|
||||||
createPreset();
|
createPreset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user