MCPcopy Create free account
hub / github.com/esengine/esengine / generateCacheKey

Method generateCacheKey

packages/core/src/ECS/Core/QuerySystem.ts:749–768  ·  view source on GitHub ↗

* 高效的缓存键生成

(prefix: string, componentTypes: ComponentType[])

Source from the content-addressed store, hash-verified

747 * 高效的缓存键生成
748 */
749 private generateCacheKey(prefix: string, componentTypes: ComponentType[]): string {
750 // 快速路径:单组件查询
751 if (componentTypes.length === 1) {
752 const name = getComponentTypeName(componentTypes[0]!);
753 return `${prefix}:${name}`;
754 }
755
756 // 多组件查询:使用排序后的类型名称创建键
757 const sortKey = componentTypes
758 .map((t) => {
759 const name = getComponentTypeName(t);
760 return name;
761 })
762 .sort()
763 .join(',');
764
765 const fullKey = `${prefix}:${sortKey}`;
766
767 return fullKey;
768 }
769
770 /**
771 * 清理查询缓存

Callers 3

queryByComponentMethod · 0.95
createReactiveQueryMethod · 0.95

Calls 3

getComponentTypeNameFunction · 0.50
joinMethod · 0.45
mapMethod · 0.45

Tested by

no test coverage detected