23 lines
613 B
TypeScript
23 lines
613 B
TypeScript
|
|
import { _decorator, JsonAsset, resources } from "cc";
|
|||
|
|
const { ccclass, property } = _decorator;
|
|||
|
|
|
|||
|
|
@ccclass("DataManager")
|
|||
|
|
export class DataManager {
|
|||
|
|
/**
|
|||
|
|
* 从resources目录读取JSON文件
|
|||
|
|
* @param path 文件路径(不包含扩展名)
|
|||
|
|
*/
|
|||
|
|
public static async loadJson<T>(path: string): Promise<T | null> {
|
|||
|
|
return new Promise((resolve) => {
|
|||
|
|
resources.load(path, JsonAsset, (err, asset) => {
|
|||
|
|
if (err) {
|
|||
|
|
console.error(`加载JSON文件失败: ${path}`, err);
|
|||
|
|
resolve(null);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
resolve(asset.json as T);
|
|||
|
|
});
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|