2018-11-02 12:14:56 +08:00
..
2018-11-02 12:14:56 +08:00

Shadow Editor包管理器

  • 功能Shadow Editor包管理器提供包的管理和动态加载功能避免开始加载资源过多导致运行缓慢。
  • 依赖项:无。

使用方法

示例一

var pm = new Shadow.PackageManager();
pm.setPath('../../ShadowEditor.Web/assets');
pm.add('three', [
    'js/three.js'
]);
pm.load('three').then(() => {
    var scene = new THREE.Scene();
    alert(scene);
});

示例二

var pm = new Shadow.PackageManager();
pm.setPath('../../ShadowEditor.Web/assets');
pm.addFromFile('../../ShadowEditor.Web/assets/packages.json').then(() => {
    pm.load('three').then(() => {
        var scene = new THREE.Scene();
        alert(scene);
    });
});

API参考

var pm = new PackageManager(path = 'packages'); // 创建包管理器path为资源目录

pm.getPath(); // 获取资源目录

pm.setPath(path); // 设置资源目录

pm.add((name, assets = [])); // 添加一个包name为包名assets为资源列表assets=[资源1相对路径, 资源2相对路径, ...]

pm.addFromFile(path); // 从文件添加包文件格式见packages.json文件格式一部分。

pm.remove(name); // 移除一个包

pm.get(name); // 获取一个包

pm.load(names); // 加载一个或一些包

pm.loadAll(); // 加载所有包

pm.loadAssets(assets); // 加载资源列表assets为资源列表assets=[url1, url2, ...]

packages.json文件格式

{
    "name": "ShadowEditor.Packages",
    "version": "0.0.1",
    "packages": [
        {
            "name": "three",
            "assets": [
                "js/three.js"
            ]
        }
    ]
}