import * as spec from '@galacean/effects-specification'; import type { ColorPlayableAssetData } from '../../animation'; import type { Engine } from '../../engine'; import type { FrameContext } from '../timeline'; import { Playable, PlayableAsset, TrackMixerPlayable, TrackAsset } from '../timeline'; import type { Geometry } from '../../render'; import { MaskableGraphic } from '../../components'; /** * 图层元素基础属性, 经过处理后的 spec.SpriteContent.options */ export type SpriteItemOptions = { startColor: spec.vec4; renderLevel?: spec.RenderLevel; }; export type splitsDataType = [r: number, x: number, y: number, w: number, h: number | undefined][]; export declare class SpriteColorPlayableAsset extends PlayableAsset { data: ColorPlayableAssetData; createPlayable(): Playable; fromData(data: ColorPlayableAssetData): void; } export declare class ComponentTimeTrack extends TrackAsset { createTrackMixer(): TrackMixerPlayable; } export declare class SpriteComponentTimeTrack extends ComponentTimeTrack { updateAnimatedObject(boundObject: object): object; } export declare class EffectComponentTimeTrack extends ComponentTimeTrack { updateAnimatedObject(boundObject: object): object; } export declare class ComponentTimePlayableAsset extends PlayableAsset { createPlayable(): Playable; } export declare class ComponentTimePlayable extends Playable { processFrame(context: FrameContext): void; } /** * Sprite component class */ export declare class SpriteComponent extends MaskableGraphic { time: number; duration: number; protected textureSheetAnimation?: spec.TextureSheetAnimation; constructor(engine: Engine, props?: spec.SpriteComponentData); onUpdate(dt: number): void; onDisable(): void; onDestroy(): void; protected updateGeometry(geometry: Geometry): void; /** * @deprecated * 原有打包纹理拆分逻辑,待移除 */ protected updateGeometryFromMultiSplit(): void; fromData(data: spec.SpriteComponentData): void; }