Adds level prefabs, theme assets, audio, extensions, and deployment scripts for the Unity WebGL migration. Co-authored-by: Cursor <cursoragent@cursor.com>
26 lines
977 B
TypeScript
26 lines
977 B
TypeScript
import { SpawnKind } from './LevelTypes';
|
||
import { CELL_PIXEL } from '../core/GridConstants';
|
||
import { getEntityCellBox } from '../visual/EntityDisplayRefs';
|
||
|
||
/** spawns[].scale 为相对默认值的比例,1 = 默认大小 */
|
||
export function resolveEntityScaleMul(kind: SpawnKind, spawnScale?: number): number {
|
||
const mul = spawnScale !== undefined && spawnScale !== null && !Number.isNaN(spawnScale)
|
||
? spawnScale
|
||
: 1;
|
||
return Math.max(0.1, Math.min(4, mul));
|
||
}
|
||
|
||
export function resolveEntityHeight(kind: 'player' | 'vehicle', spawnScale?: number, theme?: string): number {
|
||
const box = getEntityCellBox(theme)[kind];
|
||
return CELL_PIXEL * box.h * resolveEntityScaleMul(kind, spawnScale);
|
||
}
|
||
|
||
/** 可拾取物等基准缩放(spawn scale 倍率用,显示尺寸见 themes-database entityDisplay) */
|
||
export const ENTITY_BASE_SCALE: Record<SpawnKind, number> = {
|
||
player: 1,
|
||
vehicle: 1,
|
||
prop: 1,
|
||
prop_decor: 0.87,
|
||
enemy: 1,
|
||
};
|