mirror of
https://github.com/motajs/template.git
synced 2026-04-12 15:11:10 +08:00
48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
import { ITexture } from '@motajs/render';
|
|
import { BlockCls } from './types';
|
|
|
|
export function getClsByString(cls: Cls): BlockCls {
|
|
switch (cls) {
|
|
case 'terrains':
|
|
return BlockCls.Terrains;
|
|
case 'animates':
|
|
return BlockCls.Animates;
|
|
case 'autotile':
|
|
return BlockCls.Autotile;
|
|
case 'enemys':
|
|
return BlockCls.Enemys;
|
|
case 'items':
|
|
return BlockCls.Items;
|
|
case 'npcs':
|
|
return BlockCls.Npcs;
|
|
case 'npc48':
|
|
return BlockCls.Npc48;
|
|
case 'enemy48':
|
|
return BlockCls.Enemy48;
|
|
case 'tileset':
|
|
return BlockCls.Tileset;
|
|
default:
|
|
return BlockCls.Unknown;
|
|
}
|
|
}
|
|
|
|
export function getTextureFrame(cls: BlockCls, texture: ITexture) {
|
|
switch (cls) {
|
|
case BlockCls.Animates:
|
|
case BlockCls.Enemy48:
|
|
case BlockCls.Npc48:
|
|
return 4;
|
|
case BlockCls.Autotile:
|
|
return texture.width === 384 ? 4 : 1;
|
|
case BlockCls.Enemys:
|
|
case BlockCls.Npcs:
|
|
return 2;
|
|
case BlockCls.Items:
|
|
case BlockCls.Terrains:
|
|
case BlockCls.Tileset:
|
|
return 1;
|
|
case BlockCls.Unknown:
|
|
return 0;
|
|
}
|
|
}
|