注册会员 登录
Project1 返回首页

汪汪的个人空间 https://rpg.blue/?171386 [收藏] [复制] [分享] [RSS]

日志

【小白】机翻注释mv的 PluginManager

已有 56 次阅读2015-10-31 09:57 |个人分类:mv: rpg_managers


//-----------------------------------------------------------------------------
// PluginManager
// 插件管理器
// The static class that manages the plugins.
// 这个静态的类 管理 插件

function PluginManager() {
    throw new Error('This is a static class');
}
//路径
PluginManager._path         = 'js/plugins/';
//脚本
PluginManager._scripts      = [];
//错误地址
PluginManager._errorUrls    = [];
//参数
PluginManager._parameters   = {};
//安装
PluginManager.setup = function(plugins) {
    plugins.forEach(function(plugin) {
        if (plugin.status && !this._scripts.contains(plugin.name)) {
            this.setParameters(plugin.name, plugin.parameters);
            this.loadScript(plugin.name + '.js');
            this._scripts.push(plugin.name);
        }
    }, this);
};
//检查错误
PluginManager.checkErrors = function() {
    var url = this._errorUrls.shift();
    if (url) {
        throw new Error('Failed to load: ' + url);
    }
};
//参数
PluginManager.parameters = function(name) {
    return this._parameters[name.toLowerCase()] || {};
};
//设置参数
PluginManager.setParameters = function(name, parameters) {
    this._parameters[name.toLowerCase()] = parameters;
};
//读取脚本
PluginManager.loadScript = function(name) {
    var url = this._path + name;
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    script.async = false;
    script.onerror = this.onError.bind(this);
    script._url = url;
    document.body.appendChild(script);
};
//在错误
PluginManager.onError = function(e) {
    this._errorUrls.push(e.target._url);
};


鸡蛋

鲜花

评论 (0 个评论)

facelist doodle 涂鸦笔

您需要登录后才可以评论 登录 | 注册会员

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-10 06:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部