Files
esengine/packages/behavior-tree/src/Components/AssetMetadata.ts

62 lines
1.3 KiB
TypeScript
Raw Normal View History

import { Component, ECSComponent, Serializable, Serialize } from '@esengine/ecs-framework';
/**
*
*
*
* ID和版本信息便
*
* @example
* ```typescript
* const rootEntity = BehaviorTreeAssetLoader.instantiate(asset, scene);
*
* // 添加元数据
* const metadata = rootEntity.addComponent(new BehaviorTreeAssetMetadata());
* metadata.assetId = 'patrol';
* metadata.assetVersion = '1.0.0';
* ```
*/
@ECSComponent('BehaviorTreeAssetMetadata')
@Serializable({ version: 1 })
export class BehaviorTreeAssetMetadata extends Component {
/**
* ID
*/
@Serialize()
assetId: string = '';
/**
*
*/
@Serialize()
assetVersion: string = '';
/**
*
*/
@Serialize()
assetName: string = '';
/**
*
*/
@Serialize()
loadedAt: number = 0;
/**
*
*/
@Serialize()
description: string = '';
/**
*
*/
initialize(assetId: string, assetVersion: string, assetName?: string): void {
this.assetId = assetId;
this.assetVersion = assetVersion;
this.assetName = assetName || assetId;
this.loadedAt = Date.now();
}
}