mirror of
https://github.com/motajs/template.git
synced 2026-05-02 12:23:13 +08:00
54 lines
1.6 KiB
TypeScript
54 lines
1.6 KiB
TypeScript
import { FaceDirection, loading } from '@user/data-base';
|
|
import { isNil } from 'lodash-es';
|
|
import { ICoreState } from './types';
|
|
import { state } from './ins';
|
|
|
|
function createCoreState(state: ICoreState) {
|
|
//#region 图块部分
|
|
|
|
const data = Object.entries(core.maps.blocksInfo);
|
|
for (const [key, block] of data) {
|
|
const num = Number(key);
|
|
state.idNumberMap.set(block.id, num);
|
|
state.numberIdMap.set(num, block.id);
|
|
}
|
|
|
|
for (const [key, block] of data) {
|
|
if (!block.faceIds) continue;
|
|
const { down, up, left, right } = block.faceIds;
|
|
const downNum = state.idNumberMap.get(down);
|
|
if (downNum !== Number(key)) continue;
|
|
const upNum = state.idNumberMap.get(up);
|
|
const leftNum = state.idNumberMap.get(left);
|
|
const rightNum = state.idNumberMap.get(right);
|
|
state.roleFace.malloc(downNum, FaceDirection.Down);
|
|
if (!isNil(upNum)) {
|
|
state.roleFace.bind(upNum, downNum, FaceDirection.Up);
|
|
}
|
|
if (!isNil(leftNum)) {
|
|
state.roleFace.bind(leftNum, downNum, FaceDirection.Left);
|
|
}
|
|
if (!isNil(rightNum)) {
|
|
state.roleFace.bind(rightNum, downNum, FaceDirection.Right);
|
|
}
|
|
}
|
|
|
|
//#endregion
|
|
}
|
|
|
|
export function create() {
|
|
loading.once('loaded', () => {
|
|
// 加载后初始化全局状态
|
|
createCoreState(state);
|
|
});
|
|
}
|
|
|
|
export * from './enemy';
|
|
export * from './hero';
|
|
export * from './legacy';
|
|
|
|
export * from './core';
|
|
export * from './ins';
|
|
export * from './shared';
|
|
export * from './types';
|