mirror of
https://github.com/motajs/template.git
synced 2026-11-07 18:34:30 +08:00
feat: 将 HumanBreak 新内容移植入该样板
This commit is contained in:
1 parent
6bf32174d8
commit
bea2725d6a
128 files changed
+11984
-573
No files matched your search
@@ -1,8 +1,6 @@
|
||||
import { logger } from '@motajs/common';
|
||||
import {
|
||||
MotaOffscreenCanvas2D,
|
||||
SizedCanvasImageSource
|
||||
} from '@motajs/render-core';
|
||||
import { MotaOffscreenCanvas2D } from '@motajs/render-core';
|
||||
import { SizedCanvasImageSource } from '@motajs/render-assets';
|
||||
|
||||
// 经过测试(https://www.measurethat.net/Benchmarks/Show/30741/1/drawimage-img-vs-canvas-vs-bitmap-cropping-fix-loading)
|
||||
// 得出结论,ImageBitmap和Canvas的绘制性能不如Image,于是直接画Image就行,所以缓存基本上就是存Image
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { RenderAdapter, SizedCanvasImageSource } from '@motajs/render-core';
|
||||
import { RenderAdapter } from '@motajs/render-core';
|
||||
import { SizedCanvasImageSource } from '@motajs/render-assets';
|
||||
import { logger } from '@motajs/common';
|
||||
import { ILayerRenderExtends, Layer, LayerMovingRenderable } from './layer';
|
||||
import EventEmitter from 'eventemitter3';
|
||||
|
||||
@@ -6,6 +6,10 @@ import { createViewport } from './viewport';
|
||||
import { Icon, Winskin } from './misc';
|
||||
import { Animate } from './animate';
|
||||
import { createItemDetail } from './itemDetail';
|
||||
import { logger } from '@motajs/common';
|
||||
import { MapRender, MapRenderer } from '../map';
|
||||
import { state } from '@user/data-state';
|
||||
import { materials } from '@user/client-base';
|
||||
|
||||
export function createElements() {
|
||||
createCache();
|
||||
@@ -66,6 +70,31 @@ export function createElements() {
|
||||
return new Animate();
|
||||
});
|
||||
tagMap.register('icon', standardElementNoCache(Icon));
|
||||
tagMap.register('map-render', (_0, _1, props) => {
|
||||
if (!props) {
|
||||
logger.error(42);
|
||||
return new MapRender(
|
||||
state.layer,
|
||||
new MapRenderer(materials, state.layer)
|
||||
);
|
||||
}
|
||||
const { layerState, renderer } = props;
|
||||
if (!layerState) {
|
||||
logger.error(42, 'layerState');
|
||||
return new MapRender(
|
||||
state.layer,
|
||||
new MapRenderer(materials, state.layer)
|
||||
);
|
||||
}
|
||||
if (!renderer) {
|
||||
logger.error(42, 'renderer');
|
||||
return new MapRender(
|
||||
state.layer,
|
||||
new MapRenderer(materials, state.layer)
|
||||
);
|
||||
}
|
||||
return new MapRender(layerState, renderer);
|
||||
});
|
||||
}
|
||||
|
||||
export * from './animate';
|
||||
|
||||
@@ -4,9 +4,9 @@ import {
|
||||
RenderItem,
|
||||
RenderItemPosition,
|
||||
MotaOffscreenCanvas2D,
|
||||
Transform,
|
||||
SizedCanvasImageSource
|
||||
Transform
|
||||
} from '@motajs/render-core';
|
||||
import { SizedCanvasImageSource } from '@motajs/render-assets';
|
||||
import { isNil } from 'lodash-es';
|
||||
import { RenderableData, AutotileRenderable, texture } from './cache';
|
||||
import { IAnimateFrame, renderEmits } from './frame';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { BaseProps, TagDefine } from '@motajs/render-vue';
|
||||
import { CanvasStyle, Transform } from '@motajs/render-core';
|
||||
import { ERenderItemEvent, Transform } from '@motajs/render-core';
|
||||
import { CanvasStyle } from '@motajs/render-assets';
|
||||
import {
|
||||
ILayerGroupRenderExtends,
|
||||
FloorLayer,
|
||||
@@ -10,6 +11,8 @@ import {
|
||||
import { EAnimateEvent } from './animate';
|
||||
import { EIconEvent, EWinskinEvent } from './misc';
|
||||
import { IEnemyCollection } from '@motajs/types';
|
||||
import { ILayerState } from '@user/data-state';
|
||||
import { IMapRenderer } from '../map';
|
||||
|
||||
export interface AnimateProps extends BaseProps {}
|
||||
|
||||
@@ -59,6 +62,11 @@ export interface LayerProps extends BaseProps {
|
||||
ex?: readonly ILayerRenderExtends[];
|
||||
}
|
||||
|
||||
export interface MapRenderProps extends BaseProps {
|
||||
layerState: ILayerState;
|
||||
renderer: IMapRenderer;
|
||||
}
|
||||
|
||||
declare module 'vue/jsx-runtime' {
|
||||
namespace JSX {
|
||||
export interface IntrinsicElements {
|
||||
@@ -67,6 +75,7 @@ declare module 'vue/jsx-runtime' {
|
||||
animation: TagDefine<AnimateProps, EAnimateEvent>;
|
||||
icon: TagDefine<IconProps, EIconEvent>;
|
||||
winskin: TagDefine<WinskinProps, EWinskinEvent>;
|
||||
'map-render': TagDefine<MapRenderProps, ERenderItemEvent>;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user