template/packages-user/client-base/src/elements/props.ts
unanmed 0b93426d47 refactor(04-11): 渲染端结构性移植——通用渲染资产下沉 @user/client-base(D-58..D-68)
- MOVE:39 个文件由 client-modules/src/render/ 移入 client-base/src/{components,elements,map,layout}/,删除原件
- D-58:新建 client-base/src/shared/(10 常量纯摘取)+ 被移 map 文件 shared 说明符改指 4 处
- D-63:client-base/src/index.ts 新增 5 条桶导出;14 个实现层消费者改指 @user/client-base
- D-66:client-base/package.json 新增 5 条 workspace:* 依赖 + 根 pnpm i(lockfile importer 同步)
- D-59 / D-60 / D-68:10 处架构耦合以带原因 // @ts-expect-error 暂记,不反向引用、不解耦
- D-62:命名一律不变;D-64 ?raw 不处理;D-65 legacy 一律不管
2026-09-24 17:14:43 +08:00

41 lines
1.2 KiB
TypeScript

import { BaseProps, TagDefine } from '@motajs/render-vue';
import { ERenderItemEvent, SizedCanvasImageSource } from '@motajs/render';
import { IGameMap } from '@user/data-base';
import { IMapExtensionManager, IMapRenderer } from '../map';
export interface IconProps extends BaseProps {
/** 图标 id 或数字 */
icon: AllNumbers | AllIds;
/** 显示图标的第几帧 */
frame?: number;
/** 是否开启动画,开启后 frame 参数无效 */
animate?: boolean;
/** 动画速度 */
speed?: number;
}
export interface WinskinProps extends BaseProps {
/** 直接设置 winskin 图片 */
image?: SizedCanvasImageSource;
/** 根据图片名称设置 winskin 图片 */
imageName?: string;
/** 边框大小 */
borderSize?: number;
}
export interface MapRenderProps extends BaseProps {
layerState: IGameMap;
renderer: IMapRenderer;
extension: IMapExtensionManager;
}
declare module 'vue/jsx-runtime' {
namespace JSX {
export interface IntrinsicElements {
icon: TagDefine<IconProps, ERenderItemEvent>;
winskin: TagDefine<WinskinProps, ERenderItemEvent>;
'map-render': TagDefine<MapRenderProps, ERenderItemEvent>;
}
}
}