Full Code of ChenXianbin/egret_kit for AI

master e7c98492be4e cached
131 files
7.9 MB
2.1M tokens
2310 symbols
1 requests
Download .txt
Showing preview only (8,747K chars total). Download the full file or copy to clipboard to get everything.
Repository: ChenXianbin/egret_kit
Branch: master
Commit: e7c98492be4e
Files: 131
Total size: 7.9 MB

Directory structure:
gitextract_bosik8m8/

├── .idea/
│   └── vcs.xml
├── LICENSE
├── README.md
├── dev_kit/
│   ├── README.md
│   ├── bin-debug/
│   │   ├── LoadingUI.js
│   │   ├── Main.js
│   │   └── Platform.js
│   ├── egretProperties.json
│   ├── index.html
│   ├── libs/
│   │   ├── modules/
│   │   │   ├── assetsmanager/
│   │   │   │   ├── assetsmanager.d.ts
│   │   │   │   └── assetsmanager.js
│   │   │   ├── egret/
│   │   │   │   ├── egret.d.ts
│   │   │   │   ├── egret.js
│   │   │   │   └── egret.web.js
│   │   │   ├── game/
│   │   │   │   ├── game.d.ts
│   │   │   │   └── game.js
│   │   │   ├── particle/
│   │   │   │   ├── particle.d.ts
│   │   │   │   └── particle.js
│   │   │   ├── physics/
│   │   │   │   ├── physics.d.ts
│   │   │   │   └── physics.js
│   │   │   ├── promise/
│   │   │   │   └── promise.js
│   │   │   ├── socket/
│   │   │   │   ├── socket.d.ts
│   │   │   │   └── socket.js
│   │   │   └── tween/
│   │   │       ├── tween.d.ts
│   │   │       └── tween.js
│   │   └── wx_mini_game.d.ts
│   ├── manifest.json
│   ├── project.md
│   ├── resource/
│   │   ├── assets/
│   │   │   ├── boom.json
│   │   │   └── partical/
│   │   │       └── boom_01.json
│   │   ├── config/
│   │   │   └── description.json
│   │   └── default.res.json
│   ├── scripts/
│   │   ├── api.d.ts
│   │   ├── bricks/
│   │   │   └── bricks.ts
│   │   ├── config.android.ts
│   │   ├── config.bricks.ts
│   │   ├── config.ios.ts
│   │   ├── config.ts
│   │   ├── config.wxgame.ts
│   │   ├── myplugin.ts
│   │   ├── node.d.ts
│   │   ├── tsconfig.json
│   │   └── wxgame/
│   │       └── wxgame.ts
│   ├── src/
│   │   ├── Components/
│   │   │   ├── EgretKit.ts
│   │   │   ├── Http.ts
│   │   │   ├── MD5.ts
│   │   │   ├── Mp3.ts
│   │   │   ├── Record.ts
│   │   │   ├── Utils.ts
│   │   │   ├── WS.ts
│   │   │   ├── WxKit.ts
│   │   │   └── WxLoginButton.ts
│   │   ├── GameData/
│   │   │   ├── GameConfig.ts
│   │   │   ├── ParticleRes.ts
│   │   │   ├── SoundRes.ts
│   │   │   ├── UserData.ts
│   │   │   └── VersionCtrl.ts
│   │   ├── LoadingUI.ts
│   │   ├── Main.ts
│   │   └── Platform.ts
│   ├── template/
│   │   ├── runtime/
│   │   │   ├── native_loader.js
│   │   │   ├── native_require.js
│   │   │   └── runtime_loader.js
│   │   └── web/
│   │       └── index.html
│   ├── tsconfig.json
│   └── wingProperties.json
├── dev_kit_wxgame/
│   ├── README.md
│   ├── egret.wxgame.js
│   ├── game.js
│   ├── game.json
│   ├── js/
│   │   ├── assetsmanager.js
│   │   ├── egret.js
│   │   ├── game.js
│   │   ├── main.js
│   │   ├── particle.js
│   │   ├── physics.js
│   │   ├── socket.js
│   │   └── tween.js
│   ├── library/
│   │   ├── file-util.js
│   │   ├── image.js
│   │   └── text.js
│   ├── manifest.js
│   ├── openDataContext/
│   │   ├── egret.wxgame.js
│   │   ├── index.js
│   │   ├── manifest.js
│   │   └── weapp-adapter.js
│   ├── platform.js
│   ├── project.config.json
│   ├── resource/
│   │   ├── assets/
│   │   │   ├── boom.json
│   │   │   └── partical/
│   │   │       └── boom_01.json
│   │   ├── config/
│   │   │   └── description.json
│   │   └── default.res.json
│   └── weapp-adapter.js
└── openDataContext/
    ├── README.md
    ├── bin-debug/
    │   ├── LoadingUI.js
    │   ├── Main.js
    │   └── Platform.js
    ├── debug.log
    ├── egretProperties.json
    ├── index.html
    ├── libs/
    │   ├── modules/
    │   │   ├── egret/
    │   │   │   ├── egret.d.ts
    │   │   │   ├── egret.js
    │   │   │   └── egret.web.js
    │   │   └── game/
    │   │       ├── game.d.ts
    │   │       └── game.js
    │   └── wx_mini_game.d.ts
    ├── manifest.json
    ├── scripts/
    │   ├── api.d.ts
    │   ├── bricks/
    │   │   └── bricks.ts
    │   ├── config.android.ts
    │   ├── config.bricks.ts
    │   ├── config.ios.ts
    │   ├── config.ts
    │   ├── config.wxgame.ts
    │   ├── myplugin.ts
    │   ├── node.d.ts
    │   ├── tsconfig.json
    │   └── wxgame/
    │       └── wxgame.ts
    ├── src/
    │   ├── Main.ts
    │   ├── components/
    │   │   ├── Http.ts
    │   │   └── eKit.ts
    │   └── data/
    │       ├── GameConfig.ts
    │       ├── StaticRes.ts
    │       ├── UserData.ts
    │       └── VersionCtrl.ts
    ├── template/
    │   ├── runtime/
    │   │   ├── native_loader.js
    │   │   ├── native_require.js
    │   │   └── runtime_loader.js
    │   └── web/
    │       └── index.html
    ├── tsconfig.json
    └── wingProperties.json

================================================
FILE CONTENTS
================================================

================================================
FILE: .idea/vcs.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="VcsDirectoryMappings">
    <mapping directory="$PROJECT_DIR$" vcs="Git" />
  </component>
</project>

================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2018 ChenXianbin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
# 小游戏开发套件设计(分包参考 分包加载 分支)

## 套件制作目的

对egret引擎开发微信小游戏过程中的通用数据结构及基础代码进行提取,方便复用

## 使用套件制作的线上项目:

 ![扫码查看项目](https://github.com/ChenXianbin/egret_kit/blob/master/project.jpg)

## 套件示例使用

   拉取整套套件,以egret launcher导入dev_kit项目,
    
   设置发布为微信小程序,填入小程序appid 
   
   根据自身项目服务器接口逻辑,配置dev_kit/src/GameData/GameConfig.ts内basicUrl地址
    
   可按项目接口格式要求调整 dev_kit/src/components/Http.ts 内请求格式
    
   若开放数据域同样有自身接口需求,配置openDataContext/src/data/GameConfig.ts内basicUrl地址
    
   部分常用接口调用示例,可见dev_kit/src/main.ts 内 createGameScene()方法

## 套件功能点:

### 0.wx_mini_game.d.ts声明文件优化(进行中)

   对标微信小游戏api标准文档,对非必传字段作出兼容,减少冒红

### 1.基础 Http 通讯(制定通讯格式)(已完成)

   1.基础Http通讯,调用 new Api(token)传入token后可以进行http通讯

### 2.基础 WebSocket 通讯(制定通讯格式)(todo)

   1.基本websocket通讯封装(todo)
    
   2.基于websocket协议上的 mqtt 协议实现帧同步联机功能的封装(todo)

### 3.微信登陆流程封装(单句调用,拒绝授权时回调,封装记录token)(已完成)

   1. await 调用 WxKit.login(),阻塞进程,拒绝授权时重复提醒,将信息写入UserData内,返回 {code,iv,encryptedData}
    
   2. 微信新版与旧版登录流程兼容处理,WxKit.login已实现新老版本登陆方法兼容处理,老版本则弹出需要授权提示窗口,新版本则显示userInfoButton按钮,详情可见DEMO。
    
   需要测试新老版本展示情况,可下载新版微信开发工具,打开项目后切换基础运行库版本进行查看

### 4.微信分享流程封装(单句调用,回调分享结果,分享成功后上传数据埋点)(已完成)

   1.微信初始化分享及显示分享按钮封装完成

   2.微信分享调用封装完成(分为三类,普通分享,重生分享,群排名分享)其中根据埋点,群排名分为结果页群排名与排行榜群排名

### 5.游戏重生功能封装(已完成)

   1.await 调用 WxKit.rebornGame 方法,返回重生分享成功与否的布尔值

### 6.上传成绩封装(已完成)

   1.调用Records.updateScore 更新自己游戏成绩

   2.调用Records.getScore 获取自己的游戏成绩

   3.调用Records.uploadScore 上传成绩到自己服务器及腾讯云服务器

### 7.获取世界排行榜(单句调用,带loading界面,返回排行数据)(已完成)

   1.await 调用 Records.refreshWorldRanking 重新请求世界排行榜数据

   2.调用 Records.getRankings 获取已缓存的世界排行榜数据(全榜)

### 8.开放数据域接入方法基础封装(单句调用,data与view分离)(已完成)

   1.主域调用开放数据域方法完成,调用WxKit.linkOpenData ,传入type决定获取数据类型为好友排行,群组排行和相邻好友

### 9.开放数据域四种常规用法数据结构封装(1.好友排行榜 2.群组排行榜 3.排名相邻好友显示)(已完成)


### 10.个人最高及本周最高战绩获取封装(已完成)

   1.await调用 Records.getWeekRecord获取周最高成绩

   2.await调用 Records.getHistoryRecord获取历史最高成绩

### 11.封装物理引擎引用(todo)

   1.封装p2物理引擎(todo)

   2.封装3d物理引擎(todo)

### 12.版本控制功能封装(已完成)

   版本控制信息刷新功能完成

   根据功能节点名查询版本控制情况调用完成
    
### 13.egret引擎基本用法优化封装(加载头像,插入图片,插入文字,插入矢量绘图)(已完成)

   1.创建Bitmap对象:eKit.createBitmapByName(name: string, settings?: Object): egret.Bitmap

   2.创建TextField对象:eKit.createText(text: string, settings?: Object): egret.TextField

   3.异步创建用户头像的Bitmap对象:eKit.createAvatar(url: any = '', settings?: Object)

   4.创建折线段矢量绘图对象:eKit.createLine(points: Array<any>, param: { beginFill?: { color: number, alpha: number }, lineStyle?: { thickness?: number, color?: number, alpha?: number, pixelHinting?: boolean, scaleMode?: string, caps?: string, joints?: string, miterLimit?: number } }, settings?: Object): egret.Shape

   5.创建矩形矢量绘图对象:eKit.createRect(points: Array<any>, param: { beginFill?: { color: number, alpha: number }, lineStyle?: { thickness?: number, color?: number, alpha?: number, pixelHinting?: boolean, scaleMode?: string, caps?: string, joints?: string, miterLimit?: number } }, settings?: Object): egret.Shape

   6.创建圆形矢量绘图对象:eKit.createCircle(points: Array<any>, param: { beginFill?: { color: number, alpha: number }, lineStyle?: { thickness?: number, color?: number, alpha?: number, pixelHinting?: boolean, scaleMode?: string, caps?: string, joints?: string, miterLimit?: number } }, settings?: Object): egret.Shape

   7.创建圆弧路径矢量绘图对象:eKit.createArc(points: Array<any>, param: { beginFill?: { color: number, alpha: number }, lineStyle?: { thickness?: number, color?: number, alpha?: number, pixelHinting?: boolean, scaleMode?: string, caps?: string, joints?: string, miterLimit?: number } }, settings?: Object): egret.Shape

   8.创建圆角矩形矢量绘图对象:eKit.createRoundRect(points: Array<any>, param: { beginFill?: { color: number, alpha: number }, lineStyle?: { thickness?: number, color?: number, alpha?: number, pixelHinting?: boolean, scaleMode?: string, caps?: string, joints?: string, miterLimit?: number } }, settings?: Object): egret.Shape

   9.创建序列帧方法(已完成)
    
   10.创建Sprite方法(完成)
    
   11.移除指定子节点(完成)
    
   12.清空父元素内的子节点(完成)
    
   13.粒子系统封装(已完成)



### 14.引导判定封装(todo)

### 15.触摸操控套件封装(摇杆+按钮,触摸定位,左右点击,四格点击等)(todo)

### 16.音频调用封装(已完成)

   根据微信小游戏的音频API封装简易的音频加载及播放调用函数
    
   对于并发音频事件(如连续的击中音效)的优化处理(完成)

### 17.数据埋点封装(已完成)
    
   调用 Api.postEvent()传入event_type即可调用埋点方法

   游戏打开埋点于登陆成功之后

   分享埋点于分享成功回调

### 18.标准化处理函数(日期,小数点等)(todo)

### 19.广告模块(banner广告,视频激励广告模块)(已完成)

### 20.刘海屏机型库识别与对应UI适配判定(todo)




================================================
FILE: dev_kit/README.md
================================================
# 主域白鹭引擎文件夹


================================================
FILE: dev_kit/bin-debug/LoadingUI.js
================================================
//////////////////////////////////////////////////////////////////////////////////////
//
//  Copyright (c) 2014-present, Egret Technology.
//  All rights reserved.
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions are met:
//
//     * Redistributions of source code must retain the above copyright
//       notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above copyright
//       notice, this list of conditions and the following disclaimer in the
//       documentation and/or other materials provided with the distribution.
//     * Neither the name of the Egret nor the
//       names of its contributors may be used to endorse or promote products
//       derived from this software without specific prior written permission.
//
//  THIS SOFTWARE IS PROVIDED BY EGRET AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
//  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
//  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
//  IN NO EVENT SHALL EGRET AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
//  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
//  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA,
//  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
//  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
//  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
//  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//////////////////////////////////////////////////////////////////////////////////////
var __reflect = (this && this.__reflect) || function (p, c, t) {
    p.__class__ = c, t ? t.push(c) : t = [c], p.__types__ = p.__types__ ? t.concat(p.__types__) : t;
};
var __extends = this && this.__extends || function __extends(t, e) { 
 function r() { 
 this.constructor = t;
}
for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i]);
r.prototype = e.prototype, t.prototype = new r();
};
var LoadingUI = (function (_super) {
    __extends(LoadingUI, _super);
    function LoadingUI() {
        var _this = _super.call(this) || this;
        _this.createView();
        return _this;
    }
    LoadingUI.prototype.createView = function () {
        this.textField = new egret.TextField();
        this.addChild(this.textField);
        this.textField.y = 300;
        this.textField.width = 480;
        this.textField.height = 100;
        this.textField.textAlign = "center";
    };
    LoadingUI.prototype.onProgress = function (current, total) {
        this.textField.text = "Loading..." + current + "/" + total;
    };
    return LoadingUI;
}(egret.Sprite));
__reflect(LoadingUI.prototype, "LoadingUI", ["RES.PromiseTaskReporter"]);


================================================
FILE: dev_kit/bin-debug/Main.js
================================================
//////////////////////////////////////////////////////////////////////////////////////
//
//  Copyright (c) 2014-present, Egret Technology.
//  All rights reserved.
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions are met:
//
//     * Redistributions of source code must retain the above copyright
//       notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above copyright
//       notice, this list of conditions and the following disclaimer in the
//       documentation and/or other materials provided with the distribution.
//     * Neither the name of the Egret nor the
//       names of its contributors may be used to endorse or promote products
//       derived from this software without specific prior written permission.
//
//  THIS SOFTWARE IS PROVIDED BY EGRET AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
//  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
//  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
//  IN NO EVENT SHALL EGRET AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
//  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
//  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA,
//  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
//  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
//  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
//  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//////////////////////////////////////////////////////////////////////////////////////
var __reflect = (this && this.__reflect) || function (p, c, t) {
    p.__class__ = c, t ? t.push(c) : t = [c], p.__types__ = p.__types__ ? t.concat(p.__types__) : t;
};
var __extends = this && this.__extends || function __extends(t, e) { 
 function r() { 
 this.constructor = t;
}
for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i]);
r.prototype = e.prototype, t.prototype = new r();
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};
var Main = (function (_super) {
    __extends(Main, _super);
    function Main() {
        var _this = _super.call(this) || this;
        _this.addEventListener(egret.Event.ADDED_TO_STAGE, _this.onAddToStage, _this);
        return _this;
    }
    Main.prototype.onAddToStage = function (event) {
        egret.lifecycle.addLifecycleListener(function (context) {
            // custom lifecycle plugin
            context.onUpdate = function () {
            };
        });
        egret.lifecycle.onPause = function () {
            egret.ticker.pause();
        };
        egret.lifecycle.onResume = function () {
            egret.ticker.resume();
        };
        this.runGame().catch(function (e) {
            console.log(e);
        });
    };
    Main.prototype.runGame = function () {
        return __awaiter(this, void 0, void 0, function () {
            var result, userInfo;
            return __generator(this, function (_a) {
                switch (_a.label) {
                    case 0: return [4 /*yield*/, this.loadResource()];
                    case 1:
                        _a.sent();
                        this.createGameScene();
                        return [4 /*yield*/, RES.getResAsync("description_json")];
                    case 2:
                        result = _a.sent();
                        this.startAnimation(result);
                        return [4 /*yield*/, platform.login()];
                    case 3:
                        _a.sent();
                        return [4 /*yield*/, platform.getUserInfo()];
                    case 4:
                        userInfo = _a.sent();
                        console.log(userInfo);
                        return [2 /*return*/];
                }
            });
        });
    };
    Main.prototype.loadResource = function () {
        return __awaiter(this, void 0, void 0, function () {
            var loadingView, e_1;
            return __generator(this, function (_a) {
                switch (_a.label) {
                    case 0:
                        _a.trys.push([0, 3, , 4]);
                        loadingView = new LoadingUI();
                        this.stage.addChild(loadingView);
                        return [4 /*yield*/, RES.loadConfig("resource/default.res.json", "resource/")];
                    case 1:
                        _a.sent();
                        return [4 /*yield*/, RES.loadGroup("preload", 0, loadingView)];
                    case 2:
                        _a.sent();
                        this.stage.removeChild(loadingView);
                        return [3 /*break*/, 4];
                    case 3:
                        e_1 = _a.sent();
                        console.error(e_1);
                        return [3 /*break*/, 4];
                    case 4: return [2 /*return*/];
                }
            });
        });
    };
    /**
     * 创建游戏场景
     * Create a game scene
     */
    Main.prototype.createGameScene = function () {
        var sky = this.createBitmapByName("bg_jpg");
        this.addChild(sky);
        var stageW = this.stage.stageWidth;
        var stageH = this.stage.stageHeight;
        sky.width = stageW;
        sky.height = stageH;
        var topMask = new egret.Shape();
        topMask.graphics.beginFill(0x000000, 0.5);
        topMask.graphics.drawRect(0, 0, stageW, 172);
        topMask.graphics.endFill();
        topMask.y = 33;
        this.addChild(topMask);
        var icon = this.createBitmapByName("egret_icon_png");
        this.addChild(icon);
        icon.x = 26;
        icon.y = 33;
        var line = new egret.Shape();
        line.graphics.lineStyle(2, 0xffffff);
        line.graphics.moveTo(0, 0);
        line.graphics.lineTo(0, 117);
        line.graphics.endFill();
        line.x = 172;
        line.y = 61;
        this.addChild(line);
        var colorLabel = new egret.TextField();
        colorLabel.textColor = 0xffffff;
        colorLabel.width = stageW - 172;
        colorLabel.textAlign = "center";
        colorLabel.text = "Hello Egret";
        colorLabel.size = 24;
        colorLabel.x = 172;
        colorLabel.y = 80;
        this.addChild(colorLabel);
        var textfield = new egret.TextField();
        this.addChild(textfield);
        textfield.alpha = 0;
        textfield.width = stageW - 172;
        textfield.textAlign = egret.HorizontalAlign.CENTER;
        textfield.size = 24;
        textfield.textColor = 0xffffff;
        textfield.x = 172;
        textfield.y = 135;
        this.textfield = textfield;
    };
    /**
     * 根据name关键字创建一个Bitmap对象。name属性请参考resources/resource.json配置文件的内容。
     * Create a Bitmap object according to name keyword.As for the property of name please refer to the configuration file of resources/resource.json.
     */
    Main.prototype.createBitmapByName = function (name) {
        var result = new egret.Bitmap();
        var texture = RES.getRes(name);
        result.texture = texture;
        return result;
    };
    /**
     * 描述文件加载成功,开始播放动画
     * Description file loading is successful, start to play the animation
     */
    Main.prototype.startAnimation = function (result) {
        var _this = this;
        var parser = new egret.HtmlTextParser();
        var textflowArr = result.map(function (text) { return parser.parse(text); });
        var textfield = this.textfield;
        var count = -1;
        var change = function () {
            count++;
            if (count >= textflowArr.length) {
                count = 0;
            }
            var textFlow = textflowArr[count];
            // 切换描述内容
            // Switch to described content
            textfield.textFlow = textFlow;
            var tw = egret.Tween.get(textfield);
            tw.to({ "alpha": 1 }, 200);
            tw.wait(2000);
            tw.to({ "alpha": 0 }, 200);
            tw.call(change, _this);
        };
        change();
    };
    return Main;
}(egret.DisplayObjectContainer));
__reflect(Main.prototype, "Main");


================================================
FILE: dev_kit/bin-debug/Platform.js
================================================
var __reflect = (this && this.__reflect) || function (p, c, t) {
    p.__class__ = c, t ? t.push(c) : t = [c], p.__types__ = p.__types__ ? t.concat(p.__types__) : t;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};
var DebugPlatform = (function () {
    function DebugPlatform() {
    }
    DebugPlatform.prototype.getUserInfo = function () {
        return __awaiter(this, void 0, void 0, function () {
            return __generator(this, function (_a) {
                return [2 /*return*/, { nickName: "username" }];
            });
        });
    };
    DebugPlatform.prototype.login = function () {
        return __awaiter(this, void 0, void 0, function () {
            return __generator(this, function (_a) {
                return [2 /*return*/];
            });
        });
    };
    return DebugPlatform;
}());
__reflect(DebugPlatform.prototype, "DebugPlatform", ["Platform"]);
if (!window.platform) {
    window.platform = new DebugPlatform();
}


================================================
FILE: dev_kit/egretProperties.json
================================================
{
  "engineVersion": "5.1.10",
  "compilerVersion": "5.1.10",
  "template": {},
  "target": {
    "current": "wxgame"
  },
  "modules": [
    {
      "name": "egret"
    },
    {
      "name": "game"
    },
    {
      "name": "tween"
    },
    {
      "name": "assetsmanager"
    },
    {
      "name": "socket"
    },
    {
      "name": "promise"
    },
    {
      "name": "particle",
      "path": "libs/modules/particle"
    },
    {
      "name": "physics",
      "path": "libs/modules/physics"
    }
  ]
}

================================================
FILE: dev_kit/index.html
================================================
<!DOCTYPE HTML>
<html>

<head>
    <meta charset="utf-8">
    <title>Egret</title>
    <meta name="viewport" content="width=device-width,initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="full-screen" content="true" />
    <meta name="screen-orientation" content="portrait" />
    <meta name="x5-fullscreen" content="true" />
    <meta name="360-fullscreen" content="true" />
    <style>
        html, body {
            -ms-touch-action: none;
            background: #888888;
            padding: 0;
            border: 0;
            margin: 0;
            height: 100%;
        }
    </style>
</head>

<body>
    <div style="margin: auto;width: 100%;height: 100%;" class="egret-player"
         data-entry-class="Main"
         data-orientation="portrait"
         data-scale-mode="fixedWidth"
         data-frame-rate="60"
         data-content-width="640"
         data-content-height="1136"
         data-multi-fingered="2"
         data-show-fps="false" data-show-log="false"
         data-show-fps-style="x:0,y:0,size:12,textColor:0xffffff,bgAlpha:0.9">
    </div>
<script>
    var loadScript = function (list, callback) {
        var loaded = 0;
        var loadNext = function () {
            loadSingleScript(list[loaded], function () {
                loaded++;
                if (loaded >= list.length) {
                    callback();
                }
                else {
                    loadNext();
                }
            })
        };
        loadNext();
    };

    var loadSingleScript = function (src, callback) {
        var s = document.createElement('script');
        s.async = false;
        s.src = src;
        s.addEventListener('load', function () {
            s.parentNode.removeChild(s);
            s.removeEventListener('load', arguments.callee, false);
            callback();
        }, false);
        document.body.appendChild(s);
    };

    var xhr = new XMLHttpRequest();
    xhr.open('GET', './manifest.json?v=' + Math.random(), true);
    xhr.addEventListener("load", function () {
        var manifest = JSON.parse(xhr.response);
        var list = manifest.initial.concat(manifest.game);
        loadScript(list, function () {
            /**
             * {
             * "renderMode":, //Engine rendering mode, "canvas" or "webgl"
             * "audioType": 0 //Use the audio type, 0: default, 2: web audio, 3: audio
             * "antialias": //Whether the anti-aliasing is enabled in WebGL mode, true: on, false: off, defaults to false
             * "calculateCanvasScaleFactor": //a function return canvas scale factor
             * }
             **/
            egret.runEgret({ renderMode: "webgl", audioType: 0, calculateCanvasScaleFactor:function(context) {
                var backingStore = context.backingStorePixelRatio ||
                    context.webkitBackingStorePixelRatio ||
                    context.mozBackingStorePixelRatio ||
                    context.msBackingStorePixelRatio ||
                    context.oBackingStorePixelRatio ||
                    context.backingStorePixelRatio || 1;
                return (window.devicePixelRatio || 1) / backingStore;
            }});
        });
    });
    xhr.send(null);
</script>
</body>

</html>

================================================
FILE: dev_kit/libs/modules/assetsmanager/assetsmanager.d.ts
================================================
declare type ResourceRootSelector<T extends string> = () => T;
declare type ResourceTypeSelector = (file: string) => string;
declare type ResourceNameSelector = (file: string) => string;
declare type ResourceMergerSelector = (file: string) => {
    path: string;
    alias: string;
};
declare module RES {
    var resourceTypeSelector: ResourceTypeSelector;
    var resourceNameSelector: ResourceNameSelector;
    var resourceMergerSelector: ResourceMergerSelector | null;
    function getResourceInfo(path: string): File | null;
    function setConfigURL(url: string, root: string): void;
    interface ResourceInfo {
        url: string;
        type: string;
        root: string;
        crc32?: string;
        size?: number;
        name: string;
        soundType?: string;
        scale9grid?: string;
        groupNames?: string[];
        promise?: Promise<any>;
    }
    interface Data {
        resourceRoot: string;
        typeSelector: ResourceTypeSelector;
        mergeSelector: ResourceMergerSelector | null;
        fileSystem: FileSystem;
        groups: {
            [groupName: string]: string[];
        };
        alias: {
            [aliasName: string]: string;
        };
    }
    /**
     * @class RES.ResourceConfig
     * @classdesc
     * @private
     */
    class ResourceConfig {
        config: Data;
        constructor();
        init(): Promise<void>;
        __temp__get__type__via__url(url_or_alias: string): string;
        getKeyByAlias(aliasName: string): string;
        /**
         * 创建自定义的加载资源组,注意:此方法仅在资源配置文件加载完成后执行才有效。
         * 可以监听ResourceEvent.CONFIG_COMPLETE事件来确认配置加载完成。
         * @method RES.ResourceConfig#createGroup
         * @param name {string} 要创建的加载资源组的组名
         * @param keys {egret.Array<string>} 要包含的键名列表,key对应配置文件里的name属性或sbuKeys属性的一项或一个资源组名。
         * @param override {boolean} 是否覆盖已经存在的同名资源组,默认false。
         * @returns {boolean}
         */
        createGroup(name: string, keys: Array<string>, override?: boolean): boolean;
        /**
         * 添加一个二级键名到配置列表。
         * @method RES.ResourceConfig#addSubkey
         * @param subkey {string} 要添加的二级键名
         * @param name {string} 二级键名所属的资源name属性
         */
        addSubkey(subkey: string, name: string): void;
        addAlias(alias: any, key: any): void;
        /**
         * 获取加载项类型。
         * @method RES.ResourceConfig#getType
         * @param key {string} 对应配置文件里的name属性或sbuKeys属性的一项。
         * @returns {string}
         */
        getType(key: string): string;
        addResourceData(data: {
            name: string;
            type?: string;
            url: string;
            root?: string;
        }): void;
        destory(): void;
    }
}
declare module RES {
    /**
     * @class RES.ResourceLoader
     * @classdesc
     * @private
     */
    class ResourceLoader {
        /**
         * 当前组加载的项总个数,key为groupName
         */
        private groupTotalDic;
        /**
         * 已经加载的项个数,key为groupName
         */
        private numLoadedDic;
        /**
         * 正在加载的组列表,key为groupName
         */
        private itemListDic;
        /**
         * 加载失败的组,key为groupName
         */
        private groupErrorDic;
        private retryTimesDic;
        maxRetryTimes: number;
        /**
         * 优先级队列,key为priority,value为groupName列表
         */
        private priorityQueue;
        private reporterDic;
        private dispatcherDic;
        private failedList;
        private loadItemErrorDic;
        private errorDic;
        load(list: ResourceInfo[], groupName: string, priority: number, reporter?: PromiseTaskReporter): Promise<any>;
        private loadingCount;
        thread: number;
        private next();
        /**
         * 从优先级队列中移除指定的组名
         */
        private removeGroupName(groupName);
        private queueIndex;
        /**
         * 获取下一个待加载项
         */
        private getOneResourceInfo();
        loadResource(r: ResourceInfo, p?: RES.processor.Processor): Promise<any>;
        unloadResource(r: ResourceInfo): Promise<any>;
    }
}
declare module RES {
    /**
     * 整个资源加载系统的进程id,协助管理回调派发机制
     */
    var systemPid: number;
    let checkCancelation: MethodDecorator;
    function profile(): void;
    var host: ProcessHost;
    var config: ResourceConfig;
    var queue: ResourceLoader;
    interface ProcessHost {
        state: {
            [index: string]: number;
        };
        resourceConfig: ResourceConfig;
        load: (resource: ResourceInfo, processor?: string | processor.Processor) => Promise<any>;
        unload: (resource: ResourceInfo) => Promise<any>;
        save: (rexource: ResourceInfo, data: any) => void;
        get: (resource: ResourceInfo) => any;
        remove: (resource: ResourceInfo) => void;
    }
    class ResourceManagerError extends Error {
        static errorMessage: {
            1001: string;
            1002: string;
            1005: string;
            2001: string;
            2002: string;
            2003: string;
            2004: string;
            2005: string;
            2006: string;
        };
        /**
         * why instanceof e  != ResourceManagerError ???
         * see link : https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
         */
        private __resource_manager_error__;
        constructor(code: number, replacer?: Object, replacer2?: Object);
    }
}
declare namespace RES {
    /**
     * Promise的回调函数集合
     */
    interface PromiseTaskReporter {
        /**
         * 进度回调
         */
        onProgress?: (current: number, total: number) => void;
        /**
         * 取消回调
         */
        onCancel?: () => void;
    }
}
declare module RES {
    let checkNull: MethodDecorator;
    /**
     * 功能开关
     *  LOADING_STATE:处理重复加载
     */
    let FEATURE_FLAG: {
        FIX_DUPLICATE_LOAD: number;
    };
    namespace upgrade {
        function setUpgradeGuideLevel(level: "warning" | "silent"): void;
    }
}
declare module RES.processor {
    interface Processor {
        onLoadStart(host: ProcessHost, resource: ResourceInfo): Promise<any>;
        onRemoveStart(host: ProcessHost, resource: ResourceInfo): Promise<any>;
        getData?(host: ProcessHost, resource: ResourceInfo, key: string, subkey: string): any;
    }
    function isSupport(resource: ResourceInfo): Processor;
    function map(type: string, processor: Processor): void;
    function getRelativePath(url: string, file: string): string;
    var ImageProcessor: Processor;
    var BinaryProcessor: Processor;
    var TextProcessor: Processor;
    var JsonProcessor: Processor;
    var XMLProcessor: Processor;
    var CommonJSProcessor: Processor;
    const SheetProcessor: Processor;
    var FontProcessor: Processor;
    var SoundProcessor: Processor;
    var MovieClipProcessor: Processor;
    const MergeJSONProcessor: Processor;
    const ResourceConfigProcessor: Processor;
    const LegacyResourceConfigProcessor: Processor;
    var PVRProcessor: Processor;
    const _map: {
        [index: string]: Processor;
    };
}
declare module RES {
    interface File {
        url: string;
        type: string;
        name: string;
        root: string;
    }
    interface Dictionary {
        [file: string]: File | Dictionary;
    }
    interface FileSystem {
        addFile(filename: string, type?: string, root?: string): any;
        getFile(filename: string): File | null;
        profile(): void;
    }
    class NewFileSystem {
        private data;
        constructor(data: Dictionary);
        profile(): void;
        addFile(filename: string, type?: string): void;
        getFile(filename: string): File | null;
        private reslove(dirpath);
        private mkdir(dirpath);
        private exists(dirpath);
    }
    var fileSystem: FileSystem;
}
declare module RES {
    /**
     * The events of resource loading.
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 资源加载事件。
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    class ResourceEvent extends egret.Event {
        /**
         * Failure event for a load item.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 一个加载项加载失败事件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        static ITEM_LOAD_ERROR: string;
        /**
         * Configure file to load and parse the completion event. Note: if a configuration file is loaded, it will not be thrown out, and if you want to handle the configuration loading failure, monitor the CONFIG_LOAD_ERROR event.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 配置文件加载并解析完成事件。注意:若有配置文件加载失败,将不会抛出此事件,若要处理配置加载失败,请同时监听 CONFIG_LOAD_ERROR 事件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        static CONFIG_COMPLETE: string;
        /**
         * Configuration file failed to load.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 配置文件加载失败事件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        static CONFIG_LOAD_ERROR: string;
        /**
         * Delay load group resource loading progress event.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 延迟加载组资源加载进度事件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        static GROUP_PROGRESS: string;
        /**
         * Delay load group resource to complete event. Note: if you have a resource item loading failure, the event will not be thrown, if you want to handle the group load failure, please listen to the GROUP_LOAD_ERROR event.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 延迟加载组资源加载完成事件。注意:若组内有资源项加载失败,将不会抛出此事件,若要处理组加载失败,请同时监听 GROUP_LOAD_ERROR 事件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        static GROUP_COMPLETE: string;
        /**
         * Delayed load group resource failed event.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 延迟加载组资源加载失败事件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        static GROUP_LOAD_ERROR: string;
        /**
         * Creates an Event object to pass as a parameter to event listeners.
         * @param type  The type of the event, accessible as Event.type.
         * @param bubbles  Determines whether the Event object participates in the bubbling stage of the event flow. The default value is false.
         * @param cancelable Determines whether the Event object can be canceled. The default values is false.
         * @version Egret 2.4
         * @platform Web,Native
         * @private
         * @language en_US
         */
        /**
         * 创建一个作为参数传递给事件侦听器的 Event 对象。
         * @param type  事件的类型,可以作为 Event.type 访问。
         * @param bubbles  确定 Event 对象是否参与事件流的冒泡阶段。默认值为 false。
         * @param cancelable 确定是否可以取消 Event 对象。默认值为 false。
         * @version Egret 2.4
         * @platform Web,Native
         * @private
         * @language zh_CN
         */
        constructor(type: string, bubbles?: boolean, cancelable?: boolean);
        /**
         * File number that has been loaded.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 已经加载的文件数。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        itemsLoaded: number;
        /**
         * Total file number to load.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 要加载的总文件数。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        itemsTotal: number;
        /**
         * Resource group name.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 资源组名。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        groupName: string;
        /**
         * An item of information that is finished by the end of a load.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 一次加载项加载结束的项信息对象。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        resItem: ResourceItem;
    }
}
declare module RES {
    /**
     * Resource term. One of the resources arrays in resource.json.
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 资源项。对应 resource.json 中 resources 数组中的一项。
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    namespace ResourceItem {
        /**
         * XML file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * XML 文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        const TYPE_XML: string;
        /**
         * Picture file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 图片文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        const TYPE_IMAGE: string;
        /**
         * Binary file.
         * @version Egret 2.4
         * @platform Web
         * @language en_US
         */
        /**
         * 二进制文件。
         * @version Egret 2.4
         * @platform Web
         * @language zh_CN
         */
        const TYPE_BIN: string;
        /**
         * Text file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 文本文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        const TYPE_TEXT: string;
        /**
         * JSON file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * JSON 文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        const TYPE_JSON: string;
        /**
         * SpriteSheet file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * SpriteSheet 文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        const TYPE_SHEET: string;
        /**
         * BitmapTextSpriteSheet file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * BitmapTextSpriteSheet 文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        const TYPE_FONT: string;
        /**
         * Sound file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 声音文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        const TYPE_SOUND: string;
        function convertToResItem(r: ResourceInfo): ResourceItem;
    }
    interface ResourceItem extends ResourceInfo {
        /**
         * Name of resource term.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 加载项名称。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        name: string;
        /**
         * URL of resource term.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 要加载的文件地址。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        url: string;
        /**
         * Type of resource term.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 加载项文件类型。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        type: string;
        /**
         * The raw data object to be referenced.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 被引用的原始数据对象。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        data: ResourceInfo;
        crc32?: string;
        size?: number;
        soundType?: string;
    }
}
declare namespace RES {
    namespace path {
        const normalize: (filename: string) => string;
        const basename: (filename: string) => string;
        const dirname: (path: string) => string;
    }
}
declare namespace RES {
}
declare module RES {
    type GetResAsyncCallback = (value?: any, key?: string) => any;
    /**
     * Conduct mapping injection with class definition as the value.
     * @param type Injection type.
     * @param analyzerClass Injection type classes need to be resolved.
     * @version Egret 2.4
     * @platform Web,Native
     * @includeExample extension/resource/Resource.ts
     * @language en_US
     */
    /**
     * 以类定义为值进行映射注入。
     * @param type 注入的类型。
     * @param analyzerClass 注入类型需要解析的类。
     * @version Egret 2.4
     * @platform Web,Native
     * @includeExample extension/resource/Resource.ts
     * @language zh_CN
     */
    function registerAnalyzer(type: string, analyzerClass: any): void;
    /**
     * Load configuration file and parse.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 加载配置文件并解析。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function loadConfig(url: string, resourceRoot: string): Promise<void>;
    /**
     * Load a set of resources according to the group name.
     * @param name Group name to load the resource group.
     * @param priority Load priority can be negative, the default value is 0.
     * <br>A low priority group must wait for the high priority group to complete the end of the load to start, and the same priority group will be loaded at the same time.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 根据组名加载一组资源。
     * @param name 要加载资源组的组名。
     * @param priority 加载优先级,可以为负数,默认值为 0。
     * <br>低优先级的组必须等待高优先级组完全加载结束才能开始,同一优先级的组会同时加载。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function loadGroup(name: string, priority?: number, reporter?: PromiseTaskReporter): Promise<void>;
    /**
     * Check whether a resource group has been loaded.
     * @param name Group name。
     * @returns Is loading or not.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 检查某个资源组是否已经加载完成。
     * @param name 组名。
     * @returns 是否正在加载。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function isGroupLoaded(name: string): boolean;
    /**
     * A list of groups of loading is obtained according to the group name.
     * @param name Group name.
     * @returns The resource item array of group.
     * @see RES.ResourceItem
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 根据组名获取组加载项列表。
     * @param name 组名。
     * @returns 加载项列表。
     * @see RES.ResourceItem
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function getGroupByName(name: string): Array<ResourceItem>;
    /**
     * Create a custom load resource group, note that this method is valid only after the resource configuration file is loaded.
     * <br>You can monitor the ResourceEvent.CONFIG_COMPLETE event to verify that the configuration is complete.
     * @param name Group name to create the load resource group.
     * @param keys To be included in the list of key keys, the corresponding configuration file in the name or sbuKeys property one or a resource group name.
     * @param override Is the default false for the same name resource group already exists.
     * @returns Create success or fail.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 创建自定义的加载资源组,注意:此方法仅在资源配置文件加载完成后执行才有效。
     * <br>可以监听 ResourceEvent.CONFIG_COMPLETE 事件来确认配置加载完成。
     * @param name 要创建的加载资源组的组名。
     * @param keys 要包含的键名列表,key 对应配置文件里的 name 属性或 sbuKeys 属性的一项或一个资源组名。
     * @param override 是否覆盖已经存在的同名资源组,默认 false。
     * @returns 是否创建成功。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function createGroup(name: string, keys: Array<string>, override?: boolean): boolean;
    /**
     * Check whether the configuration file contains the specified resources.
     * @param key A sbuKeys attribute or name property in a configuration file.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 检查配置文件里是否含有指定的资源。
     * @param key 对应配置文件里的 name 属性或 sbuKeys 属性的一项。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function hasRes(key: string): boolean;
    /**
     * The synchronization method for obtaining the cache has been loaded with the success of the resource.
     * <br>The type of resource and the corresponding return value types are as follows:
     * <br>RES.ResourceItem.TYPE_BIN : ArrayBuffer JavaScript primary object
     * <br>RES.ResourceItem.TYPE_IMAGE : img Html Object,or egret.BitmapData interface。
     * <br>RES.ResourceItem.TYPE_JSON : Object
     * <br>RES.ResourceItem.TYPE_SHEET : Object
     * <br>  1. If the incoming parameter is the name of the entire SpriteSheet is returned is {image1: Texture, "image2": Texture}.
     * <br>  2. If the incoming is "sheet.image1", the return is a single resource.
     * <br>  3. If the incoming is the name of the "image1" single resource, the return is a single resource.
     * But if there are two SpriteSheet in a single picture of the same name, the return of the image after the load.
     * <br>RES.ResourceItem.TYPE_SOUND : HtmlSound Html Object
     * <br>RES.ResourceItem.TYPE_TEXT : string
     * @param key A subKeys attribute or name property in a configuration file.
     * @see RES.ResourceItem
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 同步方式获取缓存的已经加载成功的资源。
     * <br>资源类型和对应的返回值类型关系如下:
     * <br>RES.ResourceItem.TYPE_BIN : ArrayBuffer JavaScript 原生对象
     * <br>RES.ResourceItem.TYPE_IMAGE : img Html 对象,或者 egret.BitmapData 接口。
     * <br>RES.ResourceItem.TYPE_JSON : Object
     * <br>RES.ResourceItem.TYPE_SHEET : Object
     * <br>  1. 如果传入的参数是整个 SpriteSheet 的名称返回的是 {"image1":Texture,"image2":Texture} 这样的格式。
     * <br>  2. 如果传入的是 "sheet.image1",返回的是单个资源。
     * <br>  3. 如果传入的是 "image1" 单个资源的名称,返回的是单个资源。但是如果有两张 SpriteSheet 中有单个图片资源名称相同,返回的是后加载的那个图片资源。
     * <br>RES.ResourceItem.TYPE_SOUND : HtmlSound Html 对象
     * <br>RES.ResourceItem.TYPE_TEXT : string
     * @param key 对应配置文件里的 name 属性或 subKeys 属性的一项。
     * @see RES.ResourceItem
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function getRes(key: string): any;
    /**
     * Asynchronous mode to get the resources in the configuration. As long as the resources exist in the configuration file, you can get it in an asynchronous way.
     * @param key A sbuKeys attribute or name property in a configuration file.
     * @param compFunc Call back function. Example:compFunc(data,key):void.
     * @param thisObject This pointer of call back function.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 异步方式获取配置里的资源。只要是配置文件里存在的资源,都可以通过异步方式获取。
     * @param key 对应配置文件里的 name 属性或 sbuKeys 属性的一项。
     * @param compFunc 回调函数。示例:compFunc(data,key):void。
     * @param thisObject 回调函数的 this 引用。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function getResAsync(key: string): Promise<any>;
    function getResAsync(key: string, compFunc: GetResAsyncCallback, thisObject: any): void;
    /**
     * Access to external resources through the full URL.
     * @param url The external path to load the file.
     * @param compFunc Call back function. Example:compFunc(data,url):void。
     * @param thisObject This pointer of call back function.
     * @param type File type (optional). Use the static constants defined in the ResourceItem class. If you do not set the file name extension.
     * @version Egret 2.4
     * @platform Web,Native
     * @includeExample extension/resource/GetResByUrl.ts
     * @language en_US
     */
    /**
     * 通过完整URL方式获取外部资源。
     * @param url 要加载文件的外部路径。
     * @param compFunc 回调函数。示例:compFunc(data,url):void。
     * @param thisObject 回调函数的 this 引用。
     * @param type 文件类型(可选)。请使用 ResourceItem 类中定义的静态常量。若不设置将根据文件扩展名生成。
     * @version Egret 2.4
     * @platform Web,Native
     * @includeExample extension/resource/GetResByUrl.ts
     * @language zh_CN
     */
    function getResByUrl(url: string, compFunc: Function, thisObject: any, type?: string): void;
    /**
     * Destroy a single resource file or a set of resources to the cache data, to return whether to delete success.
     * @param name Name attribute or resource group name of the load item in the configuration file.
     * @param force Destruction of a resource group when the other resources groups have the same resource situation whether the resources will be deleted, the default value true.
     * @returns Are successful destruction.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 销毁单个资源文件或一组资源的缓存数据,返回是否删除成功。
     * @param name 配置文件中加载项的name属性或资源组名。
     * @param force 销毁一个资源组时其他资源组有同样资源情况资源是否会被删除,默认值 true。
     * @see #setMaxRetryTimes
     * @returns 是否销毁成功。
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function destroyRes(name: string, force?: boolean): Promise<boolean>;
    /**
     * Sets the maximum number of concurrent load threads, the default value is 2.
     * @param thread The number of concurrent loads to be set.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 设置最大并发加载线程数量,默认值是 2。
     * @param thread 要设置的并发加载数。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function setMaxLoadingThread(thread: number): void;
    /**
     * Sets the number of retry times when the resource failed to load, and the default value is 3.
     * @param retry To set the retry count.
     * @includeExample extension/resource/Resource.ts
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 设置资源加载失败时的重试次数,默认值是 3。
     * @param retry 要设置的重试次数。
     * @includeExample extension/resource/Resource.ts
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function setMaxRetryTimes(retry: number): void;
    /**
     * Add event listeners, reference ResourceEvent defined constants.
     * @param type Event name。
     * @param listener Listener functions for handling events. This function must accept the Event object as its only parameter, and can't return any results,
     * As shown in the following example: function (evt:Event):void can have any name.
     * @param thisObject The this object that is bound to a function.
     * @param useCapture Determine the listener is running on the capture or running on the target and the bubbling phase. Set useCapture to true,
     * then the listener in the capture phase processing events, but not in the target or the bubbling phase processing events.
     * If useCapture is false, then the listener only in the target or the bubbling phase processing events.
     * To listen for events in all three stages, please call addEventListener two times: once the useCapture is set to true, once the useCapture is set to false.
     * @param priority Event listener priority. Priority is specified by a 32 - bit integer with a symbol. The higher the number, the higher the priority.
     * All listeners with a priority for n will be processed before the -1 n listener.
     * If two or more listeners share the same priority, they are processed in accordance with the order of their added. The default priority is 0.
     * @see RES.ResourceEvent
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 添加事件侦听器,参考 ResourceEvent 定义的常量。
     * @param type 事件的类型。
     * @param listener 处理事件的侦听器函数。此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果,
     * 如下面的示例所示: function(evt:Event):void 函数可以有任何名称。
     * @param thisObject 侦听函数绑定的 this 对象。
     * @param useCapture 确定侦听器是运行于捕获阶段还是运行于目标和冒泡阶段。如果将 useCapture 设置为 true,
     * 则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。如果 useCapture 为 false,则侦听器只在目标或冒泡阶段处理事件。
     * 要在所有三个阶段都侦听事件,请调用 addEventListener 两次:一次将 useCapture 设置为 true,一次将 useCapture 设置为 false。
     * @param priority 事件侦听器的优先级。优先级由一个带符号的 32 位整数指定。数字越大,优先级越高。优先级为 n 的所有侦听器会在
     * 优先级为 n -1 的侦听器之前得到处理。如果两个或更多个侦听器共享相同的优先级,则按照它们的添加顺序进行处理。默认优先级为 0。
     * @see RES.ResourceEvent
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function addEventListener(type: string, listener: (event: egret.Event) => void, thisObject: any, useCapture?: boolean, priority?: number): void;
    /**
     * Remove event listeners, reference ResourceEvent defined constants.
     * @param type Event name。
     * @param listener Listening function。
     * @param thisObject The this object that is bound to a function.
     * @param useCapture Is used to capture, and this property is only valid in the display list.
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 移除事件侦听器,参考ResourceEvent定义的常量。
     * @param type 事件名。
     * @param listener 侦听函数。
     * @param thisObject 侦听函数绑定的this对象。
     * @param useCapture 是否使用捕获,这个属性只在显示列表中生效。
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function removeEventListener(type: string, listener: (event: egret.Event) => void, thisObject: any, useCapture?: boolean): void;
    /**
     * Adding a custom resource configuration.
     * @param data To add configuration.
     * @version Egret 3.1.6
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 自定义添加一项资源配置。
     * @param data 要添加的配置。
     * @version Egret 3.1.6
     * @platform Web,Native
     * @language zh_CN
     */
    function $addResourceData(data: {
        name: string;
        type: string;
        url: string;
    }): void;
    /**
     * @private
     */
    class Resource extends egret.EventDispatcher {
        /**
         * 开始加载配置
         * @method RES.loadConfig
         */
        loadConfig(): Promise<void>;
        /**
         * 检查某个资源组是否已经加载完成
         * @method RES.isGroupLoaded
         * @param name {string}
         */
        isGroupLoaded(name: string): boolean;
        /**
         * 根据组名获取组加载项列表
         * @method RES.getGroupByName
         * @param name {string}
         */
        getGroupByName(name: string): Array<ResourceInfo>;
        /**
         * 根据组名加载一组资源
         * @method RES.loadGroup
         * @param name {string}
         * @param priority {number}
         */
        loadGroup(name: string, priority?: number, reporter?: PromiseTaskReporter): Promise<any>;
        private _loadGroup(name, priority?, reporter?);
        loadResources(keys: string[], reporter?: PromiseTaskReporter): Promise<any>;
        /**
         * 创建自定义的加载资源组,注意:此方法仅在资源配置文件加载完成后执行才有效。
         * 可以监听ResourceEvent.CONFIG_COMPLETE事件来确认配置加载完成。
         * @method RES.ResourceConfig#createGroup
         * @param name {string} 要创建的加载资源组的组名
         * @param keys {egret.Array<string>} 要包含的键名列表,key对应配置文件里的name属性或一个资源组名。
         * @param override {boolean} 是否覆盖已经存在的同名资源组,默认false。
         * @returns {boolean}
         */
        createGroup(name: string, keys: Array<string>, override?: boolean): boolean;
        /**
         * 检查配置文件里是否含有指定的资源
         * @method RES.hasRes
         * @param key {string} 对应配置文件里的name属性或subKeys属性的一项。
         * @returns {boolean}
         */
        hasRes(key: string): boolean;
        /**
         * 通过key同步获取资源
         * @method RES.getRes
         * @param key {string}
         * @returns {any}
         */
        getRes(resKey: string): any;
        /**
         * 通过key异步获取资源
         * @method RES.getResAsync
         * @param key {string}
         * @param compFunc {Function} 回调函数。示例:compFunc(data,url):void。
         * @param thisObject {any}
         */
        getResAsync(key: string): Promise<any>;
        getResAsync(key: string, compFunc: GetResAsyncCallback, thisObject: any): void;
        /**
         * 通过url获取资源
         * @method RES.getResByUrl
         * @param url {string}
         * @param compFunc {Function}
         * @param thisObject {any}
         * @param type {string}
         */
        getResByUrl(url: string, compFunc: Function, thisObject: any, type?: string): Promise<any> | void;
        /**
         * 销毁单个资源文件或一组资源的缓存数据,返回是否删除成功。
         * @method RES.destroyRes
         * @param name {string} 配置文件中加载项的name属性或资源组名
         * @param force {boolean} 销毁一个资源组时其他资源组有同样资源情况资源是否会被删除,默认值true
         * @returns {boolean}
         */
        destroyRes(name: string, force?: boolean): Promise<boolean>;
        /**
         * 设置最大并发加载线程数量,默认值是2.
         * @method RES.setMaxLoadingThread
         * @param thread {number} 要设置的并发加载数。
         */
        setMaxLoadingThread(thread: number): void;
        /**
         * 设置资源加载失败时的重试次数。
         * @param retry 要设置的重试次数。
         */
        setMaxRetryTimes(retry: number): void;
        addResourceData(data: {
            name: string;
            type: string;
            url: string;
        }): void;
    }
}


================================================
FILE: dev_kit/libs/modules/assetsmanager/assetsmanager.js
================================================
var __reflect = (this && this.__reflect) || function (p, c, t) {
    p.__class__ = c, t ? t.push(c) : t = [c], p.__types__ = p.__types__ ? t.concat(p.__types__) : t;
};
var __extends = this && this.__extends || function __extends(t, e) { 
 function r() { 
 this.constructor = t;
}
for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i]);
r.prototype = e.prototype, t.prototype = new r();
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var RES;
(function (RES) {
    RES.resourceNameSelector = function (p) { return p; };
    function getResourceInfo(path) {
        var result = RES.fileSystem.getFile(path);
        if (!result) {
            path = RES.resourceNameSelector(path);
            result = RES.fileSystem.getFile(path);
        }
        return result;
    }
    RES.getResourceInfo = getResourceInfo;
    var configItem;
    function setConfigURL(url, root) {
        var type;
        if (url.indexOf(".json") >= 0) {
            type = "legacyResourceConfig";
        }
        else {
            type = "resourceConfig";
        }
        configItem = { type: type, root: root, url: url, name: url };
    }
    RES.setConfigURL = setConfigURL;
    /**
     * @class RES.ResourceConfig
     * @classdesc
     * @private
     */
    var ResourceConfig = (function () {
        function ResourceConfig() {
        }
        ResourceConfig.prototype.init = function () {
            var _this = this;
            if (!this.config) {
                this.config = {
                    alias: {}, groups: {}, resourceRoot: configItem.root,
                    typeSelector: function () { return 'unknown'; }, mergeSelector: null,
                    fileSystem: null
                };
            }
            return RES.queue.loadResource(configItem).then(function (data) {
                return _this.parseConfig(data);
            }).catch(function (e) {
                if (!e.__resource_manager_error__) {
                    console.error(e.stack);
                    e = new RES.ResourceManagerError(1002);
                }
                return Promise.reject(e);
            });
        };
        /**
         * @internal
         */
        ResourceConfig.prototype.getGroupByName = function (name, shouldNotBeNull) {
            var group = this.config.groups[name];
            var result = [];
            if (!group) {
                if (shouldNotBeNull) {
                    throw new RES.ResourceManagerError(2005, name);
                }
                return null;
            }
            for (var _i = 0, group_1 = group; _i < group_1.length; _i++) {
                var paramKey = group_1[_i];
                var _a = RES.config.getResourceWithSubkey(paramKey, true), key = _a.key, subkey = _a.subkey;
                var r = RES.config.getResource(key, true);
                if (result.indexOf(r) == -1) {
                    result.push(r);
                }
            }
            return result;
        };
        ResourceConfig.prototype.__temp__get__type__via__url = function (url_or_alias) {
            var url = this.config.alias[url_or_alias];
            if (!url) {
                url = url_or_alias;
            }
            if (RES.resourceTypeSelector) {
                var type = RES.resourceTypeSelector(url);
                if (!type) {
                    throw new RES.ResourceManagerError(2004, url);
                }
                return type;
            }
            else {
                console.warn("RES.mapConfig 并未设置 typeSelector");
                return "unknown";
            }
        };
        ResourceConfig.prototype.getResourceWithSubkey = function (key, shouldNotBeNull) {
            key = this.getKeyByAlias(key);
            var index = key.indexOf("#");
            var subkey = "";
            if (index >= 0) {
                subkey = key.substr(index + 1);
                key = key.substr(0, index);
            }
            var r = this.getResource(key);
            if (!r) {
                if (shouldNotBeNull) {
                    var msg = subkey ? key + "#" + subkey : key;
                    throw new RES.ResourceManagerError(2006, msg);
                }
                else {
                    return null;
                }
            }
            else {
                return {
                    r: r, key: key, subkey: subkey
                };
            }
        };
        ResourceConfig.prototype.getKeyByAlias = function (aliasName) {
            if (this.config.alias[aliasName]) {
                return this.config.alias[aliasName];
            }
            else {
                return aliasName;
            }
        };
        ResourceConfig.prototype.getResource = function (path_or_alias, shouldNotBeNull) {
            var path = this.config.alias[path_or_alias];
            if (!path) {
                path = path_or_alias;
            }
            var r = getResourceInfo(path);
            if (!r) {
                if (shouldNotBeNull) {
                    throw new RES.ResourceManagerError(2006, path_or_alias);
                }
                return null;
            }
            return r;
        };
        /**
         * 根据组名获取原始的组加载项列表
         * @method RES.ResourceConfig#getRawGroupByName
         * @param name {string} 组名
         * @returns {Array<any>}
         * @internal
         */
        ResourceConfig.prototype.getGroup = function (name) {
            return this.getGroupByName(name);
        };
        // public getResourceInfos(folderName: string) {
        //     this.config.resources[]
        // }
        /**
         * 创建自定义的加载资源组,注意:此方法仅在资源配置文件加载完成后执行才有效。
         * 可以监听ResourceEvent.CONFIG_COMPLETE事件来确认配置加载完成。
         * @method RES.ResourceConfig#createGroup
         * @param name {string} 要创建的加载资源组的组名
         * @param keys {egret.Array<string>} 要包含的键名列表,key对应配置文件里的name属性或sbuKeys属性的一项或一个资源组名。
         * @param override {boolean} 是否覆盖已经存在的同名资源组,默认false。
         * @returns {boolean}
         */
        ResourceConfig.prototype.createGroup = function (name, keys, override) {
            if (override === void 0) { override = false; }
            if ((!override && this.config.groups[name]) || !keys || keys.length == 0) {
                return false;
            }
            var group = [];
            for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
                var key = keys_1[_i];
                if (this.config.groups[key]) {
                    var groupInfo = this.config.groups[key];
                    group = group.concat(groupInfo);
                }
                else {
                    group.push(key);
                }
            }
            this.config.groups[name] = group;
            return true;
            // var groupDic: any = this.groupDic;
            // var group: Array<any> = [];
            // var length: number = keys.length;
            // for (var i: number = 0; i < length; i++) {
            //     var key: string = keys[i];
            //     var g: Array<any> = groupDic[key];
            //     if (g) {
            //         var len: number = g.length;
            //         for (var j: number = 0; j < len; j++) {
            //             var item: any = g[j];
            //             if (group.indexOf(item) == -1)
            //                 group.push(item);
            //         }
            //     }
            //     else {
            //         item = this.keyMap[key];
            //         if (item) {
            //             if (group.indexOf(item) == -1)
            //                 group.push(item);
            //         }
            //         else {
            //             egret.$warn(3200, key);
            //         }
            //     }
            // }
            // if (group.length == 0)
            //     return false;
            // this.groupDic[name] = group;
            // return true;
        };
        /**
         * 解析一个配置文件
         * @internal
         * @method RES.ResourceConfig#parseConfig
         * @param data {any} 配置文件数据
         * @param folder {string} 加载项的路径前缀。
         */
        ResourceConfig.prototype.parseConfig = function (data) {
            this.config = data;
            RES.fileSystem = data.fileSystem;
            // if (!data)
            //     return;
            // var resources: Array<any> = data["resources"];
            // if (resources) {
            //     var length: number = resources.length;
            //     for (var i: number = 0; i < length; i++) {
            //         var item: any = resources[i];
            //         var url: string = item.url;
            //         if (url && url.indexOf("://") == -1)
            //             item.url = folder + url;
            //         this.addItemToKeyMap(item);
            //     }
            // }
            // var groups: Array<any> = data["groups"];
            // if (groups) {
            //     length = groups.length;
            //     for (i = 0; i < length; i++) {
            //         var group: any = groups[i];
            //         var list: Array<any> = [];
            //         var keys: Array<string> = (<string>group.keys).split(",");
            //         var l: number = keys.length;
            //         for (var j: number = 0; j < l; j++) {
            //             var name: string = keys[j].trim();
            //             item = this.keyMap[name];
            //             if (item && list.indexOf(item) == -1) {
            //                 list.push(item);
            //             }
            //         }
            //         this.groupDic[group.name] = list;
            //     }
            // }
        };
        /**
         * 添加一个二级键名到配置列表。
         * @method RES.ResourceConfig#addSubkey
         * @param subkey {string} 要添加的二级键名
         * @param name {string} 二级键名所属的资源name属性
         */
        ResourceConfig.prototype.addSubkey = function (subkey, name) {
            this.addAlias(subkey, name + "#" + subkey);
        };
        ResourceConfig.prototype.addAlias = function (alias, key) {
            if (this.config.alias[key]) {
                key = this.config.alias[key];
            }
            this.config.alias[alias] = key;
        };
        /**
         * 获取加载项类型。
         * @method RES.ResourceConfig#getType
         * @param key {string} 对应配置文件里的name属性或sbuKeys属性的一项。
         * @returns {string}
         */
        ResourceConfig.prototype.getType = function (key) {
            return this.getResource(key, true).type;
        };
        ResourceConfig.prototype.addResourceData = function (data) {
            if (!data.type) {
                data.type = this.__temp__get__type__via__url(data.url);
            }
            RES.fileSystem.addFile(data.url, data.type, data.root);
            if (data.name) {
                this.config.alias[data.name] = data.url;
            }
        };
        ResourceConfig.prototype.destory = function () {
            RES.systemPid++;
            var emptyFileSystem = {
                getFile: function () {
                    return null;
                },
                addFile: function () {
                },
                profile: function () {
                }
            };
            this.config = { groups: {}, alias: {}, fileSystem: emptyFileSystem, typeSelector: function (p) { return p; }, resourceRoot: "resources", mergeSelector: null };
        };
        return ResourceConfig;
    }());
    RES.ResourceConfig = ResourceConfig;
    __reflect(ResourceConfig.prototype, "RES.ResourceConfig");
})(RES || (RES = {}));
//////////////////////////////////////////////////////////////////////////////////////
//
//  Copyright (c) 2014-present, Egret Technology.
//  All rights reserved.
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions are met:
//
//     * Redistributions of source code must retain the above copyright
//       notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above copyright
//       notice, this list of conditions and the following disclaimer in the
//       documentation and/or other materials provided with the distribution.
//     * Neither the name of the Egret nor the
//       names of its contributors may be used to endorse or promote products
//       derived from this software without specific prior written permission.
//
//  THIS SOFTWARE IS PROVIDED BY EGRET AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
//  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
//  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
//  IN NO EVENT SHALL EGRET AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
//  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
//  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA,
//  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
//  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
//  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
//  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//////////////////////////////////////////////////////////////////////////////////////
var RES;
(function (RES) {
    /**
     * @class RES.ResourceLoader
     * @classdesc
     * @private
     */
    var ResourceLoader = (function () {
        function ResourceLoader() {
            /**
             * 当前组加载的项总个数,key为groupName
             */
            this.groupTotalDic = {};
            /**
             * 已经加载的项个数,key为groupName
             */
            this.numLoadedDic = {};
            /**
             * 正在加载的组列表,key为groupName
             */
            this.itemListDic = {};
            /**
             * 加载失败的组,key为groupName
             */
            this.groupErrorDic = {};
            this.retryTimesDic = {};
            this.maxRetryTimes = 3;
            /**
             * 优先级队列,key为priority,value为groupName列表
             */
            this.priorityQueue = {};
            this.reporterDic = {};
            this.dispatcherDic = {};
            this.failedList = new Array();
            this.loadItemErrorDic = {};
            this.errorDic = {};
            this.loadingCount = 0;
            this.thread = 4;
            this.queueIndex = 0;
        }
        ResourceLoader.prototype.load = function (list, groupName, priority, reporter) {
            if (this.itemListDic[groupName]) {
                return Promise.resolve();
            }
            var total = list.length;
            for (var i = 0; i < total; i++) {
                var resInfo = list[i];
                if (!resInfo.groupNames) {
                    resInfo.groupNames = [];
                }
                resInfo.groupNames.push(groupName);
            }
            this.itemListDic[groupName] = list;
            this.groupTotalDic[groupName] = list.length;
            this.numLoadedDic[groupName] = 0;
            if (this.priorityQueue[priority])
                this.priorityQueue[priority].push(groupName);
            else
                this.priorityQueue[priority] = [groupName];
            this.reporterDic[groupName] = reporter;
            var dispatcher = new egret.EventDispatcher();
            this.dispatcherDic[groupName] = dispatcher;
            var promise = new Promise(function (reslove, reject) {
                dispatcher.addEventListener("complete", reslove, null);
                dispatcher.addEventListener("error", function (e) {
                    reject(e.data);
                }, null);
            });
            this.next();
            return promise;
        };
        ResourceLoader.prototype.next = function () {
            var _this = this;
            var _loop_1 = function () {
                var r = this_1.getOneResourceInfo();
                if (!r)
                    return "break";
                this_1.loadingCount++;
                this_1.loadResource(r)
                    .then(function (response) {
                    _this.loadingCount--;
                    RES.host.save(r, response);
                    var groupName = r.groupNames.shift();
                    if (r.groupNames.length == 0) {
                        r.groupNames = undefined;
                    }
                    var reporter = _this.reporterDic[groupName];
                    _this.numLoadedDic[groupName]++;
                    var current = _this.numLoadedDic[groupName];
                    var total = _this.groupTotalDic[groupName];
                    if (reporter && reporter.onProgress) {
                        reporter.onProgress(current, total);
                    }
                    if (current == total) {
                        var groupError = _this.groupErrorDic[groupName];
                        _this.removeGroupName(groupName);
                        delete _this.groupTotalDic[groupName];
                        delete _this.numLoadedDic[groupName];
                        delete _this.itemListDic[groupName];
                        delete _this.groupErrorDic[groupName];
                        var dispatcher = _this.dispatcherDic[groupName];
                        if (groupError) {
                            var itemList = _this.loadItemErrorDic[groupName];
                            delete _this.loadItemErrorDic[groupName];
                            var error = _this.errorDic[groupName];
                            delete _this.errorDic[groupName];
                            dispatcher.dispatchEventWith("error", false, { itemList: itemList, error: error });
                        }
                        else {
                            dispatcher.dispatchEventWith("complete");
                        }
                    }
                    _this.next();
                }).catch(function (error) {
                    if (!error.__resource_manager_error__) {
                        throw error;
                    }
                    _this.loadingCount--;
                    delete RES.host.state[r.root + r.name];
                    var times = _this.retryTimesDic[r.name] || 1;
                    if (times > _this.maxRetryTimes) {
                        delete _this.retryTimesDic[r.name];
                        var groupName = r.groupNames.shift();
                        if (r.groupNames.length == 0) {
                            delete r.groupNames;
                        }
                        if (!_this.loadItemErrorDic[groupName]) {
                            _this.loadItemErrorDic[groupName] = [];
                        }
                        if (_this.loadItemErrorDic[groupName].indexOf(r) == -1) {
                            _this.loadItemErrorDic[groupName].push(r);
                        }
                        _this.groupErrorDic[groupName] = true;
                        var reporter = _this.reporterDic[groupName];
                        _this.numLoadedDic[groupName]++;
                        var current = _this.numLoadedDic[groupName];
                        var total = _this.groupTotalDic[groupName];
                        if (reporter && reporter.onProgress) {
                            reporter.onProgress(current, total);
                        }
                        if (current == total) {
                            var groupError = _this.groupErrorDic[groupName];
                            _this.removeGroupName(groupName);
                            delete _this.groupTotalDic[groupName];
                            delete _this.numLoadedDic[groupName];
                            delete _this.itemListDic[groupName];
                            delete _this.groupErrorDic[groupName];
                            var itemList = _this.loadItemErrorDic[groupName];
                            delete _this.loadItemErrorDic[groupName];
                            var dispatcher = _this.dispatcherDic[groupName];
                            dispatcher.dispatchEventWith("error", false, { itemList: itemList, error: error });
                        }
                        else {
                            _this.errorDic[groupName] = error;
                        }
                        _this.next();
                    }
                    else {
                        _this.retryTimesDic[r.name] = times + 1;
                        _this.failedList.push(r);
                        _this.next();
                        return;
                    }
                });
            };
            var this_1 = this;
            while (this.loadingCount < this.thread) {
                var state_1 = _loop_1();
                if (state_1 === "break")
                    break;
            }
        };
        /**
         * 从优先级队列中移除指定的组名
         */
        ResourceLoader.prototype.removeGroupName = function (groupName) {
            for (var p in this.priorityQueue) {
                var queue_1 = this.priorityQueue[p];
                var index = 0;
                var found = false;
                var length_1 = queue_1.length;
                for (var i = 0; i < length_1; i++) {
                    var name_1 = queue_1[i];
                    if (name_1 == groupName) {
                        queue_1.splice(index, 1);
                        found = true;
                        break;
                    }
                    index++;
                }
                if (found) {
                    if (queue_1.length == 0) {
                        delete this.priorityQueue[p];
                    }
                    break;
                }
            }
        };
        /**
         * 获取下一个待加载项
         */
        ResourceLoader.prototype.getOneResourceInfo = function () {
            if (this.failedList.length > 0)
                return this.failedList.shift();
            var maxPriority = Number.NEGATIVE_INFINITY;
            for (var p in this.priorityQueue) {
                maxPriority = Math.max(maxPriority, p);
            }
            var queue = this.priorityQueue[maxPriority];
            if (!queue || queue.length == 0) {
                return undefined;
            }
            var length = queue.length;
            var list = [];
            for (var i = 0; i < length; i++) {
                if (this.queueIndex >= length)
                    this.queueIndex = 0;
                list = this.itemListDic[queue[this.queueIndex]];
                if (list.length > 0)
                    break;
                this.queueIndex++;
            }
            if (list.length == 0)
                return undefined;
            return list.shift();
        };
        ResourceLoader.prototype.loadResource = function (r, p) {
            if (!p) {
                if (RES.FEATURE_FLAG.FIX_DUPLICATE_LOAD == 1) {
                    var s = RES.host.state[r.root + r.name];
                    if (s == 2) {
                        return Promise.resolve(RES.host.get(r));
                    }
                    if (s == 1) {
                        return r.promise;
                    }
                }
                p = RES.processor.isSupport(r);
            }
            if (!p) {
                throw new RES.ResourceManagerError(2001, r.name, r.type);
            }
            RES.host.state[r.root + r.name] = 1;
            var promise = p.onLoadStart(RES.host, r);
            r.promise = promise;
            return promise;
        };
        ResourceLoader.prototype.unloadResource = function (r) {
            var data = RES.host.get(r);
            if (!data) {
                console.warn("尝试释放不存在的资源:", r.name);
                return Promise.resolve();
            }
            var p = RES.processor.isSupport(r);
            if (p) {
                RES.host.state[r.root + r.name] = 3;
                var promise = p.onRemoveStart(RES.host, r);
                RES.host.remove(r);
                return promise;
            }
            else {
                return Promise.resolve();
            }
        };
        return ResourceLoader;
    }());
    RES.ResourceLoader = ResourceLoader;
    __reflect(ResourceLoader.prototype, "RES.ResourceLoader");
})(RES || (RES = {}));
var RES;
(function (RES) {
    var __tempCache = {};
    /**
     * 整个资源加载系统的进程id,协助管理回调派发机制
     */
    RES.systemPid = 0;
    RES.checkCancelation = function (target, propertyKey, descriptor) {
        var method = descriptor.value;
        descriptor.value = function () {
            var arg = [];
            for (var _i = 0; _i < arguments.length; _i++) {
                arg[_i] = arguments[_i];
            }
            var currentPid = RES.systemPid;
            var result = method.apply(this, arg);
            return result.then(function (value) {
                if (RES.systemPid != currentPid) {
                    throw new ResourceManagerError(1005, arg[0]);
                }
                else {
                    return value;
                }
            });
        };
    };
    function profile() {
        RES.fileSystem.profile();
        console.log(__tempCache);
        //todo 
        var totalImageSize = 0;
        for (var key in __tempCache) {
            var img = __tempCache[key];
            if (img instanceof egret.Texture) {
                totalImageSize += img.$bitmapWidth * img.$bitmapHeight * 4;
            }
        }
        console.log("gpu size : " + (totalImageSize / 1024).toFixed(3) + "kb");
    }
    RES.profile = profile;
    RES.host = {
        state: {},
        get resourceConfig() {
            return RES.config;
        },
        load: function (r, processorName) {
            var processor = typeof processorName == 'string' ? RES.processor._map[processorName] : processorName;
            return RES.queue.loadResource(r, processor);
        },
        unload: function (r) { return RES.queue.unloadResource(r); },
        save: function (resource, data) {
            RES.host.state[resource.root + resource.name] = 2;
            resource.promise = undefined;
            __tempCache[resource.url] = data;
        },
        get: function (resource) {
            return __tempCache[resource.url];
        },
        remove: function (resource) {
            RES.host.state[resource.root + resource.name] = 0;
            delete __tempCache[resource.url];
        }
    };
    RES.config = new RES.ResourceConfig();
    RES.queue = new RES.ResourceLoader();
    var ResourceManagerError = (function (_super) {
        __extends(ResourceManagerError, _super);
        function ResourceManagerError(code, replacer, replacer2) {
            var _this = _super.call(this) || this;
            /**
             * why instanceof e  != ResourceManagerError ???
             * see link : https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
             */
            _this.__resource_manager_error__ = true;
            _this.name = code.toString();
            _this.message = ResourceManagerError.errorMessage[code].replace("{0}", replacer).replace("{1}", replacer2);
            return _this;
        }
        ResourceManagerError.errorMessage = {
            1001: '文件加载失败:{0}',
            1002: "ResourceManager 初始化失败:配置文件加载失败",
            1005: 'ResourceManager 已被销毁,文件加载失败:{0}',
            2001: "{0}解析失败,不支持指定解析类型:\'{1}\',请编写自定义 Processor ,更多内容请参见 https://github.com/egret-labs/resourcemanager/blob/master/docs/README.md#processor",
            2002: "Analyzer 相关API 在 ResourceManager 中不再支持,请编写自定义 Processor ,更多内容请参见 https://github.com/egret-labs/resourcemanager/blob/master/docs/README.md#processor",
            2003: "{0}解析失败,错误原因:{1}",
            2004: "无法找到文件类型:{0}",
            2005: "资源配置文件中无法找到特定的资源组:{0}",
            2006: "资源配置文件中无法找到特定的资源:{0}"
        };
        return ResourceManagerError;
    }(Error));
    RES.ResourceManagerError = ResourceManagerError;
    __reflect(ResourceManagerError.prototype, "RES.ResourceManagerError");
})(RES || (RES = {}));
var RES;
(function (RES) {
    RES.checkNull = function (target, propertyKey, descriptor) {
        var method = descriptor.value;
        descriptor.value = function () {
            var arg = [];
            for (var _i = 0; _i < arguments.length; _i++) {
                arg[_i] = arguments[_i];
            }
            if (!arg[0]) {
                console.warn("\u65B9\u6CD5" + propertyKey + "\u7684\u53C2\u6570\u4E0D\u80FD\u4E3Anull");
                return null;
            }
            else {
                return method.apply(this, arg);
            }
        };
    };
    /**
     * 功能开关
     *  LOADING_STATE:处理重复加载
     */
    RES.FEATURE_FLAG = {
        FIX_DUPLICATE_LOAD: 1
    };
    var upgrade;
    (function (upgrade) {
        var _level = "warning";
        function setUpgradeGuideLevel(level) {
            _level = level;
        }
        upgrade.setUpgradeGuideLevel = setUpgradeGuideLevel;
    })(upgrade = RES.upgrade || (RES.upgrade = {}));
})(RES || (RES = {}));
var RES;
(function (RES) {
    var processor;
    (function (processor_1) {
        function isSupport(resource) {
            return processor_1._map[resource.type];
        }
        processor_1.isSupport = isSupport;
        function map(type, processor) {
            processor_1._map[type] = processor;
        }
        processor_1.map = map;
        function promisify(loader, resource) {
            return __awaiter(this, void 0, void 0, function () {
                var _this = this;
                return __generator(this, function (_a) {
                    return [2 /*return*/, new Promise(function (reslove, reject) {
                            var onSuccess = function () {
                                var texture = loader['data'] ? loader['data'] : loader['response'];
                                reslove(texture);
                            };
                            var onError = function () {
                                var e = new RES.ResourceManagerError(1001, resource.url);
                                reject(e);
                            };
                            loader.addEventListener(egret.Event.COMPLETE, onSuccess, _this);
                            loader.addEventListener(egret.IOErrorEvent.IO_ERROR, onError, _this);
                        })];
                });
            });
        }
        function getURL(resource) {
            if (resource.url.indexOf("://") != -1) {
                return resource.url;
            }
            var prefix = resource.root;
            var url = prefix + resource.url;
            if (RES['getRealURL']) {
                return RES['getRealURL'](url);
            }
            else {
                return url;
            }
        }
        function getRelativePath(url, file) {
            if (file.indexOf("://") != -1) {
                return file;
            }
            url = url.split("\\").join("/");
            var params = url.match(/#.*|\?.*/);
            var paramUrl = "";
            if (params) {
                paramUrl = params[0];
            }
            var index = url.lastIndexOf("/");
            if (index != -1) {
                url = url.substring(0, index + 1) + file;
            }
            else {
                url = file;
            }
            return url + paramUrl;
        }
        processor_1.getRelativePath = getRelativePath;
        // var cache: {[index:string]:egret.Texture} = {};
        processor_1.ImageProcessor = {
            onLoadStart: function (host, resource) {
                return __awaiter(this, void 0, void 0, function () {
                    var loader, bitmapData, texture, r, list;
                    return __generator(this, function (_a) {
                        switch (_a.label) {
                            case 0:
                                loader = new egret.ImageLoader();
                                loader.load(getURL(resource));
                                return [4 /*yield*/, promisify(loader, resource)];
                            case 1:
                                bitmapData = _a.sent();
                                texture = new egret.Texture();
                                texture._setBitmapData(bitmapData);
                                r = host.resourceConfig.getResource(resource.name);
                                if (r && r.scale9grid) {
                                    list = r.scale9grid.split(",");
                                    texture["scale9Grid"] = new egret.Rectangle(parseInt(list[0]), parseInt(list[1]), parseInt(list[2]), parseInt(list[3]));
                                }
                                // var config: any = resItem.data;
                                // if (config && config["scale9grid"]) {
                                //     
                                // }
                                return [2 /*return*/, texture];
                        }
                    });
                });
            },
            onRemoveStart: function (host, resource) {
                var texture = host.get(resource);
                texture.dispose();
                return Promise.resolve();
            }
        };
        processor_1.BinaryProcessor = {
            onLoadStart: function (host, resource) {
                return __awaiter(this, void 0, void 0, function () {
                    var request, arraybuffer;
                    return __generator(this, function (_a) {
                        switch (_a.label) {
                            case 0:
                                request = new egret.HttpRequest();
                                request.responseType = egret.HttpResponseType.ARRAY_BUFFER;
                                request.open(getURL(resource), "get");
                                request.send();
                                return [4 /*yield*/, promisify(request, resource)];
                            case 1:
                                arraybuffer = _a.sent();
                                return [2 /*return*/, arraybuffer];
                        }
                    });
                });
            },
            onRemoveStart: function (host, resource) {
                return Promise.resolve();
            }
        };
        processor_1.TextProcessor = {
            onLoadStart: function (host, resource) {
                return __awaiter(this, void 0, void 0, function () {
                    var request, text;
                    return __generator(this, function (_a) {
                        switch (_a.label) {
                            case 0:
                                request = new egret.HttpRequest();
                                request.responseType = egret.HttpResponseType.TEXT;
                                request.open(getURL(resource), "get");
                                request.send();
                                return [4 /*yield*/, promisify(request, resource)];
                            case 1:
                                text = _a.sent();
                                return [2 /*return*/, text];
                        }
                    });
                });
            },
            onRemoveStart: function (host, resource) {
                return Promise.resolve();
            }
        };
        processor_1.JsonProcessor = {
            onLoadStart: function (host, resource) {
                return __awaiter(this, void 0, void 0, function () {
                    var text, data;
                    return __generator(this, function (_a) {
                        switch (_a.label) {
                            case 0: return [4 /*yield*/, host.load(resource, 'text')];
                            case 1:
                                text = _a.sent();
                                data = JSON.parse(text);
                                return [2 /*return*/, data];
                        }
                    });
                });
            },
            onRemoveStart: function (host, request) {
                return Promise.resolve();
            }
        };
        processor_1.XMLProcessor = {
            onLoadStart: function (host, resource) {
                return __awaiter(this, void 0, void 0, function () {
                    var text, data;
                    return __generator(this, function (_a) {
                        switch (_a.label) {
                            case 0: return [4 /*yield*/, host.load(resource, 'text')];
                            case 1:
                                text = _a.sent();
                                data = egret.XML.parse(text);
                                return [2 /*return*/, data];
                        }
                    });
                });
            },
            onRemoveStart: function (host, resource) {
                return Promise.resolve();
            }
        };
        processor_1.CommonJSProcessor = {
            onLoadStart: function (host, resource) {
                return __awaiter(this, void 0, void 0, function () {
                    var text, f, require, exports;
                    return __generator(this, function (_a) {
                        switch (_a.label) {
                            case 0: return [4 /*yield*/, host.load(resource, 'text')];
                            case 1:
                                text = _a.sent();
                                f = new Function('require', 'exports', text);
                                require = function () { };
                                exports = {};
                                try {
                                    f(require, exports);
                                }
                                catch (e) {
                                    throw new RES.ResourceManagerError(2003, resource.name, e.message);
                                }
                                return [2 /*return*/, exports];
                        }
                    });
                });
            },
            onRemoveStart: function (host, resource) {
                return Promise.resolve();
            }
        };
        processor_1.SheetProcessor = {
            onLoadStart: function (host, resource) {
                return __awaiter(this, void 0, void 0, function () {
                    var data, imageName, r, texture, frames, spriteSheet, subkey, config, texture;
                    return __generator(this, function (_a) {
                        switch (_a.label) {
                            case 0: return [4 /*yield*/, host.load(resource, "json")];
                            case 1:
                                data = _a.sent();
                                imageName = getRelativePath(resource.url, data.file);
                                r = host.resourceConfig.getResource(data.file);
                                if (!r) {
                                    r = { name: imageName, url: imageName, type: 'image', root: resource.root };
                                }
                                return [4 /*yield*/, host.load(r)];
                            case 2:
                                texture = _a.sent();
                                frames = data.frames;
                                spriteSheet = new egret.SpriteSheet(texture);
                                spriteSheet["$resourceInfo"] = r;
                                for (subkey in frames) {
                                    config = frames[subkey];
                                    texture = spriteSheet.createTexture(subkey, config.x, config.y, config.w, config.h, config.offX, config.offY, config.sourceW, config.sourceH);
                                    // if (config["scale9grid"]) {
                                    //     var str: string = config["scale9grid"];
                                    //     var list: Array<string> = str.split(",");
                                    //     texture["scale9Grid"] = new egret.Rectangle(parseInt(list[0]), parseInt(list[1]), parseInt(list[2]), parseInt(list[3]));
                                    // }
                                    //     if (name) {
                                    //         this.addSubkey(subkey, name);
                                    //     }
                                }
                                // todo refactor
                                host.save(r, texture);
                                return [2 /*return*/, spriteSheet];
                        }
                    });
                });
            },
            getData: function (host, resource, key, subkey) {
                var data = host.get(resource);
                if (data) {
                    return data.getTexture(subkey);
                }
                else {
                    console.error("missing resource : " + key + "#" + subkey);
                    return null;
                }
            },
            onRemoveStart: function (host, resource) {
                var sheet = host.get(resource);
                var r = sheet["$resourceInfo"];
                host.unload(r);
                return Promise.resolve();
            }
        };
        var fontGetTexturePath = function (url, fntText) {
            var file = "";
            var lines = fntText.split("\n");
            var pngLine = lines[2];
            var index = pngLine.indexOf("file=\"");
            if (index != -1) {
                pngLine = pngLine.substring(index + 6);
                index = pngLine.indexOf("\"");
                file = pngLine.substring(0, index);
            }
            url = url.split("\\").join("/");
            var index = url.lastIndexOf("/");
            if (index != -1) {
                url = url.substring(0, index + 1) + file;
            }
            else {
                url = file;
            }
            return url;
        };
        processor_1.FontProcessor = {
            onLoadStart: function (host, resource) {
                return __awaiter(this, void 0, void 0, function () {
                    var data, config, imageFileName, r, texture, font;
                    return __generator(this, function (_a) {
                        switch (_a.label) {
                            case 0: return [4 /*yield*/, host.load(resource, 'text')];
                            case 1:
                                data = _a.sent();
                                try {
                                    config = JSON.parse(data);
                                }
                                catch (e) {
                                    config = data;
                                }
                                imageFileName = resource.name.replace("fnt", "png");
                                r = host.resourceConfig.getResource(imageFileName);
                                if (!r) {
                                    if (typeof config === 'string') {
                                        imageFileName = fontGetTexturePath(resource.url, config);
                                    }
                                    else {
                                        imageFileName = getRelativePath(resource.url, config.file);
                                    }
                                    r = { name: imageFileName, url: imageFileName, type: 'image', root: resource.root };
                                }
                                return [4 /*yield*/, host.load(r)];
                            case 2:
                                texture = _a.sent();
                                font = new egret.BitmapFont(texture, config);
                                font["$resourceInfo"] = r;
                                // todo refactor
                                host.save(r, texture);
                                return [2 /*return*/, font];
                        }
                    });
                });
            },
            onRemoveStart: function (host, resource) {
                var font = host.get(resource);
                var r = font["$resourceInfo"];
                host.unload(r);
                return Promise.resolve();
            }
        };
        processor_1.SoundProcessor = {
            onLoadStart: function (host, resource) {
                return __awaiter(this, void 0, void 0, function () {
                    var sound;
                    return __generator(this, function (_a) {
                        switch (_a.label) {
                            case 0:
                                sound = new egret.Sound();
                                sound.load(getURL(resource));
                                return [4 /*yield*/, promisify(sound, resource)];
                            case 1:
                                _a.sent();
                                return [2 /*return*/, sound];
                        }
                    });
                });
            },
            onRemoveStart: function (host, resource) {
                return Promise.resolve();
            }
        };
        processor_1.MovieClipProcessor = {
            onLoadStart: function (host, resource) {
                var mcData;
                var imageResource;
                return host.load(resource, 'json')
                    .then(function (value) {
                    mcData = value;
                    var jsonPath = resource.name;
                    var imagePath = jsonPath.substring(0, jsonPath.lastIndexOf(".")) + ".png";
                    imageResource = host.resourceConfig.getResource(imagePath, true);
                    if (!imageResource) {
                        throw new RES.ResourceManagerError(1001, imagePath);
                    }
                    return host.load(imageResource);
                }).then(function (value) {
                    host.save(imageResource, value);
                    var mcTexture = value;
                    var mcDataFactory = new egret.MovieClipDataFactory(mcData, mcTexture);
                    return mcDataFactory;
                });
            },
            onRemoveStart: function (host, resource) {
                var mcFactory = host.get(resource);
                mcFactory.clearCache();
                mcFactory.$spriteSheet.dispose();
                // refactor
                var jsonPath = resource.name;
                var imagePath = jsonPath.substring(0, jsonPath.lastIndexOf(".")) + ".png";
                var imageResource = host.resourceConfig.getResource(imagePath, true);
                return host.unload(imageResource);
            }
        };
        processor_1.MergeJSONProcessor = {
            onLoadStart: function (host, resource) {
                return __awaiter(this, void 0, void 0, function () {
                    var data, key;
                    return __generator(this, function (_a) {
                        switch (_a.label) {
                            case 0: return [4 /*yield*/, host.load(resource, 'json')];
                            case 1:
                                data = _a.sent();
                                for (key in data) {
                                    RES.config.addSubkey(key, resource.name);
                                }
                                return [2 /*return*/, data];
                        }
                    });
                });
            },
            getData: function (host, resource, key, subkey) {
                var data = host.get(resource);
                if (data) {
                    return data[subkey];
                }
                else {
                    console.error("missing resource :" + resource.name);
                    return null;
                }
            },
            onRemoveStart: function (host, resource) {
                return Promise.resolve();
            }
        };
        processor_1.ResourceConfigProcessor = {
            onLoadStart: function (host, resource) {
                return __awaiter(this, void 0, void 0, function () {
                    var data, fileSystem;
                    return __generator(this, function (_a) {
                        switch (_a.label) {
                            case 0: return [4 /*yield*/, host.load(resource, 'commonjs')];
                            case 1:
                                data = _a.sent();
                                fileSystem = new RES.NewFileSystem(data.resources);
                                data.fileSystem = fileSystem;
                                delete data.resource;
                                RES.resourceTypeSelector = data.typeSelector;
                                RES.resourceNameSelector = data.nameSelector ? data.nameSelector : function (p) { return p; };
                                return [2 /*return*/, data];
                        }
                    });
                });
            },
            onRemoveStart: function () {
                return __awaiter(this, void 0, void 0, function () {
                    return __generator(this, function (_a) {
                        return [2 /*return*/];
                    });
                });
            }
        };
        processor_1.LegacyResourceConfigProcessor = {
            onLoadStart: function (host, resource) {
                return host.load(resource, 'json').then(function (data) {
                    var resConfigData = RES.config.config;
                    var root = resource.root;
                    var fileSystem = resConfigData.fileSystem;
                    if (!fileSystem) {
                        fileSystem = {
                            fsData: {},
                            getFile: function (filename) {
                                return fsData[filename];
                            },
                            addFile: function (filename, type, root) {
                                if (!type)
                                    type = "";
                                if (root == undefined) {
                                    root = "";
                                }
                                fsData[filename] = { name: filename, type: type, url: filename, root: root };
                            },
                            profile: function () {
                                console.log(fsData);
                            }
                        };
                        resConfigData.fileSystem = fileSystem;
                    }
                    var groups = resConfigData.groups;
                    for (var _i = 0, _a = data.groups; _i < _a.length; _i++) {
                        var g = _a[_i];
                        groups[g.name] = g.keys.split(",");
                    }
                    var alias = resConfigData.alias;
                    var fsData = fileSystem['fsData'];
                    var _loop_2 = function (resource_1) {
                        fsData[resource_1.name] = resource_1;
                        fsData[resource_1.name].root = root;
                        if (resource_1.subkeys) {
                            resource_1.subkeys.split(",").forEach(function (subkey) {
                                alias[subkey] = resource_1.name + "#" + subkey;
                                alias[resource_1.name + "." + subkey] = resource_1.name + "#" + subkey;
                            });
                            // ResourceConfig.
                        }
                    };
                    for (var _b = 0, _c = data.resources; _b < _c.length; _b++) {
                        var resource_1 = _c[_b];
                        _loop_2(resource_1);
                    }
                    return resConfigData;
                });
            },
            onRemoveStart: function () {
                return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
                    return [2 /*return*/];
                }); });
            }
        };
        var PVRParser = (function () {
            function PVRParser() {
            }
            PVRParser.parse = function (arrayBuffer, callback, errorCallback) {
                // the header length of int32
                var headerIntLength = 13;
                // get header part of arrayBuffer
                var header = new Uint32Array(arrayBuffer, 0, headerIntLength);
                // separate buffer and header
                var pvrDatas = {
                    buffer: arrayBuffer,
                    header: header
                };
                // PVR v3
                if (header[0] === 0x03525650) {
                    PVRParser._parseV3(pvrDatas, callback, errorCallback);
                }
                else if (header[11] === 0x21525650) {
                    PVRParser._parseV2(pvrDatas, callback, errorCallback);
                }
                else {
                    errorCallback(pvrDatas, "pvr parse error!");
                }
            };
            PVRParser._parseV2 = function (pvrDatas, callback, errorCallback) {
                var header = pvrDatas.header;
                var headerLength = header[0], height = header[1], width = header[2], numMipmaps = header[3], flags = header[4], dataLength = header[5], bpp = header[6], bitmaskRed = header[7], bitmaskGreen = header[8], bitmaskBlue = header[9], bitmaskAlpha = header[10], pvrTag = header[11], numSurfs = header[12];
                var TYPE_MASK = 0xff;
                var PVRTC_2 = 24, PVRTC_4 = 25;
                var formatFlags = flags & TYPE_MASK;
                var bpp, format;
                var _hasAlpha = bitmaskAlpha > 0;
                if (formatFlags === PVRTC_4) {
                    format = _hasAlpha ? PVRParser.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG : PVRParser.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;
                    bpp = 4;
                }
                else if (formatFlags === PVRTC_2) {
                    format = _hasAlpha ? PVRParser.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG : PVRParser.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;
                    bpp = 2;
                }
                else {
                    errorCallback(pvrDatas, "pvr v2 parse error");
                    console.log("unknow format flags::" + formatFlags);
                }
                var dataOffset = headerLength;
                pvrDatas.pvrtcData = new Uint8Array(pvrDatas.buffer, dataOffset);
                pvrDatas.bpp = bpp;
                pvrDatas.format = format;
                pvrDatas.width = width;
                pvrDatas.height = height;
                pvrDatas.surfacesCount = numSurfs;
                pvrDatas.mipmapsCount = numMipmaps + 1;
                // guess cubemap type seems tricky in v2
                // it juste a pvr containing 6 surface (no explicit cubemap type)
                pvrDatas.isCubemap = (pvrDatas.surfacesCount === 6);
                callback(pvrDatas);
            };
            PVRParser._parseV3 = function (pvrDatas, callback, errorCallback) {
                var header = pvrDatas.header;
                var bpp, format;
                var pixelFormat = header[2];
                switch (pixelFormat) {
                    case 0:// PVRTC 2bpp RGB
                        bpp = 2;
                        format = PVRParser.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;
                        break;
                    case 1:// PVRTC 2bpp RGBA
                        bpp = 2;
                        format = PVRParser.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG;
                        break;
                    case 2:// PVRTC 4bpp RGB
                        bpp = 4;
                        format = PVRParser.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;
                        break;
                    case 3:// PVRTC 4bpp RGBA
                        bpp = 4;
                        format = PVRParser.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;
                        break;
                    default:
                        errorCallback(pvrDatas, "pvr v3 parse error");
                        console.log("unknow pixel format::" + pixelFormat);
                }
                var dataOffset = 52 + header[12];
                pvrDatas.pvrtcData = new Uint8Array(pvrDatas.buffer, dataOffset);
                pvrDatas.bpp = bpp;
                pvrDatas.format = format;
                pvrDatas.width = header[7];
                pvrDatas.height = header[6];
                pvrDatas.surfacesCount = header[10];
                pvrDatas.mipmapsCount = header[11];
                pvrDatas.isCubemap = (pvrDatas.surfacesCount === 6);
                callback(pvrDatas);
            };
            PVRParser.COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00;
            PVRParser.COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01;
            PVRParser.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02;
            PVRParser.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03;
            return PVRParser;
        }());
        __reflect(PVRParser.prototype, "PVRParser");
        if (typeof egret != 'undefined' && egret && egret["web"] && egret["web"].WebGLRenderContext) {
            // Calcualates the size of a compressed texture level in bytes
            function textureLevelSize(format, width, height) {
                switch (format) {
                    case PVRParser.COMPRESSED_RGB_PVRTC_4BPPV1_IMG:
                    case PVRParser.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:
                        return Math.floor((Math.max(width, 8) * Math.max(height, 8) * 4 + 7) / 8);
                    case PVRParser.COMPRESSED_RGB_PVRTC_2BPPV1_IMG:
                    case PVRParser.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:
                        return Math.floor((Math.max(width, 16) * Math.max(height, 8) * 2 + 7) / 8);
                    default:
                        return 0;
                }
            }
            egret["web"].WebGLRenderContext.prototype.createTextureFromCompressedData = function (data, width, height, levels, internalFormat) {
                var gl = this.context;
                if (!this.pvrtcExt) {
                    this.pvrtcExt = gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");
                }
                var texture = gl.createTexture();
                gl.bindTexture(gl.TEXTURE_2D, texture);
                var offset = 0;
                // Loop through each mip level of compressed texture data provided and upload it to the given texture.
                for (var i = 0; i < levels; ++i) {
                    // Determine how big this level of compressed texture data is in bytes.
                    var levelSize = textureLevelSize(internalFormat, width, height);
                    // Get a view of the bytes for this level of DXT data.
                    var dxtLevel = new Uint8Array(data.buffer, data.byteOffset + offset, levelSize);
                    // Upload!
                    gl.compressedTexImage2D(gl.TEXTURE_2D, i, internalFormat, width, height, 0, dxtLevel);
                    // The next mip level will be half the height and width of this one.
                    width = width >> 1;
                    if (width < 1)
                        width = 1;
                    height = height >> 1;
                    if (height < 1)
                        height = 1;
                    // Advance the offset into the compressed texture data past the current mip level's data.
                    offset += levelSize;
                }
                gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
                gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
                return texture;
            };
        }
        processor_1.PVRProcessor = {
            onLoadStart: function (host, resource) {
                return __awaiter(this, void 0, void 0, function () {
                    var arraybuffer, width, height, borderWidth, borderHeight, byteArray, list, pvrDataBuffer, i, buffer, dataLength, self, texture;
                    return __generator(this, function (_a) {
                        switch (_a.label) {
                            case 0: return [4 /*yield*/, host.load(resource, 'bin')];
                            case 1:
                                arraybuffer = _a.sent();
                                width = 512;
                                height = 512;
                                borderWidth = 0;
                                borderHeight = 0;
                                byteArray = new egret.ByteArray(arraybuffer);
                                byteArray.position = 7;
                                list = ["body", "ext"];
                                for (i = 0; i < list.length; i++) {
                                    buffer = void 0;
                                    switch (list[i]) {
                                        case "body":
                                            byteArray.position += 2;
                                            dataLength = byteArray.readUnsignedInt();
                                            pvrDataBuffer = byteArray.buffer.slice(byteArray.position, byteArray.position + dataLength);
                                            byteArray.position += dataLength;
                                            break;
                                        case "ext":
                                            byteArray.position += 6;
                                            width = byteArray.readUnsignedShort();
                                            height = byteArray.readUnsignedShort();
                                            borderWidth = byteArray.readUnsignedShort();
                                            borderHeight = byteArray.readUnsignedShort();
                                            break;
                                    }
                                }
                                self = this;
                                PVRParser.parse(pvrDataBuffer, function (pvrData) {
                                    var bitmapData = new egret.BitmapData(pvrData);
                                    bitmapData.format = "pvr";
                                    texture = new egret.Texture();
                                    texture._setBitmapData(bitmapData);
                                    texture.$initData(borderWidth, borderHeight, width, height, 0, 0, width, height, bitmapData.width, bitmapData.height);
                                }, function () {
                                    console.log("pvr error");
                                });
                                return [2 /*return*/, texture];
                        }
                    });
                });
            },
            onRemoveStart: function (host, resource) {
                return Promise.resolve();
            }
        };
        processor_1._map = {
            "image": processor_1.ImageProcessor,
            "json": processor_1.JsonProcessor,
            "text": processor_1.TextProcessor,
            "xml": processor_1.XMLProcessor,
            "sheet": processor_1.SheetProcessor,
            "font": processor_1.FontProcessor,
            "bin": processor_1.BinaryProcessor,
            "commonjs": processor_1.CommonJSProcessor,
            "sound": processor_1.SoundProcessor,
            "movieclip": processor_1.MovieClipProcessor,
            "pvr": processor_1.PVRProcessor,
            "mergeJson": processor_1.MergeJSONProcessor,
            "resourceConfig": processor_1.ResourceConfigProcessor,
            "legacyResourceConfig": processor_1.LegacyResourceConfigProcessor,
        };
    })(processor = RES.processor || (RES.processor = {}));
})(RES || (RES = {}));
var RES;
(function (RES) {
    var NewFileSystem = (function () {
        function NewFileSystem(data) {
            this.data = data;
        }
        NewFileSystem.prototype.profile = function () {
            console.log(this.data);
        };
        NewFileSystem.prototype.addFile = function (filename, type) {
            if (!type)
                type = "";
            filename = RES.path.normalize(filename);
            var basefilename = RES.path.basename(filename);
            var folder = RES.path.dirname(filename);
            if (!this.exists(folder)) {
                this.mkdir(folder);
            }
            var d = this.reslove(folder);
            d[basefilename] = { url: filename, type: type };
        };
        NewFileSystem.prototype.getFile = function (filename) {
            var result = this.reslove(filename);
            if (result) {
                result.name = filename;
            }
            return result;
        };
        NewFileSystem.prototype.reslove = function (dirpath) {
            if (dirpath == "") {
                return this.data;
            }
            dirpath = RES.path.normalize(dirpath);
            var list = dirpath.split("/");
            var current = this.data;
            for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
                var f = list_1[_i];
                if (current) {
                    current = current[f];
                }
                else {
                    return current;
                }
            }
            return current;
        };
        NewFileSystem.prototype.mkdir = function (dirpath) {
            dirpath = RES.path.normalize(dirpath);
            var list = dirpath.split("/");
            var current = this.data;
            for (var _i = 0, list_2 = list; _i < list_2.length; _i++) {
                var f = list_2[_i];
                if (!current[f]) {
                    current[f] = {};
                }
                current = current[f];
            }
        };
        NewFileSystem.prototype.exists = function (dirpath) {
            if (dirpath == "")
                return true;
            dirpath = RES.path.normalize(dirpath);
            var list = dirpath.split("/");
            var current = this.data;
            for (var _i = 0, list_3 = list; _i < list_3.length; _i++) {
                var f = list_3[_i];
                if (!current[f]) {
                    return false;
                }
                current = current[f];
            }
            return true;
        };
        return NewFileSystem;
    }());
    RES.NewFileSystem = NewFileSystem;
    __reflect(NewFileSystem.prototype, "RES.NewFileSystem");
})(RES || (RES = {}));
//////////////////////////////////////////////////////////////////////////////////////
//
//  Copyright (c) 2014-present, Egret Technology.
//  All rights reserved.
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions are met:
//
//     * Redistributions of source code must retain the above copyright
//       notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above copyright
//       notice, this list of conditions and the following disclaimer in the
//       documentation and/or other materials provided with the distribution.
//     * Neither the name of the Egret nor the
//       names of its contributors may be used to endorse or promote products
//       derived from this software without specific prior written permission.
//
//  THIS SOFTWARE IS PROVIDED BY EGRET AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
//  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
//  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
//  IN NO EVENT SHALL EGRET AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
//  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
//  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA,
//  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
//  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
//  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
//  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//////////////////////////////////////////////////////////////////////////////////////
var RES;
(function (RES) {
    /**
     * The events of resource loading.
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 资源加载事件。
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    var ResourceEvent = (function (_super) {
        __extends(ResourceEvent, _super);
        /**
         * Creates an Event object to pass as a parameter to event listeners.
         * @param type  The type of the event, accessible as Event.type.
         * @param bubbles  Determines whether the Event object participates in the bubbling stage of the event flow. The default value is false.
         * @param cancelable Determines whether the Event object can be canceled. The default values is false.
         * @version Egret 2.4
         * @platform Web,Native
         * @private
         * @language en_US
         */
        /**
         * 创建一个作为参数传递给事件侦听器的 Event 对象。
         * @param type  事件的类型,可以作为 Event.type 访问。
         * @param bubbles  确定 Event 对象是否参与事件流的冒泡阶段。默认值为 false。
         * @param cancelable 确定是否可以取消 Event 对象。默认值为 false。
         * @version Egret 2.4
         * @platform Web,Native
         * @private
         * @language zh_CN
         */
        function ResourceEvent(type, bubbles, cancelable) {
            if (bubbles === void 0) { bubbles = false; }
            if (cancelable === void 0) { cancelable = false; }
            var _this = _super.call(this, type, bubbles, cancelable) || this;
            /**
             * File number that has been loaded.
             * @version Egret 2.4
             * @platform Web,Native
             * @language en_US
             */
            /**
             * 已经加载的文件数。
             * @version Egret 2.4
             * @platform Web,Native
             * @language zh_CN
             */
            _this.itemsLoaded = 0;
            /**
             * Total file number to load.
             * @version Egret 2.4
             * @platform Web,Native
             * @language en_US
             */
            /**
             * 要加载的总文件数。
             * @version Egret 2.4
             * @platform Web,Native
             * @language zh_CN
             */
            _this.itemsTotal = 0;
            /**
             * Resource group name.
             * @version Egret 2.4
             * @platform Web,Native
             * @language en_US
             */
            /**
             * 资源组名。
             * @version Egret 2.4
             * @platform Web,Native
             * @language zh_CN
             */
            _this.groupName = "";
            return _this;
        }
        /**
         * 使用指定的EventDispatcher对象来抛出事件对象。抛出的对象将会缓存在对象池上,供下次循环复用。
         * @method RES.ResourceEvent.dispatchResourceEvent
         * @param target {egret.IEventDispatcher}
         * @param type {string}
         * @param groupName {string}
         * @param resItem {egret.ResourceItem}
         * @param itemsLoaded {number}
         * @param itemsTotal {number}
         * @internal
         * @private
         */
        ResourceEvent.dispatchResourceEvent = function (target, type, groupName, resItem, itemsLoaded, itemsTotal) {
            if (groupName === void 0) { groupName = ""; }
            if (resItem === void 0) { resItem = undefined; }
            if (itemsLoaded === void 0) { itemsLoaded = 0; }
            if (itemsTotal === void 0) { itemsTotal = 0; }
            var event = egret.Event.create(ResourceEvent, type);
            event.groupName = groupName;
            if (resItem) {
                event.resItem = RES.ResourceItem.convertToResItem(resItem);
            }
            event.itemsLoaded = itemsLoaded;
            event.itemsTotal = itemsTotal;
            var result = target.dispatchEvent(event);
            egret.Event.release(event);
            return result;
        };
        /**
         * Failure event for a load item.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 一个加载项加载失败事件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceEvent.ITEM_LOAD_ERROR = "itemLoadError";
        /**
         * Configure file to load and parse the completion event. Note: if a configuration file is loaded, it will not be thrown out, and if you want to handle the configuration loading failure, monitor the CONFIG_LOAD_ERROR event.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 配置文件加载并解析完成事件。注意:若有配置文件加载失败,将不会抛出此事件,若要处理配置加载失败,请同时监听 CONFIG_LOAD_ERROR 事件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceEvent.CONFIG_COMPLETE = "configComplete";
        /**
         * Configuration file failed to load.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 配置文件加载失败事件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceEvent.CONFIG_LOAD_ERROR = "configLoadError";
        /**
         * Delay load group resource loading progress event.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 延迟加载组资源加载进度事件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceEvent.GROUP_PROGRESS = "groupProgress";
        /**
         * Delay load group resource to complete event. Note: if you have a resource item loading failure, the event will not be thrown, if you want to handle the group load failure, please listen to the GROUP_LOAD_ERROR event.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 延迟加载组资源加载完成事件。注意:若组内有资源项加载失败,将不会抛出此事件,若要处理组加载失败,请同时监听 GROUP_LOAD_ERROR 事件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceEvent.GROUP_COMPLETE = "groupComplete";
        /**
         * Delayed load group resource failed event.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 延迟加载组资源加载失败事件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceEvent.GROUP_LOAD_ERROR = "groupLoadError";
        return ResourceEvent;
    }(egret.Event));
    RES.ResourceEvent = ResourceEvent;
    __reflect(ResourceEvent.prototype, "RES.ResourceEvent");
})(RES || (RES = {}));
//////////////////////////////////////////////////////////////////////////////////////
//
//  Copyright (c) 2014-present, Egret Technology.
//  All rights reserved.
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions are met:
//
//     * Redistributions of source code must retain the above copyright
//       notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above copyright
//       notice, this list of conditions and the following disclaimer in the
//       documentation and/or other materials provided with the distribution.
//     * Neither the name of the Egret nor the
//       names of its contributors may be used to endorse or promote products
//       derived from this software without specific prior written permission.
//
//  THIS SOFTWARE IS PROVIDED BY EGRET AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
//  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
//  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
//  IN NO EVENT SHALL EGRET AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
//  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
//  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA,
//  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
//  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
//  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
//  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//////////////////////////////////////////////////////////////////////////////////////
var RES;
(function (RES) {
    /**
     * Resource term. One of the resources arrays in resource.json.
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 资源项。对应 resource.json 中 resources 数组中的一项。
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    var ResourceItem;
    (function (ResourceItem) {
        /**
         * XML file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * XML 文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceItem.TYPE_XML = "xml";
        /**
         * Picture file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 图片文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceItem.TYPE_IMAGE = "image";
        /**
         * Binary file.
         * @version Egret 2.4
         * @platform Web
         * @language en_US
         */
        /**
         * 二进制文件。
         * @version Egret 2.4
         * @platform Web
         * @language zh_CN
         */
        ResourceItem.TYPE_BIN = "bin";
        /**
         * Text file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 文本文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceItem.TYPE_TEXT = "text";
        /**
         * JSON file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * JSON 文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceItem.TYPE_JSON = "json";
        /**
         * SpriteSheet file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * SpriteSheet 文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceItem.TYPE_SHEET = "sheet";
        /**
         * BitmapTextSpriteSheet file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * BitmapTextSpriteSheet 文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceItem.TYPE_FONT = "font";
        /**
         * Sound file.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 声音文件。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        ResourceItem.TYPE_SOUND = "sound";
        function convertToResItem(r) {
            var name = r.name;
            if (!RES.config.config) {
                name = r.url;
            }
            else {
                for (var aliasName in RES.config.config.alias) {
                    if (RES.config.config.alias[aliasName] == r.url) {
                        name = aliasName;
                    }
                }
            }
            var result = {
                name: name,
                url: r.url,
                type: r.type,
                data: r,
                root: r.root
            };
            return result;
        }
        ResourceItem.convertToResItem = convertToResItem;
    })(ResourceItem = RES.ResourceItem || (RES.ResourceItem = {}));
})(RES || (RES = {}));
var RES;
(function (RES) {
    var path;
    (function (path_1) {
        path_1.normalize = function (filename) {
            var arr = filename.split("/");
            return arr.filter(function (value, index) { return !!value || index == arr.length - 1; }).join("/");
        };
        path_1.basename = function (filename) {
            return filename.substr(filename.lastIndexOf("/") + 1);
        };
        path_1.dirname = function (path) {
            return path.substr(0, path.lastIndexOf("/"));
        };
    })(path = RES.path || (RES.path = {}));
})(RES || (RES = {}));
var RES;
(function (RES) {
    var versionInfo;
    /**
     * @internal
     */
    function native_init() {
        if (egret.Capabilities.runtimeType == egret.RuntimeType.NATIVE) {
            versionInfo = getLocalData("all.manifest");
        }
    }
    RES.native_init = native_init;
    /**
     * @internal
     */
    function getRealURL(url) {
        if (versionInfo && versionInfo[url]) {
            return "resource/" + versionInfo[url].v.substring(0, 2) + "/" + versionInfo[url].v + "_" + versionInfo[url].s + "." + url.substring(url.lastIndexOf(".") + 1);
        }
        else {
            return url;
        }
    }
    RES.getRealURL = getRealURL;
    function getLocalData(filePath) {
        if (egret_native.readUpdateFileSync && egret_native.readResourceFileSync) {
            //先取更新目录
            var content = egret_native.readUpdateFileSync(filePath);
            if (content != null) {
                return JSON.parse(content);
            }
            //再取资源目录
            content = egret_native.readResourceFileSync(filePath);
            if (content != null) {
                return JSON.parse(content);
            }
        }
        return null;
    }
})(RES || (RES = {}));
//////////////////////////////////////////////////////////////////////////////////////
//
//  Copyright (c) 2014-present, Egret Technology.
//  All rights reserved.
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions are met:
//
//     * Redistributions of source code must retain the above copyright
//       notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above copyright
//       notice, this list of conditions and the following disclaimer in the
//       documentation and/or other materials provided with the distribution.
//     * Neither the name of the Egret nor the
//       names of its contributors may be used to endorse or promote products
//       derived from this software without specific prior written permission.
//
//  THIS SOFTWARE IS PROVIDED BY EGRET AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
//  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
//  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
//  IN NO EVENT SHALL EGRET AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
//  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
//  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA,
//  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
//  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
//  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
//  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//////////////////////////////////////////////////////////////////////////////////////
var RES;
(function (RES) {
    /**
     * Conduct mapping injection with class definition as the value.
     * @param type Injection type.
     * @param analyzerClass Injection type classes need to be resolved.
     * @version Egret 2.4
     * @platform Web,Native
     * @includeExample extension/resource/Resource.ts
     * @language en_US
     */
    /**
     * 以类定义为值进行映射注入。
     * @param type 注入的类型。
     * @param analyzerClass 注入类型需要解析的类。
     * @version Egret 2.4
     * @platform Web,Native
     * @includeExample extension/resource/Resource.ts
     * @language zh_CN
     */
    function registerAnalyzer(type, analyzerClass) {
        throw new RES.ResourceManagerError(2002);
    }
    RES.registerAnalyzer = registerAnalyzer;
    /**
     * Load configuration file and parse.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 加载配置文件并解析。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function loadConfig(url, resourceRoot) {
        if (resourceRoot.indexOf('://') >= 0) {
            var temp = resourceRoot.split('://');
            resourceRoot = temp[0] + '://' + RES.path.normalize(temp[1] + '/');
        }
        else {
            resourceRoot = RES.path.normalize(resourceRoot + "/");
            url = url.replace(resourceRoot, '');
        }
        RES.setConfigURL(url, resourceRoot);
        if (!instance)
            instance = new Resource();
        return instance.loadConfig();
    }
    RES.loadConfig = loadConfig;
    /**
     * Load a set of resources according to the group name.
     * @param name Group name to load the resource group.
     * @param priority Load priority can be negative, the default value is 0.
     * <br>A low priority group must wait for the high priority group to complete the end of the load to start, and the same priority group will be loaded at the same time.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 根据组名加载一组资源。
     * @param name 要加载资源组的组名。
     * @param priority 加载优先级,可以为负数,默认值为 0。
     * <br>低优先级的组必须等待高优先级组完全加载结束才能开始,同一优先级的组会同时加载。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function loadGroup(name, priority, reporter) {
        if (priority === void 0) { priority = 0; }
        return instance.loadGroup(name, priority, reporter);
    }
    RES.loadGroup = loadGroup;
    /**
     * Check whether a resource group has been loaded.
     * @param name Group name。
     * @returns Is loading or not.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 检查某个资源组是否已经加载完成。
     * @param name 组名。
     * @returns 是否正在加载。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function isGroupLoaded(name) {
        return instance.isGroupLoaded(name);
    }
    RES.isGroupLoaded = isGroupLoaded;
    /**
     * A list of groups of loading is obtained according to the group name.
     * @param name Group name.
     * @returns The resource item array of group.
     * @see RES.ResourceItem
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 根据组名获取组加载项列表。
     * @param name 组名。
     * @returns 加载项列表。
     * @see RES.ResourceItem
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function getGroupByName(name) {
        return instance.getGroupByName(name).map(function (r) { return RES.ResourceItem.convertToResItem(r); });
    }
    RES.getGroupByName = getGroupByName;
    /**
     * Create a custom load resource group, note that this method is valid only after the resource configuration file is loaded.
     * <br>You can monitor the ResourceEvent.CONFIG_COMPLETE event to verify that the configuration is complete.
     * @param name Group name to create the load resource group.
     * @param keys To be included in the list of key keys, the corresponding configuration file in the name or sbuKeys property one or a resource group name.
     * @param override Is the default false for the same name resource group already exists.
     * @returns Create success or fail.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 创建自定义的加载资源组,注意:此方法仅在资源配置文件加载完成后执行才有效。
     * <br>可以监听 ResourceEvent.CONFIG_COMPLETE 事件来确认配置加载完成。
     * @param name 要创建的加载资源组的组名。
     * @param keys 要包含的键名列表,key 对应配置文件里的 name 属性或 sbuKeys 属性的一项或一个资源组名。
     * @param override 是否覆盖已经存在的同名资源组,默认 false。
     * @returns 是否创建成功。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function createGroup(name, keys, override) {
        if (override === void 0) { override = false; }
        return instance.createGroup(name, keys, override);
    }
    RES.createGroup = createGroup;
    /**
     * Check whether the configuration file contains the specified resources.
     * @param key A sbuKeys attribute or name property in a configuration file.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 检查配置文件里是否含有指定的资源。
     * @param key 对应配置文件里的 name 属性或 sbuKeys 属性的一项。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function hasRes(key) {
        return instance.hasRes(key);
    }
    RES.hasRes = hasRes;
    /**
     * The synchronization method for obtaining the cache has been loaded with the success of the resource.
     * <br>The type of resource and the corresponding return value types are as follows:
     * <br>RES.ResourceItem.TYPE_BIN : ArrayBuffer JavaScript primary object
     * <br>RES.ResourceItem.TYPE_IMAGE : img Html Object,or egret.BitmapData interface。
     * <br>RES.ResourceItem.TYPE_JSON : Object
     * <br>RES.ResourceItem.TYPE_SHEET : Object
     * <br>  1. If the incoming parameter is the name of the entire SpriteSheet is returned is {image1: Texture, "image2": Texture}.
     * <br>  2. If the incoming is "sheet.image1", the return is a single resource.
     * <br>  3. If the incoming is the name of the "image1" single resource, the return is a single resource.
     * But if there are two SpriteSheet in a single picture of the same name, the return of the image after the load.
     * <br>RES.ResourceItem.TYPE_SOUND : HtmlSound Html Object
     * <br>RES.ResourceItem.TYPE_TEXT : string
     * @param key A subKeys attribute or name property in a configuration file.
     * @see RES.ResourceItem
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 同步方式获取缓存的已经加载成功的资源。
     * <br>资源类型和对应的返回值类型关系如下:
     * <br>RES.ResourceItem.TYPE_BIN : ArrayBuffer JavaScript 原生对象
     * <br>RES.ResourceItem.TYPE_IMAGE : img Html 对象,或者 egret.BitmapData 接口。
     * <br>RES.ResourceItem.TYPE_JSON : Object
     * <br>RES.ResourceItem.TYPE_SHEET : Object
     * <br>  1. 如果传入的参数是整个 SpriteSheet 的名称返回的是 {"image1":Texture,"image2":Texture} 这样的格式。
     * <br>  2. 如果传入的是 "sheet.image1",返回的是单个资源。
     * <br>  3. 如果传入的是 "image1" 单个资源的名称,返回的是单个资源。但是如果有两张 SpriteSheet 中有单个图片资源名称相同,返回的是后加载的那个图片资源。
     * <br>RES.ResourceItem.TYPE_SOUND : HtmlSound Html 对象
     * <br>RES.ResourceItem.TYPE_TEXT : string
     * @param key 对应配置文件里的 name 属性或 subKeys 属性的一项。
     * @see RES.ResourceItem
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function getRes(key) {
        return instance.getRes(key);
    }
    RES.getRes = getRes;
    function getResAsync(key, compFunc, thisObject) {
        return instance.getResAsync.apply(instance, arguments);
    }
    RES.getResAsync = getResAsync;
    /**
     * Access to external resources through the full URL.
     * @param url The external path to load the file.
     * @param compFunc Call back function. Example:compFunc(data,url):void。
     * @param thisObject This pointer of call back function.
     * @param type File type (optional). Use the static constants defined in the ResourceItem class. If you do not set the file name extension.
     * @version Egret 2.4
     * @platform Web,Native
     * @includeExample extension/resource/GetResByUrl.ts
     * @language en_US
     */
    /**
     * 通过完整URL方式获取外部资源。
     * @param url 要加载文件的外部路径。
     * @param compFunc 回调函数。示例:compFunc(data,url):void。
     * @param thisObject 回调函数的 this 引用。
     * @param type 文件类型(可选)。请使用 ResourceItem 类中定义的静态常量。若不设置将根据文件扩展名生成。
     * @version Egret 2.4
     * @platform Web,Native
     * @includeExample extension/resource/GetResByUrl.ts
     * @language zh_CN
     */
    function getResByUrl(url, compFunc, thisObject, type) {
        if (type === void 0) { type = ""; }
        instance.getResByUrl(url, compFunc, thisObject, type);
    }
    RES.getResByUrl = getResByUrl;
    /**
     * Destroy a single resource file or a set of resources to the cache data, to return whether to delete success.
     * @param name Name attribute or resource group name of the load item in the configuration file.
     * @param force Destruction of a resource group when the other resources groups have the same resource situation whether the resources will be deleted, the default value true.
     * @returns Are successful destruction.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 销毁单个资源文件或一组资源的缓存数据,返回是否删除成功。
     * @param name 配置文件中加载项的name属性或资源组名。
     * @param force 销毁一个资源组时其他资源组有同样资源情况资源是否会被删除,默认值 true。
     * @see #setMaxRetryTimes
     * @returns 是否销毁成功。
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function destroyRes(name, force) {
        return instance.destroyRes(name, force);
    }
    RES.destroyRes = destroyRes;
    /**
     * Sets the maximum number of concurrent load threads, the default value is 2.
     * @param thread The number of concurrent loads to be set.
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 设置最大并发加载线程数量,默认值是 2。
     * @param thread 要设置的并发加载数。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function setMaxLoadingThread(thread) {
        if (!instance)
            instance = new Resource();
        instance.setMaxLoadingThread(thread);
    }
    RES.setMaxLoadingThread = setMaxLoadingThread;
    /**
     * Sets the number of retry times when the resource failed to load, and the default value is 3.
     * @param retry To set the retry count.
     * @includeExample extension/resource/Resource.ts
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 设置资源加载失败时的重试次数,默认值是 3。
     * @param retry 要设置的重试次数。
     * @includeExample extension/resource/Resource.ts
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function setMaxRetryTimes(retry) {
        instance.setMaxRetryTimes(retry);
    }
    RES.setMaxRetryTimes = setMaxRetryTimes;
    /**
     * Add event listeners, reference ResourceEvent defined constants.
     * @param type Event name。
     * @param listener Listener functions for handling events. This function must accept the Event object as its only parameter, and can't return any results,
     * As shown in the following example: function (evt:Event):void can have any name.
     * @param thisObject The this object that is bound to a function.
     * @param useCapture Determine the listener is running on the capture or running on the target and the bubbling phase. Set useCapture to true,
     * then the listener in the capture phase processing events, but not in the target or the bubbling phase processing events.
     * If useCapture is false, then the listener only in the target or the bubbling phase processing events.
     * To listen for events in all three stages, please call addEventListener two times: once the useCapture is set to true, once the useCapture is set to false.
     * @param priority Event listener priority. Priority is specified by a 32 - bit integer with a symbol. The higher the number, the higher the priority.
     * All listeners with a priority for n will be processed before the -1 n listener.
     * If two or more listeners share the same priority, they are processed in accordance with the order of their added. The default priority is 0.
     * @see RES.ResourceEvent
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 添加事件侦听器,参考 ResourceEvent 定义的常量。
     * @param type 事件的类型。
     * @param listener 处理事件的侦听器函数。此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果,
     * 如下面的示例所示: function(evt:Event):void 函数可以有任何名称。
     * @param thisObject 侦听函数绑定的 this 对象。
     * @param useCapture 确定侦听器是运行于捕获阶段还是运行于目标和冒泡阶段。如果将 useCapture 设置为 true,
     * 则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。如果 useCapture 为 false,则侦听器只在目标或冒泡阶段处理事件。
     * 要在所有三个阶段都侦听事件,请调用 addEventListener 两次:一次将 useCapture 设置为 true,一次将 useCapture 设置为 false。
     * @param priority 事件侦听器的优先级。优先级由一个带符号的 32 位整数指定。数字越大,优先级越高。优先级为 n 的所有侦听器会在
     * 优先级为 n -1 的侦听器之前得到处理。如果两个或更多个侦听器共享相同的优先级,则按照它们的添加顺序进行处理。默认优先级为 0。
     * @see RES.ResourceEvent
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function addEventListener(type, listener, thisObject, useCapture, priority) {
        if (useCapture === void 0) { useCapture = false; }
        if (priority === void 0) { priority = 0; }
        if (!instance)
            instance = new Resource();
        instance.addEventListener(type, listener, thisObject, useCapture, priority);
    }
    RES.addEventListener = addEventListener;
    /**
     * Remove event listeners, reference ResourceEvent defined constants.
     * @param type Event name。
     * @param listener Listening function。
     * @param thisObject The this object that is bound to a function.
     * @param useCapture Is used to capture, and this property is only valid in the display list.
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 移除事件侦听器,参考ResourceEvent定义的常量。
     * @param type 事件名。
     * @param listener 侦听函数。
     * @param thisObject 侦听函数绑定的this对象。
     * @param useCapture 是否使用捕获,这个属性只在显示列表中生效。
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    function removeEventListener(type, listener, thisObject, useCapture) {
        if (useCapture === void 0) { useCapture = false; }
        instance.removeEventListener(type, listener, thisObject, useCapture);
    }
    RES.removeEventListener = removeEventListener;
    /**
     * Adding a custom resource configuration.
     * @param data To add configuration.
     * @version Egret 3.1.6
     * @platform Web,Native
     * @language en_US
     */
    /**
     * 自定义添加一项资源配置。
     * @param data 要添加的配置。
     * @version Egret 3.1.6
     * @platform Web,Native
     * @language zh_CN
     */
    function $addResourceData(data) {
        //这里可能需要其他配置
        instance.addResourceData(data);
    }
    RES.$addResourceData = $addResourceData;
    /**
     * @private
     */
    var Resource = (function (_super) {
        __extends(Resource, _super);
        function Resource() {
            return _super !== null && _super.apply(this, arguments) || this;
        }
        /**
         * 开始加载配置
         * @method RES.loadConfig
         */
        Resource.prototype.loadConfig = function () {
            var _this = this;
            RES.native_init();
            return RES.config.init().then(function (data) {
                RES.ResourceEvent.dispatchResourceEvent(_this, RES.ResourceEvent.CONFIG_COMPLETE);
            }, function (error) {
                RES.ResourceEvent.dispatchResourceEvent(_this, RES.ResourceEvent.CONFIG_LOAD_ERROR);
                return Promise.reject(error);
            });
        };
        /**
         * 检查某个资源组是否已经加载完成
         * @method RES.isGroupLoaded
         * @param name {string}
         */
        Resource.prototype.isGroupLoaded = function (name) {
            var resources = RES.config.getGroupByName(name, true);
            return resources.every(function (r) { return RES.host.get(r) != null; });
        };
        /**
         * 根据组名获取组加载项列表
         * @method RES.getGroupByName
         * @param name {string}
         */
        Resource.prototype.getGroupByName = function (name) {
            return RES.config.getGroupByName(name, true); //这里不应该传入 true,但是为了老版本的 TypeScriptCompiler 兼容性,暂时这样做
        };
        /**
         * 根据组名加载一组资源
         * @method RES.loadGroup
         * @param name {string}
         * @param priority {number}
         */
        Resource.prototype.loadGroup = function (name, priority, reporter) {
            var _this = this;
            if (priority === void 0) { priority = 0; }
            var reporterDelegate = {
                onProgress: function (current, total) {
                    if (reporter && reporter.onProgress) {
                        reporter.onProgress(current, total);
                    }
                    RES.ResourceEvent.dispatchResourceEvent(_this, RES.ResourceEvent.GROUP_PROGRESS, name, undefined, current, total);
                }
            };
            return this._loadGroup(name, priority, reporterDelegate).then(function (data) {
                RES.ResourceEvent.dispatchResourceEvent(_this, RES.ResourceEvent.GROUP_COMPLETE, name);
            }, function (error) {
                var itemList = error.itemList;
                var length = itemList.length;
                for (var i = 0; i < length; i++) {
                    var item = itemList[i];
                    delete item.promise;
                    RES.ResourceEvent.dispatchResourceEvent(_this, RES.ResourceEvent.ITEM_LOAD_ERROR, name, item);
                }
                RES.ResourceEvent.dispatchResourceEvent(_this, RES.ResourceEvent.GROUP_LOAD_ERROR, name);
                return Promise.reject(error.error);
            });
        };
        Resource.prototype._loadGroup = function (name, priority, reporter) {
            if (priority === void 0) { priority = 0; }
            var resources = RES.config.getGroupByName(name, true);
            return RES.queue.load(resources, name, priority, reporter);
        };
        Resource.prototype.loadResources = function (keys, reporter) {
            var resources = keys.map(function (key) {
                var r = RES.config.getResourceWithSubkey(key, true);
                return r.r;
            });
            return RES.queue.load(resources, "name", 0, reporter);
        };
        /**
         * 创建自定义的加载资源组,注意:此方法仅在资源配置文件加载完成后执行才有效。
         * 可以监听ResourceEvent.CONFIG_COMPLETE事件来确认配置加载完成。
         * @method RES.ResourceConfig#createGroup
         * @param name {string} 要创建的加载资源组的组名
         * @param keys {egret.Array<string>} 要包含的键名列表,key对应配置文件里的name属性或一个资源组名。
         * @param override {boolean} 是否覆盖已经存在的同名资源组,默认false。
         * @returns {boolean}
         */
        Resource.prototype.createGroup = function (name, keys, override) {
            if (override === void 0) { override = false; }
            return RES.config.createGroup(name, keys, override);
        };
        /**
         * 检查配置文件里是否含有指定的资源
         * @method RES.hasRes
         * @param key {string} 对应配置文件里的name属性或subKeys属性的一项。
         * @returns {boolean}
         */
        Resource.prototype.hasRes = function (key) {
            return RES.config.getResourceWithSubkey(key) != null;
        };
        /**
         * 通过key同步获取资源
         * @method RES.getRes
         * @param key {string}
         * @returns {any}
         */
        Resource.prototype.getRes = function (resKey) {
            var result = RES.config.getResourceWithSubkey(resKey);
            if (result) {
                var r = result.r;
                var key = result.key;
                var subkey = result.subkey;
                var p = RES.processor.isSupport(r);
                if (p && p.getData && subkey) {
                    return p.getData(RES.host, r, key, subkey);
                }
                else {
                    return RES.host.get(r);
                }
            }
            else {
                return null;
            }
        };
        Resource.prototype.getResAsync = function (key, compFunc, thisObject) {
            var paramKey = key;
            var _a = RES.config.getResourceWithSubkey(key, true), r = _a.r, subkey = _a.subkey;
            return RES.queue.loadResource(r).then(function (value) {
                RES.host.save(r, value);
                var p = RES.processor.isSupport(r);
                if (p && p.getData && subkey) {
                    value = p.getData(RES.host, r, key, subkey);
                }
                if (compFunc) {
                    compFunc.call(thisObject, value, paramKey);
                }
                return value;
            });
        };
        /**
         * 通过url获取资源
         * @method RES.getResByUrl
         * @param url {string}
         * @param compFunc {Function}
         * @param thisObject {any}
         * @param type {string}
         */
        Resource.prototype.getResByUrl = function (url, compFunc, thisObject, type) {
            if (type === void 0) { type = ""; }
            var r = RES.config.getResource(url);
            if (!r) {
                if (!type) {
                    type = RES.config.__temp__get__type__via__url(url);
                }
                // manager.config.addResourceData({ name: url, url: url });
                r = { name: url, url: url, type: type, root: '' };
                RES.config.addResourceData(r);
                r = RES.config.getResource(url);
                if (!r) {
                    throw 'never';
                }
            }
            return RES.queue.loadResource(r).then(function (value) {
                if (compFunc && r) {
                    compFunc.call(thisObject, value, r.url);
                }
                return value;
            });
        };
        /**
         * 销毁单个资源文件或一组资源的缓存数据,返回是否删除成功。
         * @method RES.destroyRes
         * @param name {string} 配置文件中加载项的name属性或资源组名
         * @param force {boolean} 销毁一个资源组时其他资源组有同样资源情况资源是否会被删除,默认值true
         * @returns {boolean}
         */
        Resource.prototype.destroyRes = function (name, force) {
            if (force === void 0) { force = true; }
            return __awaiter(this, void 0, void 0, function () {
                var group, remove, _i, group_2, item, item;
                return __generator(this, function (_a) {
                    switch (_a.label) {
                        case 0:
                            group = RES.config.getGroup(name);
                            remove = function (r) {
                                return RES.queue.unloadResource(r);
                            };
                            if (!(group && group.length > 0)) return [3 /*break*/, 5];
                            _i = 0, group_2 = group;
                            _a.label = 1;
                        case 1:
                            if (!(_i < group_2.length)) return [3 /*break*/, 4];
                            item = group_2[_i];
                            return [4 /*yield*/, remove(item)];
                        case 2:
                            _a.sent();
                            _a.label = 3;
                        case 3:
                            _i++;
                            return [3 /*break*/, 1];
                        case 4: return [2 /*return*/, true];
                        case 5:
                            item = RES.config.getResource(name);
                            if (!item) return [3 /*break*/, 7];
                            return [4 /*yield*/, remove(item)];
                        case 6:
                            _a.sent();
                            return [2 /*return*/, true];
                        case 7:
                            console.warn("\u65E0\u6CD5\u5220\u9664\u6307\u5B9A\u7EC4:" + name);
                            return [2 /*return*/, false];
                    }
                });
            });
        };
        /**
         * 设置最大并发加载线程数量,默认值是2.
         * @method RES.setMaxLoadingThread
         * @param thread {number} 要设置的并发加载数。
         */
        Resource.prototype.setMaxLoadingThread = function (thread) {
            if (thread < 1) {
                thread = 1;
            }
            RES.queue.thread = thread;
        };
        /**
         * 设置资源加载失败时的重试次数。
         * @param retry 要设置的重试次数。
         */
        Resource.prototype.setMaxRetryTimes = function (retry) {
            retry = Math.max(retry, 0);
            RES.queue.maxRetryTimes = retry;
        };
        Resource.prototype.addResourceData = function (data) {
            RES.config.addResourceData(data);
        };
        __decorate([
            RES.checkCancelation
        ], Resource.prototype, "loadConfig", null);
        __decorate([
            RES.checkCancelation
        ], Resource.prototype, "_loadGroup", null);
        __decorate([
            RES.checkNull
        ], Resource.prototype, "hasRes", null);
        __decorate([
            RES.checkNull
        ], Resource.prototype, "getRes", null);
        __decorate([
            RES.checkNull,
            RES.checkCancelation
        ], Resource.prototype, "getResAsync", null);
        __decorate([
            RES.checkNull,
            RES.checkCancelation
        ], Resource.prototype, "getResByUrl", null);
        return Resource;
    }(egret.EventDispatcher));
    RES.Resource = Resource;
    __reflect(Resource.prototype, "RES.Resource");
    /**
     * Resource单例
     */
    var instance;
})(RES || (RES = {}));


================================================
FILE: dev_kit/libs/modules/egret/egret.d.ts
================================================
declare var global: any;
declare var __global: any;
declare let __define: any;
declare namespace egret {
    /**
     * The HashObject class is the base class for all objects in the Egret framework.The HashObject
     * class includes a hashCode property, which is a unique identification number of the instance.
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * Egret顶级对象。框架内所有对象的基类,为对象实例提供唯一的hashCode值。
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    interface IHashObject {
        /**
         * a unique identification number assigned to this instance.
         * @version Egret 2.4
         * @platform Web,Native
         * @readOnly
         * @language en_US
         */
        /**
         * 返回此对象唯一的哈希值,用于唯一确定一个对象。hashCode为大于等于1的整数。
         * @version Egret 2.4
         * @platform Web,Native
         * @readOnly
         * @language zh_CN
         */
        hashCode: number;
    }
    /**
     * @private
     * 哈希计数
     */
    let $hashCount: number;
    /**
     * The HashObject class is the base class for all objects in the Egret framework.The HashObject
     * class includes a hashCode property, which is a unique identification number of the instance.
     * @version Egret 2.4
     * @platform Web,Native
     * @language en_US
     */
    /**
     * Egret顶级对象。框架内所有对象的基类,为对象实例提供唯一的hashCode值。
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    class HashObject implements IHashObject {
        /**
         * Initializes a HashObject
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 创建一个 HashObject 对象
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        constructor();
        /**
         * @private
         */
        $hashCode: number;
        /**
         * a unique identification number assigned to this instance.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 返回此对象唯一的哈希值,用于唯一确定一个对象。hashCode为大于等于1的整数。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        readonly hashCode: number;
    }
}
declare namespace egret {
    /**
     * The EventDispatcher class is the base class for all classes that dispatchEvent events. The EventDispatcher class implements
     * the IEventDispatcher interface and is the base class for the DisplayObject class. The EventDispatcher class allows
     * any object on the display list to be an event target and as such, to use the methods of the IEventDispatcher interface.
     * Event targets are an important part of the Egret event model. The event target serves as the focal point for how events
     * flow through the display list hierarchy. When an event such as a touch tap, Egret dispatches an event object into the
     * event flow from the root of the display list. The event object then makes its way through the display list until it
     * reaches the event target, at which point it begins its return trip through the display list. This round-trip journey
     * to the event target is conceptually divided into three phases: <br/>
     * the capture phase comprises the journey from the root to the last node before the event target's node, the target
     * phase comprises only the event target node, and the bubbling phase comprises any subsequent nodes encountered on
     * the return trip to the root of the display list. In general, the easiest way for a user-defined class to gain event
     * dispatching capabilities is to extend EventDispatcher. If this is impossible (that is, if the class is already extending
     * another class), you can instead implement the IEventDispatcher interface, create an EventDispatcher member, and write simple
     * hooks to route calls into the aggregated EventDispatcher.
     * @see egret.IEventDispatcher
     * @version Egret 2.4
     * @platform Web,Native
     * @includeExample egret/events/EventDispatcher.ts
     * @language en_US
     */
    /**
     * EventDispatcher 是 Egret 的事件派发器类,负责进行事件的发送和侦听。
     * 事件目标是事件如何通过显示列表层次结构这一问题的焦点。当发生鼠标单击、触摸或按键等事件时,
     * 框架会将事件对象调度到从显示列表根开始的事件流中。然后该事件对象在显示列表中前进,直到到达事件目标,
     * 然后从这一点开始其在显示列表中的回程。在概念上,到事件目标的此往返行程被划分为三个阶段:
     * 捕获阶段包括从根到事件目标节点之前的最后一个节点的行程,目标阶段仅包括事件目标节点,冒泡阶段包括回程上遇到的任何后续节点到显示列表的根。
     * 通常,使用户定义的类能够调度事件的最简单方法是扩展 EventDispatcher。如果无法扩展(即,如果该类已经扩展了另一个类),则可以实现
     * IEventDispatcher 接口,创建 EventDispatcher 成员,并编写一些简单的映射,将调用连接到聚合的 EventDispatcher 中。
     * @see egret.IEventDispatcher
     * @version Egret 2.4
     * @platform Web,Native
     * @includeExample egret/events/EventDispatcher.ts
     * @language zh_CN
     */
    class EventDispatcher extends HashObject implements IEventDispatcher {
        /**
         * create an instance of the EventDispatcher class.
         * @param target The target object for events dispatched to the EventDispatcher object. This parameter is used when
         * the EventDispatcher instance is aggregated by a class that implements IEventDispatcher; it is necessary so that the
         * containing object can be the target for events. Do not use this parameter in simple cases in which a class extends EventDispatcher.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 创建一个 EventDispatcher 类的实例
         * @param target 此 EventDispatcher 所抛出事件对象的 target 指向。此参数主要用于一个实现了 IEventDispatcher 接口的自定义类,
         * 以便抛出的事件对象的 target 属性可以指向自定义类自身。请勿在直接继承 EventDispatcher 的情况下使用此参数。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        constructor(target?: IEventDispatcher);
        /**
         * @private
         */
        $EventDispatcher: Object;
        /**
         * @private
         *
         * @param useCapture
         */
        $getEventMap(useCapture?: boolean): any;
        /**
         * @inheritDoc
         * @version Egret 2.4
         * @platform Web,Native
         */
        addEventListener(type: string, listener: Function, thisObject: any, useCapture?: boolean, priority?: number): void;
        /**
         * @inheritDoc
         * @version Egret 2.4
         * @platform Web,Native
         */
        once(type: string, listener: Function, thisObject: any, useCapture?: boolean, priority?: number): void;
        /**
         * @private
         */
        $addListener(type: string, listener: Function, thisObject: any, useCapture?: boolean, priority?: number, dispatchOnce?: boolean): void;
        $insertEventBin(list: any[], type: string, listener: Function, thisObject: any, useCapture?: boolean, priority?: number, dispatchOnce?: boolean): boolean;
        /**
         * @inheritDoc
         * @version Egret 2.4
         * @platform Web,Native
         */
        removeEventListener(type: string, listener: Function, thisObject: any, useCapture?: boolean): void;
        $removeEventBin(list: any[], listener: Function, thisObject: any): boolean;
        /**
         * @inheritDoc
         * @version Egret 2.4
         * @platform Web,Native
         */
        hasEventListener(type: string): boolean;
        /**
         * @inheritDoc
         * @version Egret 2.4
         * @platform Web,Native
         */
        willTrigger(type: string): boolean;
        /**
         * @inheritDoc
         * @version Egret 2.4
         * @platform Web,Native
         */
        dispatchEvent(event: Event): boolean;
        /**
         * @private
         */
        $notifyListener(event: Event, capturePhase: boolean): boolean;
        /**
         * Distribute a specified event parameters.
         * @param type The type of the event. Event listeners can access this information through the inherited type property.
         * @param bubbles Determines whether the Event object bubbles. Event listeners can access this information through
         * the inherited bubbles property.
         * @param data {any} data
         * @param cancelable Determines whether the Event object can be canceled. The default values is false.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 派发一个指定参数的事件。
         * @param type {string} 事件类型
         * @param bubbles {boolean} 确定 Event 对象是否参与事件流的冒泡阶段。默认值为 false。
         * @param data {any} 事件data
         * @param cancelable {boolean} 确定是否可以取消 Event 对象。默认值为 false。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        dispatchEventWith(type: string, bubbles?: boolean, data?: any, cancelable?: boolean): boolean;
    }
}
declare namespace egret.sys {
    /**
     * @private
     * 事件信息对象
     */
    interface EventBin {
        type: string;
        /**
         * @private
         */
        listener: Function;
        /**
         * @private
         */
        thisObject: any;
        /**
         * @private
         */
        priority: number;
        /**
         * @private
         */
        target: IEventDispatcher;
        /**
         * @private
         */
        useCapture: boolean;
        /**
         * @private
         */
        dispatchOnce: boolean;
    }
}
declare namespace egret {
    /**
     * @private
     * @version Egret 2.4
     * @platform Web,Native
     */
    class Filter extends HashObject {
        /**
         * @version Egret 2.4
         * @platform Web,Native
         */
        type: string;
        /**
         * @private
         */
        $id: number;
        /**
         * @private
         */
        $uniforms: any;
        /**
         * @private
         */
        protected paddingTop: number;
        /**
         * @private
         */
        protected paddingBottom: number;
        /**
         * @private
         */
        protected paddingLeft: number;
        /**
         * @private
         */
        protected paddingRight: number;
        /**
         * @private
         * @native Render
         */
        $obj: any;
        constructor();
        /**
         * @private
         */
        $toJson(): string;
        protected updatePadding(): void;
        onPropertyChange(): void;
    }
}
declare namespace egret {
    /**
     * @private
     */
    const enum RenderMode {
        NONE = 1,
        FILTER = 2,
        CLIP = 3,
        SCROLLRECT = 4,
    }
    /**
     * The DisplayObject class is the base class for all objects that can be placed on the display list. The display list
     * manages all objects displayed in the runtime. Use the DisplayObjectContainer class to arrange the display
     * objects in the display list. DisplayObjectContainer objects can have child display objects, while other display objects,
     * such as Shape and TextField objects, are "leaf" nodes that have only parents and siblings, no children.
     * The DisplayObject class supports basic functionality like the x and y position of an object, as well as more advanced
     * properties of the object such as its transformation matrix.<br/>
     * The DisplayObject class contains several broadcast events.Normally, the target of any particular event is a specific
     * DisplayObject instance. For example, the target of an added event is the specific DisplayObject instance that was added
     * to the display list. Having a single target restricts the placement of event listeners to that target and in some cases
     * the target's ancestors on the display list. With broadcast events, however, the target is not a specific DisplayObject
     * instance, but rather all DisplayObject instances, including those that are not on the display list. This means that you
     * can add a listener to any DisplayObject instance to listen for broadcast events.
     *
     * @event egret.Event.ADDED Dispatched when a display object is added to the display list.
     * @event egret.Event.ADDED_TO_STAGE Dispatched when a display object is added to the on stage display list, either directly or through the addition of a sub tree in which the display object is contained.
     * @event egret.Event.REMOVED Dispatched when a display object is about to be removed from the display list.
     * @event egret.Event.REMOVED_FROM_STAGE Dispatched when a display object is about to be removed from the display list, either directly or through the removal of a sub tree in which the display object is contained.
     * @event egret.Event.ENTER_FRAME [broadcast event] Dispatched when the playhead is entering a new frame.
     * @event egret.Event.RENDER [broadcast event] Dispatched when the display list is about to be updated and rendered.
     * @event egret.TouchEvent.TOUCH_MOVE Dispatched when the user touches the device, and is continuously dispatched until the point of contact is removed.
     * @event egret.TouchEvent.TOUCH_BEGIN Dispatched when the user first contacts a touch-enabled device (such as touches a finger to a mobile phone or tablet with a touch screen).
     * @event egret.TouchEvent.TOUCH_END Dispatched when the user removes contact with a touch-enabled device (such as lifts a finger off a mobile phone or tablet with a touch screen).
     * @event egret.TouchEvent.TOUCH_TAP Dispatched when the user lifts the point of contact over the same DisplayObject instance on which the contact was initiated on a touch-enabled device (such as presses and releases a finger from a single point over a display object on a mobile phone or tablet with a touch screen).
     * @event egret.TouchEvent.TOUCH_RELEASE_OUTSIDE Dispatched when the user lifts the point of contact over the different DisplayObject instance on which the contact was initiated on a touch-enabled device (such as presses and releases a finger from a single point over a display object on a mobile phone or tablet with a touch screen).
     * @version Egret 2.4
     * @platform Web,Native
     * @includeExample egret/display/DisplayObject.ts
     * @language en_US
     */
    /**
     * DisplayObject 类是可放在显示列表中的所有对象的基类。该显示列表管理运行时中显示的所有对象。使用 DisplayObjectContainer 类排列
     * 显示列表中的显示对象。DisplayObjectContainer 对象可以有子显示对象,而其他显示对象(如 Shape 和 TextField 对象)是“叶”节点,没有子项,只有父级和
     * 同级。DisplayObject 类有一些基本的属性(如确定坐标位置的 x 和 y 属性),也有一些高级的对象属性(如 Matrix 矩阵变换)。<br/>
     * DisplayObject 类包含若干广播事件。通常,任何特定事件的目标均为一个特定的 DisplayObject 实例。例如,added 事件的目标是已添加到显示列表
     * 的目标 DisplayObject 实例。若只有一个目标,则会将事件侦听器限制为只能监听在该目标上(在某些情况下,可监听在显示列表中该目标的祖代上)。
     * 但是对于广播事件,目标不是特定的 DisplayObject 实例,而是所有 DisplayObject 实例(包括那些不在显示列表中的实例)。这意味着您可以向任何
     * DisplayObject 实例添加侦听器来侦听广播事件。
     *
     * @event egret.Event.ADDED 将显示对象添加到显示列表中时调度。
     * @event egret.Event.ADDED_TO_STAGE 在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。
     * @event egret.Event.REMOVED 将要从显示列表中删除显示对象时调度。
     * @event egret.Event.REMOVED_FROM_STAGE 在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。
     * @event egret.Event.ENTER_FRAME [广播事件] 播放头进入新帧时调度。
     * @event egret.Event.RENDER [广播事件] 将要更新和呈现显示列表时调度。
     * @event egret.TouchEvent.TOUCH_MOVE 当用户触碰设备时进行调度,而且会连续调度,直到接触点被删除。
     * @event egret.TouchEvent.TOUCH_BEGIN 当用户第一次触摸启用触摸的设备时(例如,用手指触摸手机屏幕)调度。
     * @event egret.TouchEvent.TOUCH_END 当用户移除与启用触摸的设备的接触时(例如,将手指从屏幕上抬起)调度。
     * @event egret.TouchEvent.TOUCH_TAP 当用户在启用触摸设备上的已启动接触的同一 DisplayObject 实例上抬起接触点时(例如,手机点击屏幕后抬起)调度。
     * @event egret.TouchEvent.TOUCH_RELEASE_OUTSIDE 当用户在启用触摸设备上的已启动接触的不同 DisplayObject 实例上抬起接触点时(例如,按住屏幕上的某个对象,然后从它上面挪开后再松开手指)调度。
     * @version Egret 2.4
     * @platform Web,Native
     * @includeExample egret/display/DisplayObject.ts
     * @language zh_CN
     */
    class DisplayObject extends EventDispatcher {
        /**
         * Initializes a DisplayObject object
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 创建一个显示对象
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        constructor();
        $nativeDisplayObject: egret_native.NativeDisplayObject;
        protected createNativeDisplayObject(): void;
        /**
         * @private
         * 是否添加到舞台上,防止重复发送 removed_from_stage 消息
         */
        $hasAddToStage: boolean;
        /**
         * @private
         * 能够含有子项的类将子项列表存储在这个属性里。
         */
        $children: DisplayObject[];
        private $name;
        /**
         * Indicates the instance name of the DisplayObject. The object can be identified in the child list of its parent
         * display object container by calling the getChildByName() method of the display object container.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 表示 DisplayObject 的实例名称。
         * 通过调用父显示对象容器的 getChildByName() 方法,可以在父显示对象容器的子列表中标识该对象。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        name: string;
        /**
         * @private
         */
        $parent: DisplayObjectContainer;
        /**
         * Indicates the DisplayObjectContainer object that contains this display object. Use the parent property to specify
         * a relative path to display objects that are above the current display object in the display list hierarchy.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 表示包含此显示对象的 DisplayObjectContainer 对象。
         * 使用 parent 属性可以指定高于显示列表层次结构中当前显示对象的显示对象的相对路径。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        readonly parent: DisplayObjectContainer;
        /**
         * @private
         * 设置父级显示对象
         */
        $setParent(parent: DisplayObjectContainer): void;
        /**
         * @private
         * 显示对象添加到舞台
         */
        $onAddToStage(stage: Stage, nestLevel: number): void;
        /**
         * @private
         * 显示对象从舞台移除
         */
        $onRemoveFromStage(): void;
        /**
         * @private
         */
        $stage: Stage;
        /**
         * @private
         * 这个对象在显示列表中的嵌套深度,舞台为1,它的子项为2,子项的子项为3,以此类推。当对象不在显示列表中时此属性值为0.
         */
        $nestLevel: number;
        $useTranslate: boolean;
        protected $updateUseTransform(): void;
        /**
         * The Stage of the display object. you can create and load multiple display objects into the display list, and
         * the stage property of each display object refers to the same Stage object.<br/>
         * If a display object is not added to the display list, its stage property is set to null.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 显示对象的舞台。
         * 例如,您可以创建多个显示对象并加载到显示列表中,每个显示对象的 stage 属性是指向相同的 Stage 对象。<br/>
         * 如果显示对象未添加到显示列表,则其 stage 属性会设置为 null。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
  
Download .txt
gitextract_bosik8m8/

├── .idea/
│   └── vcs.xml
├── LICENSE
├── README.md
├── dev_kit/
│   ├── README.md
│   ├── bin-debug/
│   │   ├── LoadingUI.js
│   │   ├── Main.js
│   │   └── Platform.js
│   ├── egretProperties.json
│   ├── index.html
│   ├── libs/
│   │   ├── modules/
│   │   │   ├── assetsmanager/
│   │   │   │   ├── assetsmanager.d.ts
│   │   │   │   └── assetsmanager.js
│   │   │   ├── egret/
│   │   │   │   ├── egret.d.ts
│   │   │   │   ├── egret.js
│   │   │   │   └── egret.web.js
│   │   │   ├── game/
│   │   │   │   ├── game.d.ts
│   │   │   │   └── game.js
│   │   │   ├── particle/
│   │   │   │   ├── particle.d.ts
│   │   │   │   └── particle.js
│   │   │   ├── physics/
│   │   │   │   ├── physics.d.ts
│   │   │   │   └── physics.js
│   │   │   ├── promise/
│   │   │   │   └── promise.js
│   │   │   ├── socket/
│   │   │   │   ├── socket.d.ts
│   │   │   │   └── socket.js
│   │   │   └── tween/
│   │   │       ├── tween.d.ts
│   │   │       └── tween.js
│   │   └── wx_mini_game.d.ts
│   ├── manifest.json
│   ├── project.md
│   ├── resource/
│   │   ├── assets/
│   │   │   ├── boom.json
│   │   │   └── partical/
│   │   │       └── boom_01.json
│   │   ├── config/
│   │   │   └── description.json
│   │   └── default.res.json
│   ├── scripts/
│   │   ├── api.d.ts
│   │   ├── bricks/
│   │   │   └── bricks.ts
│   │   ├── config.android.ts
│   │   ├── config.bricks.ts
│   │   ├── config.ios.ts
│   │   ├── config.ts
│   │   ├── config.wxgame.ts
│   │   ├── myplugin.ts
│   │   ├── node.d.ts
│   │   ├── tsconfig.json
│   │   └── wxgame/
│   │       └── wxgame.ts
│   ├── src/
│   │   ├── Components/
│   │   │   ├── EgretKit.ts
│   │   │   ├── Http.ts
│   │   │   ├── MD5.ts
│   │   │   ├── Mp3.ts
│   │   │   ├── Record.ts
│   │   │   ├── Utils.ts
│   │   │   ├── WS.ts
│   │   │   ├── WxKit.ts
│   │   │   └── WxLoginButton.ts
│   │   ├── GameData/
│   │   │   ├── GameConfig.ts
│   │   │   ├── ParticleRes.ts
│   │   │   ├── SoundRes.ts
│   │   │   ├── UserData.ts
│   │   │   └── VersionCtrl.ts
│   │   ├── LoadingUI.ts
│   │   ├── Main.ts
│   │   └── Platform.ts
│   ├── template/
│   │   ├── runtime/
│   │   │   ├── native_loader.js
│   │   │   ├── native_require.js
│   │   │   └── runtime_loader.js
│   │   └── web/
│   │       └── index.html
│   ├── tsconfig.json
│   └── wingProperties.json
├── dev_kit_wxgame/
│   ├── README.md
│   ├── egret.wxgame.js
│   ├── game.js
│   ├── game.json
│   ├── js/
│   │   ├── assetsmanager.js
│   │   ├── egret.js
│   │   ├── game.js
│   │   ├── main.js
│   │   ├── particle.js
│   │   ├── physics.js
│   │   ├── socket.js
│   │   └── tween.js
│   ├── library/
│   │   ├── file-util.js
│   │   ├── image.js
│   │   └── text.js
│   ├── manifest.js
│   ├── openDataContext/
│   │   ├── egret.wxgame.js
│   │   ├── index.js
│   │   ├── manifest.js
│   │   └── weapp-adapter.js
│   ├── platform.js
│   ├── project.config.json
│   ├── resource/
│   │   ├── assets/
│   │   │   ├── boom.json
│   │   │   └── partical/
│   │   │       └── boom_01.json
│   │   ├── config/
│   │   │   └── description.json
│   │   └── default.res.json
│   └── weapp-adapter.js
└── openDataContext/
    ├── README.md
    ├── bin-debug/
    │   ├── LoadingUI.js
    │   ├── Main.js
    │   └── Platform.js
    ├── debug.log
    ├── egretProperties.json
    ├── index.html
    ├── libs/
    │   ├── modules/
    │   │   ├── egret/
    │   │   │   ├── egret.d.ts
    │   │   │   ├── egret.js
    │   │   │   └── egret.web.js
    │   │   └── game/
    │   │       ├── game.d.ts
    │   │       └── game.js
    │   └── wx_mini_game.d.ts
    ├── manifest.json
    ├── scripts/
    │   ├── api.d.ts
    │   ├── bricks/
    │   │   └── bricks.ts
    │   ├── config.android.ts
    │   ├── config.bricks.ts
    │   ├── config.ios.ts
    │   ├── config.ts
    │   ├── config.wxgame.ts
    │   ├── myplugin.ts
    │   ├── node.d.ts
    │   ├── tsconfig.json
    │   └── wxgame/
    │       └── wxgame.ts
    ├── src/
    │   ├── Main.ts
    │   ├── components/
    │   │   ├── Http.ts
    │   │   └── eKit.ts
    │   └── data/
    │       ├── GameConfig.ts
    │       ├── StaticRes.ts
    │       ├── UserData.ts
    │       └── VersionCtrl.ts
    ├── template/
    │   ├── runtime/
    │   │   ├── native_loader.js
    │   │   ├── native_require.js
    │   │   └── runtime_loader.js
    │   └── web/
    │       └── index.html
    ├── tsconfig.json
    └── wingProperties.json
Download .txt
SYMBOL INDEX (2310 symbols across 79 files)

FILE: dev_kit/bin-debug/LoadingUI.js
  function r (line 33) | function r() {
  function LoadingUI (line 41) | function LoadingUI() {

FILE: dev_kit/bin-debug/Main.js
  function r (line 33) | function r() {
  function fulfilled (line 41) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 42) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 43) | function step(result) { result.done ? resolve(result.value) : new P(func...
  function verb (line 50) | function verb(n) { return function (v) { return step([n, v]); }; }
  function step (line 51) | function step(op) {
  function Main (line 76) | function Main() {

FILE: dev_kit/bin-debug/Platform.js
  function fulfilled (line 6) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 7) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 8) | function step(result) { result.done ? resolve(result.value) : new P(func...
  function verb (line 15) | function verb(n) { return function (v) { return step([n, v]); }; }
  function step (line 16) | function step(op) {
  function DebugPlatform (line 40) | function DebugPlatform() {

FILE: dev_kit/libs/modules/assetsmanager/assetsmanager.d.ts
  type ResourceRootSelector (line 1) | type ResourceRootSelector<T extends string> = () => T;
  type ResourceTypeSelector (line 2) | type ResourceTypeSelector = (file: string) => string;
  type ResourceNameSelector (line 3) | type ResourceNameSelector = (file: string) => string;
  type ResourceMergerSelector (line 4) | type ResourceMergerSelector = (file: string) => {
  type ResourceInfo (line 14) | interface ResourceInfo {
  type Data (line 26) | interface Data {
  class ResourceConfig (line 43) | class ResourceConfig {
  class ResourceLoader (line 89) | class ResourceLoader {
  type ProcessHost (line 144) | interface ProcessHost {
  class ResourceManagerError (line 155) | class ResourceManagerError extends Error {
  type PromiseTaskReporter (line 179) | interface PromiseTaskReporter {
  type Processor (line 204) | interface Processor {
  type File (line 231) | interface File {
  type Dictionary (line 237) | interface Dictionary {
  type FileSystem (line 240) | interface FileSystem {
  class NewFileSystem (line 245) | class NewFileSystem {
  class ResourceEvent (line 270) | class ResourceEvent extends egret.Event {
  type ResourceItem (line 544) | interface ResourceItem extends ResourceInfo {
  type GetResAsyncCallback (line 612) | type GetResAsyncCallback = (value?: any, key?: string) => any;
  class Resource (line 969) | class Resource extends egret.EventDispatcher {

FILE: dev_kit/libs/modules/assetsmanager/assetsmanager.js
  function r (line 5) | function r() {
  function fulfilled (line 13) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 14) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 15) | function step(result) { result.done ? resolve(result.value) : new P(func...
  function verb (line 22) | function verb(n) { return function (v) { return step([n, v]); }; }
  function step (line 23) | function step(op) {
  function getResourceInfo (line 55) | function getResourceInfo(path) {
  function setConfigURL (line 65) | function setConfigURL(url, root) {
  function ResourceConfig (line 82) | function ResourceConfig() {
  function ResourceLoader (line 387) | function ResourceLoader() {
  function profile (line 674) | function profile() {
  method resourceConfig (line 690) | get resourceConfig() {
  function ResourceManagerError (line 715) | function ResourceManagerError(code, replacer, replacer2) {
  function setUpgradeGuideLevel (line 770) | function setUpgradeGuideLevel(level) {
  function isSupport (line 780) | function isSupport(resource) {
  function map (line 784) | function map(type, processor) {
  function promisify (line 788) | function promisify(loader, resource) {
  function getURL (line 807) | function getURL(resource) {
  function getRelativePath (line 820) | function getRelativePath(url, file) {
  function PVRParser (line 1276) | function PVRParser() {
  function textureLevelSize (line 1377) | function textureLevelSize(format, width, height) {
  function NewFileSystem (line 1494) | function NewFileSystem(data) {
  function ResourceEvent (line 1633) | function ResourceEvent(type, bubbles, cancelable) {
  function convertToResItem (line 1937) | function convertToResItem(r) {
  function native_init (line 1983) | function native_init() {
  function getRealURL (line 1992) | function getRealURL(url) {
  function getLocalData (line 2001) | function getLocalData(filePath) {
  function registerAnalyzer (line 2065) | function registerAnalyzer(type, analyzerClass) {
  function loadConfig (line 2083) | function loadConfig(url, resourceRoot) {
  function loadGroup (line 2118) | function loadGroup(name, priority, reporter) {
  function isGroupLoaded (line 2141) | function isGroupLoaded(name) {
  function getGroupByName (line 2165) | function getGroupByName(name) {
  function createGroup (line 2193) | function createGroup(name, keys, override) {
  function hasRes (line 2214) | function hasRes(key) {
  function getRes (line 2257) | function getRes(key) {
  function getResAsync (line 2261) | function getResAsync(key, compFunc, thisObject) {
  function getResByUrl (line 2287) | function getResByUrl(url, compFunc, thisObject, type) {
  function destroyRes (line 2312) | function destroyRes(name, force) {
  function setMaxLoadingThread (line 2332) | function setMaxLoadingThread(thread) {
  function setMaxRetryTimes (line 2354) | function setMaxRetryTimes(retry) {
  function addEventListener (line 2393) | function addEventListener(type, listener, thisObject, useCapture, priori...
  function removeEventListener (line 2421) | function removeEventListener(type, listener, thisObject, useCapture) {
  function $addResourceData (line 2440) | function $addResourceData(data) {
  function Resource (line 2450) | function Resource() {

FILE: dev_kit/libs/modules/egret/egret.d.ts
  type IHashObject (line 18) | interface IHashObject {
  class HashObject (line 53) | class HashObject implements IHashObject {
  class EventDispatcher (line 122) | class EventDispatcher extends HashObject implements IEventDispatcher {
  type EventBin (line 226) | interface EventBin {
  class Filter (line 260) | class Filter extends HashObject {
  type RenderMode (line 308) | const enum RenderMode {
  class DisplayObject (line 369) | class DisplayObject extends EventDispatcher {
  class Texture (line 1321) | class Texture extends HashObject {
  class Event (line 1599) | class Event extends HashObject {
  class Point (line 2272) | class Point extends HashObject {
  class DisplayObjectContainer (line 2587) | class DisplayObjectContainer extends DisplayObject {
  class SpriteSheet (line 2975) | class SpriteSheet extends HashObject {
  class Bitmap (line 3126) | class Bitmap extends DisplayObject {
  type RenderNodeType (line 3343) | const enum RenderNodeType {
  class RenderNode (line 3373) | class RenderNode {
  type PathType (line 3398) | const enum PathType {
  type PathCommand (line 3416) | const enum PathCommand {
  class Path2D (line 3426) | class Path2D {
  class NrNode (line 3628) | class NrNode {
  class NativeRenderSurface (line 3652) | class NativeRenderSurface {
  class NativeDisplayObject (line 3661) | class NativeDisplayObject {
  type NativeObjectType (line 3751) | const enum NativeObjectType {
  type MapLike (line 3802) | interface MapLike<T> {
  class GlowFilter (line 3820) | class GlowFilter extends Filter {
  class BlendMode (line 4027) | class BlendMode {
  class WebGLUtils (line 4114) | class WebGLUtils {
  type EventPhase (line 4139) | const enum EventPhase {
  class FocusEvent (line 4196) | class FocusEvent extends egret.Event {
  type Geolocation (line 4245) | interface Geolocation {
  class GeolocationEvent (line 4266) | class GeolocationEvent extends Event {
  class HTTPStatusEvent (line 4439) | class HTTPStatusEvent extends Event {
  type IEventDispatcher (line 4540) | interface IEventDispatcher extends HashObject {
  type HttpRequest (line 4739) | interface HttpRequest {
  class IOErrorEvent (line 4757) | class IOErrorEvent extends Event {
  class MotionEvent (line 4826) | class MotionEvent extends Event {
  class OrientationEvent (line 4887) | class OrientationEvent extends Event {
  type HttpRequest (line 4937) | interface HttpRequest {
  class ProgressEvent (line 4955) | class ProgressEvent extends egret.Event {
  type Stage (line 5055) | interface Stage {
  class StageOrientationEvent (line 5073) | class StageOrientationEvent extends Event {
  class TextEvent (line 5140) | class TextEvent extends Event {
  type Timer (line 5210) | interface Timer {
  class TimerEvent (line 5230) | class TimerEvent extends Event {
  class BitmapData (line 5374) | class BitmapData extends HashObject {
  type DisplayObject (line 5486) | interface DisplayObject {
  class TouchEvent (line 5519) | class TouchEvent extends Event {
  type ExternalInterface (line 5794) | interface ExternalInterface {
  type BitmapFilterQuality (line 5831) | const enum BitmapFilterQuality {
  class BlurFilter (line 5872) | class BlurFilter extends Filter {
  type IBlurXFilter (line 5948) | interface IBlurXFilter extends Filter {
  type IBlurYFilter (line 5956) | interface IBlurYFilter extends Filter {
  class ColorMatrixFilter (line 5979) | class ColorMatrixFilter extends Filter {
  class CustomFilter (line 6041) | class CustomFilter extends Filter {
  class DropShadowFilter (line 6118) | class DropShadowFilter extends GlowFilter {
  class GradientType (line 6231) | class GradientType {
  class Graphics (line 6279) | class Graphics extends HashObject {
  class Matrix (line 6714) | class Matrix extends HashObject {
  class Rectangle (line 7253) | class Rectangle extends HashObject {
  type Sound (line 7894) | interface Sound extends EventDispatcher {
  type SoundChannel (line 8046) | interface SoundChannel extends IEventDispatcher {
  type Video (line 8122) | interface Video extends DisplayObject {
  class HttpMethod (line 8322) | class HttpMethod {
  type HttpRequest (line 8382) | interface HttpRequest extends EventDispatcher {
  class HttpResponseType (line 8559) | class HttpResponseType {
  type ImageLoader (line 8612) | interface ImageLoader extends EventDispatcher {
  class DisplayList (line 8709) | class DisplayList extends HashObject {
  type runEgretOptions (line 8781) | type runEgretOptions = {
  type FPSDisplay (line 8820) | interface FPSDisplay {
  type FPSData (line 8848) | interface FPSData extends Object {
  class Player (line 8860) | class Player extends HashObject {
  type PlayerOption (line 8967) | interface PlayerOption {
  class Mesh (line 9021) | class Mesh extends Bitmap {
  type Screen (line 9052) | interface Screen {
  type IScreenAdapter (line 9075) | interface IScreenAdapter {
  type StageDisplaySize (line 9091) | interface StageDisplaySize {
  class DefaultScreenAdapter (line 9122) | class DefaultScreenAdapter extends HashObject implements IScreenAdapter {
  class StageScaleMode (line 9154) | class StageScaleMode {
  type SystemRenderer (line 9259) | interface SystemRenderer {
  class SystemTicker (line 9297) | class SystemTicker {
  type LifecyclePlugin (line 9435) | type LifecyclePlugin = (context: LifecycleContext) => void;
  class LifecycleContext (line 9444) | class LifecycleContext {
  class TouchHandler (line 9467) | class TouchHandler extends HashObject {
  class BitmapNode (line 9531) | class BitmapNode extends RenderNode {
  class GraphicsNode (line 9594) | class GraphicsNode extends RenderNode {
  class GroupNode (line 9669) | class GroupNode extends RenderNode {
  class MeshNode (line 9689) | class MeshNode extends RenderNode {
  class NormalBitmapNode (line 9758) | class NormalBitmapNode extends RenderNode {
  type TextFormat (line 9814) | interface TextFormat {
  class TextNode (line 9850) | class TextNode extends RenderNode {
  class FillPath (line 9924) | class FillPath extends Path2D {
  class GradientFillPath (line 9941) | class GradientFillPath extends Path2D {
  class RenderTexture (line 9967) | class RenderTexture extends egret.Texture {
  class StrokePath (line 10005) | class StrokePath extends Path2D {
  type CanvasRenderingContext2D (line 10041) | interface CanvasRenderingContext2D {
  class CanvasRenderer (line 10048) | class CanvasRenderer {
  type DeviceOrientation (line 10112) | interface DeviceOrientation extends EventDispatcher {
  type Geolocation (line 10173) | interface Geolocation extends EventDispatcher {
  type Motion (line 10253) | interface Motion extends EventDispatcher {
  type DeviceRotationRate (line 10294) | interface DeviceRotationRate {
  type DeviceAcceleration (line 10349) | interface DeviceAcceleration {
  class Capabilities (line 10474) | class Capabilities {
  class Shape (line 10656) | class Shape extends DisplayObject {
  class Sprite (line 10751) | class Sprite extends DisplayObjectContainer {
  class BitmapFont (line 10813) | class BitmapFont extends SpriteSheet {
  class BitmapText (line 10898) | class BitmapText extends DisplayObject {
  class HorizontalAlign (line 11159) | class HorizontalAlign {
  class HtmlTextParser (line 11254) | class HtmlTextParser {
  type IHitTextElement (line 11330) | interface IHitTextElement {
  type ITextStyle (line 11354) | interface ITextStyle {
  type ITextElement (line 11502) | interface ITextElement {
  type IWTextElement (line 11535) | interface IWTextElement extends ITextElement {
  type ILineElement (line 11548) | interface ILineElement {
  class InputController (line 11587) | class InputController extends HashObject {
  type StageText (line 11692) | interface StageText extends EventDispatcher {
  type TextKeys (line 11764) | const enum TextKeys {
  class TextField (line 11946) | class TextField extends DisplayObject {
  type TextField (line 12691) | interface TextField {
  class TextFieldInputType (line 12710) | class TextFieldInputType {
  class TextFieldType (line 12765) | class TextFieldType {
  class TextFieldUtils (line 12800) | class TextFieldUtils {
  class VerticalAlign (line 12885) | class VerticalAlign {
  class Base64Util (line 12974) | class Base64Util {
  class Endian (line 13026) | class Endian {
  type EndianConst (line 13058) | const enum EndianConst {
  class ByteArray (line 13078) | class ByteArray {
  class Stage (line 13755) | class Stage extends DisplayObjectContainer {
  class Logger (line 13954) | class Logger {
  class NumberUtils (line 14073) | class NumberUtils {
  class Timer (line 14177) | class Timer extends EventDispatcher {
  type XMLNode (line 14339) | interface XMLNode {
  type XML (line 14381) | interface XML extends XMLNode {
  type XMLText (line 14473) | interface XMLText extends XMLNode {
  type RenderBuffer (line 14877) | interface RenderBuffer {

FILE: dev_kit/libs/modules/egret/egret.js
  function r (line 5) | function r() {
  function HashObject (line 80) | function HashObject() {
  function EventDispatcher (line 192) | function EventDispatcher(target) {
  function Filter (line 437) | function Filter() {
  function clampRotation (line 526) | function clampRotation(value) {
  function DisplayObject (line 605) | function DisplayObject() {
  function Texture (line 2698) | function Texture() {
  function Event (line 3086) | function Event(type, bubbles, cancelable, data) {
  function _getString (line 3784) | function _getString(code) {
  function _error (line 3792) | function _error(code) {
  function _warn (line 3804) | function _warn(code) {
  function _markReadOnly (line 3816) | function _markReadOnly(instance, property, isProperty) {
  function markCannotUse (line 3833) | function markCannotUse(instance, property, defaultValue) {
  function Point (line 3913) | function Point(x, y) {
  function DisplayObjectContainer (line 4284) | function DisplayObjectContainer() {
  function SpriteSheet (line 5105) | function SpriteSheet(texture) {
  function tr (line 5265) | function tr(code) {
  function Bitmap (line 5358) | function Bitmap(value) {
  function RenderNode (line 5885) | function RenderNode() {
  function Path2D (line 5952) | function Path2D() {
  function createMap (line 6296) | function createMap() {
  function GlowFilter (line 6374) | function GlowFilter(color, alpha, blurX, blurY, strength, quality, inner...
  function BlendMode (line 6699) | function BlendMode() {
  function blendModeToNumber (line 6766) | function blendModeToNumber(blendMode) {
  function numberToBlendMode (line 6775) | function numberToBlendMode(blendMode) {
  function WebGLUtils (line 6903) | function WebGLUtils() {
  function FocusEvent (line 7057) | function FocusEvent(type, bubbles, cancelable) {
  function GeolocationEvent (line 7142) | function GeolocationEvent() {
  function HTTPStatusEvent (line 7240) | function HTTPStatusEvent(type, bubbles, cancelable) {
  function IOErrorEvent (line 7402) | function IOErrorEvent(type, bubbles, cancelable) {
  function MotionEvent (line 7495) | function MotionEvent() {
  function OrientationEvent (line 7553) | function OrientationEvent() {
  function ProgressEvent (line 7629) | function ProgressEvent(type, bubbles, cancelable, bytesLoaded, bytesTota...
  function StageOrientationEvent (line 7790) | function StageOrientationEvent(type, bubbles, cancelable) {
  function TextEvent (line 7906) | function TextEvent(type, bubbles, cancelable, text) {
  function TimerEvent (line 8025) | function TimerEvent(type, bubbles, cancelable) {
  function BitmapData (line 8205) | function BitmapData(source) {
  function TouchEvent (line 8466) | function TouchEvent(type, bubbles, cancelable, stageX, stageY, touchPoin...
  function BlurFilter (line 8865) | function BlurFilter(blurX, blurY, quality) {
  function BlurXFilter (line 8964) | function BlurXFilter(blurX) {
  function BlurYFilter (line 8992) | function BlurYFilter(blurY) {
  function ColorMatrixFilter (line 9079) | function ColorMatrixFilter(matrix) {
  function CustomFilter (line 9266) | function CustomFilter(vertexSrc, fragmentSrc, uniforms) {
  function DropShadowFilter (line 9417) | function DropShadowFilter(distance, angle, color, alpha, blurX, blurY, s...
  function GradientType (line 9583) | function GradientType() {
  function clampAngle (line 9650) | function clampAngle(value) {
  function Graphics (line 9689) | function Graphics() {
  function Matrix (line 10530) | function Matrix(a, b, c, d, tx, ty) {
  function Rectangle (line 11334) | function Rectangle(x, y, width, height) {
  function $pushSoundChannel (line 12268) | function $pushSoundChannel(channel) {
  function $popSoundChannel (line 12278) | function $popSoundChannel(channel) {
  function HttpMethod (line 12397) | function HttpMethod() {
  function HttpResponseType (line 12506) | function HttpResponseType() {
  function DisplayList (line 12615) | function DisplayList(root) {
  function Player (line 12862) | function Player(buffer, stage, entryClassName) {
  function FPSImpl (line 13072) | function FPSImpl(stage, showFPS, showLog, logFilter, styles) {
  function toArray (line 13187) | function toArray(argument) {
  function Mesh (line 13298) | function Mesh(value) {
  function DefaultScreenAdapter (line 13469) | function DefaultScreenAdapter() {
  function StageScaleMode (line 13605) | function StageScaleMode() {
  function SystemTicker (line 13787) | function SystemTicker() {
  function LifecycleContext (line 14110) | function LifecycleContext() {
  function addLifecycleListener (line 14134) | function addLifecycleListener(plugin) {
  function TouchHandler (line 14190) | function TouchHandler(stage) {
  function BitmapNode (line 14333) | function BitmapNode() {
  function GraphicsNode (line 14568) | function GraphicsNode() {
  function GroupNode (line 14738) | function GroupNode() {
  function MeshNode (line 14808) | function MeshNode() {
  function NormalBitmapNode (line 14903) | function NormalBitmapNode() {
  function TextNode (line 15066) | function TextNode() {
  function FillPath (line 15172) | function FillPath() {
  function GradientFillPath (line 15221) | function GradientFillPath() {
  function RenderTexture (line 15280) | function RenderTexture() {
  function StrokePath (line 15426) | function StrokePath() {
  function CanvasRenderer (line 15474) | function CanvasRenderer() {
  function getFontString (line 16233) | function getFontString(node, format) {
  function getRGBAString (line 16248) | function getRGBAString(color, alpha) {
  function getGradient (line 16259) | function getGradient(context, type, colors, alphas, ratios, matrix) {
  function setArray (line 16280) | function setArray(a, b, index) {
  function colorFilter (line 16289) | function colorFilter(buffer, w, h, matrix) {
  function blurFilter (line 16308) | function blurFilter(buffer, w, h, blurX, blurY) {
  function blurFilterH (line 16315) | function blurFilterH(buffer, w, h, blurX) {
  function blurFilterV (line 16395) | function blurFilterV(buffer, w, h, blurY) {
  function dropShadowFilter (line 16474) | function dropShadowFilter(buffer, w, h, color, blurX, blurY, angle, dist...
  function alphaFilter (line 16488) | function alphaFilter(buffer, color) {
  function panFilter (line 16513) | function panFilter(buffer, w, h, angle, distance) {
  function scaleAlphaChannel (line 16557) | function scaleAlphaChannel(buffer, value) {
  function compositeSourceOver (line 16562) | function compositeSourceOver(dst, src) {
  function getPixelKey (line 16578) | function getPixelKey(w, x, y) {
  function mix (line 16581) | function mix(v1, v2, rate) {
  function dropShadowFilter2 (line 16586) | function dropShadowFilter2(buffer, w, h, color, blurX, blurY, angle, dis...
  function Capabilities (line 16796) | function Capabilities() {
  function Shape (line 17012) | function Shape() {
  function registerImplementation (line 17089) | function registerImplementation(interfaceName, instance) {
  function getImplementation (line 17110) | function getImplementation(interfaceName) {
  function Sprite (line 17173) | function Sprite() {
  function BitmapFont (line 17335) | function BitmapFont(texture, config) {
  function BitmapText (line 17528) | function BitmapText() {
  function setLineData (line 18104) | function setLineData(str) {
  function HorizontalAlign (line 18211) | function HorizontalAlign() {
  function HtmlTextParser (line 18344) | function HtmlTextParser() {
  function InputController (line 18623) | function InputController() {
  function measureTextWidth (line 18920) | function measureTextWidth(text, values, style) {
  function TextField (line 18960) | function TextField() {
  function TextFieldInputType (line 20953) | function TextFieldInputType() {
  function TextFieldType (line 21042) | function TextFieldType() {
  function TextFieldUtils (line 21111) | function TextFieldUtils() {
  function VerticalAlign (line 21385) | function VerticalAlign() {
  function Base64Util (line 21508) | function Base64Util() {
  function Endian (line 21639) | function Endian() {
  function ByteArray (line 21696) | function ByteArray(buffer, bufferExtSize) {
  function registerClass (line 22914) | function registerClass(classDefinition, className, interfaceNames) {
  function Stage (line 23009) | function Stage() {
  function Logger (line 23328) | function Logger() {
  function NumberUtils (line 23486) | function NumberUtils() {
  function Timer (line 23703) | function Timer(delay, repeatCount) {
  function callLater (line 23983) | function callLater(method, thisObject) {
  function $callAsync (line 24012) | function $callAsync(method, thisObject) {
  function superSetter (line 24082) | function superSetter(currentClass, thisObj, type) {
  function superGetter (line 24132) | function superGetter(currentClass, thisObj, type) {
  function getDefinitionByName (line 24209) | function getDefinitionByName(name) {
  function getQualifiedClassName (line 24325) | function getQualifiedClassName(value) {
  function getQualifiedSuperclassName (line 24403) | function getQualifiedSuperclassName(value) {
  function getTimer (line 24466) | function getTimer() {
  function hasDefinition (line 24523) | function hasDefinition(name) {
  function is (line 24594) | function is(instance, typeName) {
  function startTick (line 24657) | function startTick(callBack, thisObject) {
  function stopTick (line 24714) | function stopTick(callBack, thisObject) {
  function toColorString (line 24770) | function toColorString(value) {

FILE: dev_kit/libs/modules/egret/egret.web.js
  function r (line 5) | function r() {
  function getOption (line 46) | function getOption(key) {
  function WebExternalInterface (line 105) | function WebExternalInterface() {
  function NativeExternalInterface (line 139) | function NativeExternalInterface() {
  function onReceivedPluginInfo (line 158) | function onReceivedPluginInfo(info) {
  function WebViewExternalInterface (line 185) | function WebViewExternalInterface() {
  function HtmlSound (line 254) | function HtmlSound() {
  function onAudioLoaded (line 296) | function onAudioLoaded() {
  function onAudioError (line 305) | function onAudioError() {
  function removeListeners (line 309) | function removeListeners() {
  function HtmlSoundChannel (line 451) | function HtmlSoundChannel(audio) {
  function WebAudioDecode (line 617) | function WebAudioDecode() {
  function WebAudioSound (line 670) | function WebAudioSound() {
  function onAudioLoaded (line 720) | function onAudioLoaded() {
  function onAudioError (line 724) | function onAudioError() {
  function WebAudioSoundChannel (line 824) | function WebAudioSoundChannel() {
  function WebVideo (line 999) | function WebVideo(url, cache) {
  function WebHttpRequest (line 1544) | function WebHttpRequest() {
  function WebImageLoader (line 1785) | function WebImageLoader() {
  function HTML5StageText (line 2002) | function HTML5StageText() {
  function HTMLInput (line 2346) | function HTMLInput() {
  function $getTextAdapter (line 2583) | function $getTextAdapter(textfield) {
  function $cacheTextAdapter (line 2600) | function $cacheTextAdapter(adapter, stage, container, canvas) {
  function measureText (line 2657) | function measureText(text, fontFamily, fontSize, bold, italic) {
  function createContext (line 2674) | function createContext() {
  function createCanvas (line 2717) | function createCanvas(width, height) {
  function CanvasRenderBuffer (line 2755) | function CanvasRenderBuffer(width, height, root) {
  function WebTouchHandler (line 2894) | function WebTouchHandler(stage, canvas) {
  function AudioType (line 3206) | function AudioType() {
  function Html5Capatibility (line 3229) | function Html5Capatibility() {
  function getPrefixStyleName (line 3326) | function getPrefixStyleName(name, element) {
  function getPrefix (line 3347) | function getPrefix(name, element) {
  function updateAllScreens (line 3401) | function updateAllScreens() {
  function runEgret (line 3418) | function runEgret(options) {
  function setRenderMode (line 3533) | function setRenderMode(renderMode) {
  function startTicker (line 3555) | function startTicker(ticker) {
  function doResize (line 3580) | function doResize() {
  function WebCapability (line 3628) | function WebCapability() {
  function WebFps (line 3743) | function WebFps(stage, showFPS, showLog, logFilter, styles) {
  function getItem (line 3993) | function getItem(key) {
  function setItem (line 4003) | function setItem(key, value) {
  function removeItem (line 4018) | function removeItem(key) {
  function clear (line 4025) | function clear() {
  function WebPlayer (line 4072) | function WebPlayer(container, options) {
  function convertImageToCanvas (line 4300) | function convertImageToCanvas(texture, rect) {
  function toDataURL (line 4360) | function toDataURL(type, rect, encoderOptions) {
  function eliFoTevas (line 4374) | function eliFoTevas(type, filePath, rect, encoderOptions) {
  function getPixel32 (line 4387) | function getPixel32(x, y) {
  function getPixels (line 4391) | function getPixels(x, y, width, height) {
  function XMLNode (line 4449) | function XMLNode(nodeType, parent) {
  function XML (line 4466) | function XML(localName, parent, prefix, namespace, name) {
  function XMLText (line 4497) | function XMLText(text, parent) {
  function parse (line 4512) | function parse(text) {
  function parseNode (line 4527) | function parseNode(node, parent) {
  function WebDeviceOrientation (line 4578) | function WebDeviceOrientation() {
  function WebGeolocation (line 4625) | function WebGeolocation(option) {
  function WebMotion (line 4697) | function WebMotion() {
  function setLogLevel (line 4781) | function setLogLevel(logType) {
  function WebGLDrawCmdManager (line 4870) | function WebGLDrawCmdManager() {
  function WebGLVertexArrayObject (line 5128) | function WebGLVertexArrayObject() {
  function WebGLRenderTarget (line 5424) | function WebGLRenderTarget(gl, width, height) {
  function createCanvas (line 5569) | function createCanvas(width, height) {
  function WebGLRenderContext (line 5583) | function WebGLRenderContext(width, height) {
  function WebGLRenderBuffer (line 6449) | function WebGLRenderBuffer(width, height, root) {
  function WebGLRenderer (line 6848) | function WebGLRenderer() {
  function EgretWebGLAttribute (line 7864) | function EgretWebGLAttribute(gl, program, attributeData) {
  function loadShader (line 7953) | function loadShader(gl, type, source) {
  function createWebGLProgram (line 7964) | function createWebGLProgram(gl, vertexShader, fragmentShader) {
  function extractAttributes (line 7971) | function extractAttributes(gl, program) {
  function extractUniforms (line 7982) | function extractUniforms(gl, program) {
  function EgretWebGLProgram (line 7997) | function EgretWebGLProgram(gl, vertSource, fragSource) {
  function EgretWebGLUniform (line 8090) | function EgretWebGLUniform(gl, program, uniformData) {
  function EgretShaderLib (line 8296) | function EgretShaderLib() {

FILE: dev_kit/libs/modules/game/game.d.ts
  class URLLoaderDataFormat (line 18) | class URLLoaderDataFormat {
  class FrameLabel (line 92) | class FrameLabel extends EventDispatcher {
  class MovieClipData (line 171) | class MovieClipData extends HashObject {
  class MovieClipDataFactory (line 316) | class MovieClipDataFactory extends EventDispatcher {
  class MovieClipEvent (line 410) | class MovieClipEvent extends Event {
  class ScrollEase (line 483) | class ScrollEase {
  class ScrollTween (line 519) | class ScrollTween extends EventDispatcher {
  class ScrollView (line 801) | class ScrollView extends DisplayObjectContainer {
  class ScrollViewProperties (line 1287) | class ScrollViewProperties {
  class URLLoader (line 1386) | class URLLoader extends EventDispatcher {
  class MovieClip (line 1512) | class MovieClip extends DisplayObject {
  class URLRequest (line 1828) | class URLRequest extends HashObject {
  class URLRequestHeader (line 1935) | class URLRequestHeader {
  class URLRequestMethod (line 1996) | class URLRequestMethod {
  class URLVariables (line 2044) | class URLVariables extends HashObject {
  class Ticker (line 2130) | class Ticker extends EventDispatcher {
  class MainContext (line 2213) | class MainContext extends EventDispatcher {
  class Recycler (line 2295) | class Recycler extends HashObject {

FILE: dev_kit/libs/modules/game/game.js
  function r (line 5) | function r() {
  function URLLoaderDataFormat (line 58) | function URLLoaderDataFormat() {
  function FrameLabel (line 171) | function FrameLabel(name, frame /*int*/, end /*int*/) {
  function MovieClipData (line 299) | function MovieClipData() {
  function MovieClipDataFactory (line 580) | function MovieClipDataFactory(movieClipDataSet, texture) {
  function MovieClipEvent (line 775) | function MovieClipEvent(type, bubbles, cancelable, frameLabel) {
  function ScrollEase (line 878) | function ScrollEase() {
  function ScrollTween (line 942) | function ScrollTween(target, props, pluginData) {
  function ScrollView (line 1544) | function ScrollView(content) {
  function ScrollViewProperties (line 2504) | function ScrollViewProperties() {
  function $getUrl (line 2609) | function $getUrl(request) {
  function URLLoader (line 2659) | function URLLoader(request) {
  function onPostProgress (line 2802) | function onPostProgress(event) {
  function onError (line 2805) | function onError(event) {
  function onLoadComplete (line 2809) | function onLoadComplete(e) {
  function removeListeners (line 2816) | function removeListeners() {
  function onPostProgress (line 2835) | function onPostProgress(event) {
  function onError (line 2838) | function onError(event) {
  function onLoadComplete (line 2842) | function onLoadComplete(e) {
  function removeListeners (line 2853) | function removeListeners() {
  function MovieClip (line 2928) | function MovieClip(movieClipData) {
  function URLRequest (line 3680) | function URLRequest(url) {
  function URLRequestHeader (line 3822) | function URLRequestHeader(name, value) {
  function URLRequestMethod (line 3906) | function URLRequestMethod() {
  function URLVariables (line 4003) | function URLVariables(source) {
  function Ticker (line 4166) | function Ticker() {
  function MainContext (line 4320) | function MainContext() {
  function Recycler (line 4467) | function Recycler(autoDisposeTime) {
  function setInterval (line 4635) | function setInterval(listener, thisObject, delay) {
  function clearInterval (line 4667) | function clearInterval(key) {
  function intervalUpdate (line 4682) | function intervalUpdate(timeStamp) {
  function setTimeout (line 4754) | function setTimeout(listener, thisObject, delay) {
  function clearTimeout (line 4784) | function clearTimeout(key) {
  function timeoutUpdate (line 4799) | function timeoutUpdate(timeStamp) {

FILE: dev_kit/libs/modules/particle/particle.d.ts
  class Particle (line 2) | class Particle {
  class ParticleSystem (line 55) | class ParticleSystem extends egret.DisplayObject {
  class Region (line 159) | class Region {
  class GravityParticle (line 210) | class GravityParticle extends Particle {
  class GravityParticleSystem (line 224) | class GravityParticleSystem extends ParticleSystem {

FILE: dev_kit/libs/modules/particle/particle.js
  function r (line 5) | function r() {
  function Particle (line 42) | function Particle() {
  function ParticleSystem (line 111) | function ParticleSystem(texture, emissionRate) {
  function Region (line 523) | function Region() {
  function GravityParticle (line 691) | function GravityParticle() {
  function GravityParticleSystem (line 742) | function GravityParticleSystem(texture, config) {
  function getValue (line 861) | function getValue(value) {

FILE: dev_kit/libs/modules/physics/physics.d.ts
  class AABB (line 32) | class AABB {
  class Broadphase (line 49) | class Broadphase {
  class NaiveBroadphase (line 70) | class NaiveBroadphase extends Broadphase {
  class Narrowphase (line 76) | class Narrowphase {
  class SAPBroadphase (line 128) | class SAPBroadphase extends Broadphase {
  class Constraint (line 138) | class Constraint {
  class DistanceConstraint (line 162) | class DistanceConstraint extends Constraint {
  class GearConstraint (line 186) | class GearConstraint extends Constraint {
  class LockConstraint (line 202) | class LockConstraint extends Constraint {
  class PrismaticConstraint (line 219) | class PrismaticConstraint extends Constraint {
  class RevoluteConstraint (line 250) | class RevoluteConstraint extends Constraint {
  class AngleLockEquation (line 279) | class AngleLockEquation extends Equation {
  class ContactEquation (line 292) | class ContactEquation extends Equation {
  class Equation (line 306) | class Equation {
  class FrictionEquation (line 338) | class FrictionEquation extends Equation {
  class RotationalLockEquation (line 355) | class RotationalLockEquation extends Equation {
  class RotationalVelocityEquation (line 365) | class RotationalVelocityEquation extends Equation {
  class EventEmitter (line 371) | class EventEmitter {
  class ContactMaterialOptions (line 380) | class ContactMaterialOptions {
  class ContactMaterial (line 392) | class ContactMaterial {
  class Material (line 410) | class Material {
  class vec2 (line 418) | class vec2 {
  class Body (line 514) | class Body extends EventEmitter {
  class Box (line 1026) | class Box extends Convex {
  class Pool (line 1034) | class Pool {
  class OverlapKeeperRecordPool (line 1045) | class OverlapKeeperRecordPool extends Pool {
  class IslandPool (line 1049) | class IslandPool extends Pool {
  class IslandNodePool (line 1053) | class IslandNodePool extends Pool {
  class ContactEquationPool (line 1057) | class ContactEquationPool extends Pool {
  class FrictionEquationPool (line 1061) | class FrictionEquationPool extends Pool {
  class Ray (line 1065) | class Ray {
  class RaycastResult (line 1099) | class RaycastResult {
  class TopDownVehicle (line 1116) | class TopDownVehicle {
  class WheelConstraint (line 1130) | class WheelConstraint extends Constraint {
  class Spring (line 1149) | class Spring {
  class LinearSpring (line 1169) | class LinearSpring extends Spring {
  class RotationalSpring (line 1193) | class RotationalSpring extends Spring {
  class Capsule (line 1215) | class Capsule extends Shape {
  class Circle (line 1238) | class Circle extends Shape {
  class Convex (line 1265) | class Convex extends Shape {
  class Heightfield (line 1282) | class Heightfield extends Shape {
  class Shape (line 1301) | class Shape {
  class Line (line 1343) | class Line extends Shape {
  class Particle (line 1353) | class Particle extends Shape {
  class Plane (line 1357) | class Plane extends Shape {
  class Solver (line 1361) | class Solver extends EventEmitter {
  class GSSolver (line 1378) | class GSSolver extends Solver {
  class OverlapKeeper (line 1395) | class OverlapKeeper {
  class OverlapKeeperRecord (line 1407) | class OverlapKeeperRecord {
  class TupleDictionary (line 1420) | class TupleDictionary {
  class Utils (line 1434) | class Utils {
  class Island (line 1443) | class Island {
  class IslandManager (line 1455) | class IslandManager extends Solver {
  class IslandNode (line 1472) | class IslandNode {
  class World (line 1504) | class World extends EventEmitter {

FILE: dev_kit/libs/modules/physics/physics.js
  function e (line 38) | function e(g, h) {
  function d (line 55) | function d() { }
  function d (line 60) | function d() { }
  function d (line 69) | function d() { this.vertices = []; }
  function e (line 69) | function e(a, b, c, d, e) { e = e || 0; var f = b[1] - a[1], g = a[0] - ...
  function d (line 151) | function d() { }
  function d (line 152) | function d(a) { this.lowerBound = e.create(), a && a.lowerBound && e.cop...
  function d (line 171) | function d(a) { this.type = a, this.result = [], this.world = null, this...
  function d (line 183) | function d() { e.call(this, e.NAIVE); }
  function d (line 196) | function d() { this.contactEquations = [], this.frictionEquations = [], ...
  function e (line 197) | function e(a, b) { g.set(a.vertices[0], .5 * -b.length, -b.radius), g.se...
  function f (line 198) | function f(a, b, c, d) {
  function d (line 473) | function d(a) { a = a || {}, this.from = a.from ? f.fromValues(a.from[0]...
  function e (line 473) | function e(a, b, c) { f.sub(h, c, a); var d = f.dot(h, b); return f.scal...
  function d (line 501) | function d() { this.normal = e.create(), this.shape = null, this.body = ...
  function d (line 502) | function d() { f.call(this, f.SAP), this.axisList = [], this.axisIndex =...
  function d (line 526) | function d(a, b, c, d) { this.type = c, d = e.defaults(d, { collideConne...
  function d (line 538) | function d(a, b, c) {
  function d (line 549) | function d(a, b, c) { c = c || {}, e.call(this, a, b, e.GEAR, c), this.r...
  function d (line 550) | function d(a, b, c) { c = c || {}, e.call(this, a, b, e.LOCK, c); var d ...
  function d (line 555) | function d(a, b, c) {
  function d (line 582) | function d(a, b, c) { c = c || {}, e.call(this, a, b, e.REVOLUTE, c); va...
  function d (line 605) | function d(a, b, c) { c = c || {}, e.call(this, a, b, -Number.MAX_VALUE,...
  function d (line 605) | function d(a, b) { e.call(this, a, b, 0, Number.MAX_VALUE), this.contact...
  function d (line 606) | function d(a, b, c, e) {
  function d (line 610) | function d(a, b, c) { f.call(this, a, b, -c, c), this.contactPointA = e....
  function d (line 610) | function d(a, b, c) { c = c || {}, e.call(this, a, b, -Number.MAX_VALUE,...
  function d (line 610) | function d(a, b) { e.call(this, a, b, -Number.MAX_VALUE, Number.MAX_VALU...
  function d (line 635) | function d(a, b, c) {
  function d (line 639) | function d(a) { this.id = a || d.idCounter++; }
  function d (line 675) | function d(a) {
  function d (line 783) | function d(a, b, c) { c = c || {}, f.call(this, a, b, c), this.localAnch...
  function d (line 783) | function d(a, b, c) { c = c || {}, e.call(this, a, b, c), this.restAngle...
  function d (line 783) | function d(a, b, c) { c = e.defaults(c, { stiffness: 100, damping: 1 }),...
  function d (line 784) | function d(a, b) { b = b || {}, this.chassisBody = a, this.wheels = [], ...
  function e (line 784) | function e(a, b) { b = b || {}, this.vehicle = a, this.forwardEquation =...
  function d (line 798) | function d(a) { "number" == typeof arguments[0] && "number" == typeof ar...
  function d (line 799) | function d(a) { "number" == typeof arguments[0] && "number" == typeof ar...
  function d (line 824) | function d(a) { "number" == typeof arguments[0] && (a = { radius: argume...
  function d (line 836) | function d(a) {
  function d (line 894) | function d(a) {
  function d (line 921) | function d(a) { "number" == typeof arguments[0] && (a = { length: argume...
  function d (line 927) | function d(a) { a = a || {}, a.type = e.PARTICLE, e.call(this, a); }
  function d (line 928) | function d(a) { a = a || {}, a.type = e.PLANE, e.call(this, a); }
  function d (line 936) | function d(a) { a = a || {}, this.body = null, this.position = e.fromVal...
  function d (line 937) | function d(a) {
  function e (line 940) | function e(a) {
  function d (line 995) | function d(a, b) { a = a || {}, e.call(this), this.type = b, this.equati...
  function d (line 1001) | function d() { f.apply(this, arguments); }
  function d (line 1001) | function d() { f.apply(this, arguments); }
  function d (line 1001) | function d() { f.apply(this, arguments); }
  function d (line 1001) | function d() { f.apply(this, arguments); }
  function d (line 1002) | function d() { this.overlappingShapesLastState = new e, this.overlapping...
  function d (line 1036) | function d(a, b, c, d) { this.shapeA = b, this.shapeB = d, this.bodyA = ...
  function d (line 1036) | function d() { f.apply(this, arguments); }
  function d (line 1037) | function d(a) { a = a || {}, this.objects = [], void 0 !== a.size && thi...
  function d (line 1043) | function d() { this.data = {}, this.keys = []; }
  function d (line 1056) | function d() { }
  function d (line 1073) | function d() { this.equations = [], this.bodies = []; }
  function d (line 1091) | function d(a) { this.nodePool = new e({ size: 16 }), this.islandPool = n...
  function d (line 1120) | function d(a) { this.body = a, this.neighbors = [], this.equations = [],...
  function d (line 1121) | function d(a) { l.apply(this), a = a || {}, this.springs = [], this.bodi...

FILE: dev_kit/libs/modules/promise/promise.js
  function objectOrFunction (line 15) | function objectOrFunction(x) {
  function isFunction (line 19) | function isFunction(x) {
  function setScheduler (line 54) | function setScheduler(scheduleFn) {
  function setAsap (line 58) | function setAsap(asapFn) {
  function useNextTick (line 71) | function useNextTick() {
  function useVertxTimer (line 80) | function useVertxTimer() {
  function useMutationObserver (line 90) | function useMutationObserver() {
  function useMessageChannel (line 102) | function useMessageChannel() {
  function useSetTimeout (line 110) | function useSetTimeout() {
  function flush (line 120) | function flush() {
  function attemptVertx (line 134) | function attemptVertx() {
  function then (line 159) | function then(onFulfillment, onRejection) {
  function resolve (line 217) | function resolve(object) {
  function noop (line 232) | function noop() {}
  function selfFulfillment (line 240) | function selfFulfillment() {
  function cannotReturnOwn (line 244) | function cannotReturnOwn() {
  function getThen (line 248) | function getThen(promise) {
  function tryThen (line 257) | function tryThen(then, value, fulfillmentHandler, rejectionHandler) {
  function handleForeignThenable (line 265) | function handleForeignThenable(promise, thenable, then) {
  function handleOwnThenable (line 294) | function handleOwnThenable(promise, thenable) {
  function handleMaybeThenable (line 308) | function handleMaybeThenable(promise, maybeThenable, then$$) {
  function _resolve (line 324) | function _resolve(promise, value) {
  function publishRejection (line 334) | function publishRejection(promise) {
  function fulfill (line 342) | function fulfill(promise, value) {
  function _reject (line 355) | function _reject(promise, reason) {
  function subscribe (line 365) | function subscribe(parent, child, onFulfillment, onRejection) {
  function publish (line 380) | function publish(promise) {
  function ErrorObject (line 406) | function ErrorObject() {
  function tryCatch (line 412) | function tryCatch(callback, detail) {
  function invokeCallback (line 421) | function invokeCallback(settled, promise, callback, detail) {
  function initializePromise (line 461) | function initializePromise(promise, resolver) {
  function nextId (line 474) | function nextId() {
  function makePromise (line 478) | function makePromise(promise) {
  function Enumerator (line 485) | function Enumerator(Constructor, input) {
  function validationError (line 514) | function validationError() {
  function all (line 628) | function all(entries) {
  function race (line 697) | function race(entries) {
  function reject (line 749) | function reject(reason) {
  function needsResolver (line 757) | function needsResolver() {
  function needsNew (line 761) | function needsNew() {
  function Promise (line 868) | function Promise(resolver) {
  function polyfill (line 1117) | function polyfill() {

FILE: dev_kit/libs/modules/socket/socket.d.ts
  type ISocket (line 14) | interface ISocket {
  class WebSocket (line 143) | class WebSocket extends egret.EventDispatcher {
  class HTML5WebSocket (line 398) | class HTML5WebSocket implements ISocket {

FILE: dev_kit/libs/modules/socket/socket.js
  function r (line 5) | function r() {
  function WebSocket (line 116) | function WebSocket(host, port) {
  function HTML5WebSocket (line 512) | function HTML5WebSocket() {

FILE: dev_kit/libs/modules/tween/tween.d.ts
  class Ease (line 16) | class Ease {
  class Tween (line 522) | class Tween extends EventDispatcher {
  type EaseType (line 944) | type EaseType = 'quadIn' | 'quadOut' | 'quadOut' | 'quadInOut' | 'cubicI...
  class To (line 984) | class To extends BasePath {
  class Wait (line 1037) | class Wait extends BasePath {
  class Set (line 1077) | class Set extends BasePath {
  class Tick (line 1104) | class Tick extends BasePath {
  class TweenItem (line 1167) | class TweenItem extends EventDispatcher {
  class TweenGroup (line 1286) | class TweenGroup extends EventDispatcher {

FILE: dev_kit/libs/modules/tween/tween.js
  function r (line 5) | function r() {
  function Ease (line 60) | function Ease() {
  function Tween (line 706) | function Tween(target, props, pluginData) {
  function BasePath (line 1507) | function BasePath() {
  function To (line 1542) | function To() {
  function Wait (line 1603) | function Wait() {
  function Set (line 1651) | function Set() {
  function Tick (line 1686) | function Tick() {
  function convertEase (line 1707) | function convertEase(ease) {
  function TweenItem (line 1769) | function TweenItem() {
  function TweenGroup (line 1966) | function TweenGroup() {
  function registerProperty (line 2086) | function registerProperty(classDefinition, property, type, asDefault) {

FILE: dev_kit/libs/wx_mini_game.d.ts
  type Canvas (line 449) | interface Canvas {
  type FileSystemManager (line 468) | interface FileSystemManager {
  type Stats (line 575) | interface Stats {
  type DownloadTask (line 586) | interface DownloadTask {
  type RequestTask (line 591) | interface RequestTask {
  type SocketTask (line 595) | interface SocketTask {
  type UploadTask (line 622) | interface UploadTask {
  type OpenDataContext (line 627) | interface OpenDataContext {
  type UpdateManager (line 634) | interface UpdateManager {
  type Worker (line 653) | interface Worker {
  type InnerAudioContext (line 668) | interface InnerAudioContext {
  type RecorderManager (line 781) | interface RecorderManager {
  type Video (line 820) | interface Video {
  type Performance (line 895) | interface Performance {
  type Image (line 903) | interface Image {
  class LaunchOption (line 922) | class LaunchOption {
  class SystemInfo (line 933) | class SystemInfo {
  class Stats (line 968) | class Stats {
  type RenderingContext (line 996) | interface RenderingContext { }
  type UserInfoButton (line 1001) | interface UserInfoButton {

FILE: dev_kit/scripts/api.d.ts
  type ResourceManagerConfig (line 5) | type ResourceManagerConfig = {
  type UserConfig (line 27) | type UserConfig = {
  type BuildConfigParam (line 38) | type BuildConfigParam = {
  type ProjectConfig (line 72) | type ProjectConfig = {
  type Matcher (line 89) | type Matcher = {
  type CommandContext (line 100) | interface CommandContext {
  type Command (line 127) | interface Command {
  type File (line 143) | interface File {
  type UglifyPluginOption (line 217) | type UglifyPluginOption = { sources: string[], target: string };
  type UglifyPluginOptions (line 219) | type UglifyPluginOptions = UglifyPluginOption[];
  class UglifyPlugin (line 224) | class UglifyPlugin implements plugins.Command {
  type LibraryType (line 231) | type LibraryType = "debug" | "release";
  type CompilePluginOptions (line 233) | type CompilePluginOptions = { libraryType: LibraryType, defines?: any };
  class CompilePlugin (line 237) | class CompilePlugin implements plugins.Command {
  class ExmlPlugin (line 245) | class ExmlPlugin implements plugins.Command {
  type EXML_Publish_Policy (line 259) | type EXML_Publish_Policy = "default" | "debug" | "contents" | "gjs" | "c...
  class ManifestPlugin (line 267) | class ManifestPlugin implements plugins.Command {
  type ManifestPluginOptions (line 275) | type ManifestPluginOptions = {
  type EmitResConfigFilePluginOptions (line 296) | type EmitResConfigFilePluginOptions = {
  class EmitResConfigFilePlugin (line 307) | class EmitResConfigFilePlugin implements plugins.Command {
  class IncrementCompilePlugin (line 319) | class IncrementCompilePlugin implements plugins.Command {
  class TextureMergerPlugin (line 326) | class TextureMergerPlugin implements plugins.Command {
  type CleanPluginOptions (line 332) | type CleanPluginOptions = {
  class CleanPlugin (line 338) | class CleanPlugin implements plugins.Command {
  type RenamePluginOptions (line 343) | type RenamePluginOptions = {
  class RenamePlugin (line 367) | class RenamePlugin implements plugins.Command {
  type ResSplitPluginOptions (line 371) | type ResSplitPluginOptions = {
  class ResSplitPlugin (line 385) | class ResSplitPlugin implements plugins.Command {
  type ZipPluginOptions (line 390) | type ZipPluginOptions = {
  class ZipPlugin (line 395) | class ZipPlugin implements plugins.Command {

FILE: dev_kit/scripts/bricks/bricks.ts
  type ManifestConfig (line 5) | type ManifestConfig = {
  class BricksPlugin (line 13) | class BricksPlugin implements plugins.Command {
    method constructor (line 15) | constructor() {
    method onFile (line 17) | async onFile(file: plugins.File) {
    method onFinish (line 47) | async onFinish(pluginContext) {

FILE: dev_kit/scripts/myplugin.ts
  class CustomPlugin (line 5) | class CustomPlugin implements plugins.Command {
    method constructor (line 7) | constructor() {
    method onFile (line 10) | async onFile(file: plugins.File) {
    method onFinish (line 14) | async onFinish(commandContext: plugins.CommandContext) {

FILE: dev_kit/scripts/node.d.ts
  type Console (line 3) | interface Console {
  type Error (line 16) | interface Error {
  type ErrorConstructor (line 20) | interface ErrorConstructor {
  type MapConstructor (line 28) | interface MapConstructor { }
  type WeakMapConstructor (line 29) | interface WeakMapConstructor { }
  type SetConstructor (line 30) | interface SetConstructor { }
  type WeakSetConstructor (line 31) | interface WeakSetConstructor { }
  type Iterable (line 34) | interface Iterable<T> {}
  type Iterator (line 35) | interface Iterator<T> {
  type IteratorResult (line 38) | interface IteratorResult<T> {}
  type SymbolConstructor (line 39) | interface SymbolConstructor {
  type NodeRequireFunction (line 63) | interface NodeRequireFunction {
  type NodeRequire (line 67) | interface NodeRequire extends NodeRequireFunction {
  type NodeModule (line 76) | interface NodeModule {
  type BufferEncoding (line 103) | type BufferEncoding = "ascii" | "utf8" | "utf16le" | "ucs2" | "binary" |...
  type Buffer (line 104) | interface Buffer extends NodeBuffer { }
  type ConsoleConstructor (line 251) | interface ConsoleConstructor {
  type ErrnoException (line 256) | interface ErrnoException extends Error {
  class EventEmitter (line 264) | class EventEmitter {
  type ReadableStream (line 281) | interface ReadableStream extends EventEmitter {
  type WritableStream (line 296) | interface WritableStream extends EventEmitter {
  type ReadWriteStream (line 307) | interface ReadWriteStream extends ReadableStream, WritableStream { }
  type Events (line 309) | interface Events extends EventEmitter { }
  type Domain (line 311) | interface Domain extends Events {
  type MemoryUsage (line 326) | interface MemoryUsage {
  type CpuUsage (line 332) | interface CpuUsage {
  type ProcessVersions (line 337) | interface ProcessVersions {
  type Platform (line 348) | type Platform = 'aix'
  type Process (line 357) | interface Process extends EventEmitter {
  type Global (line 425) | interface Global {
  type Timer (line 491) | interface Timer {
  type IterableIterator (line 497) | interface IterableIterator<T> { }
  type NodeBuffer (line 502) | interface NodeBuffer extends Uint8Array {
  type StringifyOptions (line 571) | interface StringifyOptions {
  type ParseOptions (line 575) | interface ParseOptions {
  class internal (line 588) | class internal extends NodeJS.EventEmitter { }
  class EventEmitter (line 591) | class EventEmitter extends internal {
  type RequestOptions (line 619) | interface RequestOptions {
  type Server (line 635) | interface Server extends net.Server {
  type ServerRequest (line 644) | interface ServerRequest extends IncomingMessage {
  type ServerResponse (line 647) | interface ServerResponse extends stream.Writable {
  type ClientRequest (line 677) | interface ClientRequest extends stream.Writable {
  type IncomingMessage (line 703) | interface IncomingMessage extends stream.Readable {
  type ClientResponse (line 735) | interface ClientResponse extends IncomingMessage { }
  type AgentOptions (line 737) | interface AgentOptions {
  class Agent (line 757) | class Agent {
  type ClusterSettings (line 792) | interface ClusterSettings {
  type ClusterSetupMasterSettings (line 802) | interface ClusterSetupMasterSettings {
  type Address (line 809) | interface Address {
  class Worker (line 815) | class Worker extends events.EventEmitter {
  type Cluster (line 885) | interface Cluster extends events.EventEmitter {
  type ZlibOptions (line 1054) | interface ZlibOptions {
  type Gzip (line 1065) | interface Gzip extends stream.Transform { }
  type Gunzip (line 1066) | interface Gunzip extends stream.Transform { }
  type Deflate (line 1067) | interface Deflate extends stream.Transform { }
  type Inflate (line 1068) | interface Inflate extends stream.Transform { }
  type DeflateRaw (line 1069) | interface DeflateRaw extends stream.Transform { }
  type InflateRaw (line 1070) | interface InflateRaw extends stream.Transform { }
  type Unzip (line 1071) | interface Unzip extends stream.Transform { }
  type CpuInfo (line 1169) | interface CpuInfo {
  type NetworkInterfaceInfo (line 1181) | interface NetworkInterfaceInfo {
  type ServerOptions (line 1332) | interface ServerOptions {
  type RequestOptions (line 1347) | interface RequestOptions extends http.RequestOptions {
  type Agent (line 1358) | interface Agent extends http.Agent { }
  type AgentOptions (line 1360) | interface AgentOptions extends http.AgentOptions {
  type Server (line 1375) | interface Server extends tls.Server { }
  type ucs2 (line 1388) | interface ucs2 {
  type ReplOptions (line 1399) | interface ReplOptions {
  type REPLServer (line 1414) | interface REPLServer extends readline.ReadLine {
  type Key (line 1456) | interface Key {
  type ReadLine (line 1464) | interface ReadLine extends events.EventEmitter {
  type Completer (line 1539) | type Completer = (line: string) => CompleterResult;
  type AsyncCompleter (line 1540) | type AsyncCompleter = (line: string, callback: (err: any, result: Comple...
  type CompleterResult (line 1542) | type CompleterResult = [string[], string];
  type ReadLineOptions (line 1544) | interface ReadLineOptions {
  type Context (line 1562) | interface Context { }
  type ScriptOptions (line 1563) | interface ScriptOptions {
  type RunningScriptOptions (line 1572) | interface RunningScriptOptions {
  class Script (line 1579) | class Script {
  type ChildProcess (line 1598) | interface ChildProcess extends events.EventEmitter {
  type SpawnOptions (line 1663) | interface SpawnOptions {
  type ExecOptions (line 1674) | interface ExecOptions {
  type ExecOptionsWithStringEncoding (line 1684) | interface ExecOptionsWithStringEncoding extends ExecOptions {
  type ExecOptionsWithBufferEncoding (line 1687) | interface ExecOptionsWithBufferEncoding extends ExecOptions {
  type ExecFileOptions (line 1696) | interface ExecFileOptions {
  type ExecFileOptionsWithStringEncoding (line 1705) | interface ExecFileOptionsWithStringEncoding extends ExecFileOptions {
  type ExecFileOptionsWithBufferEncoding (line 1708) | interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions {
  type ForkOptions (line 1722) | interface ForkOptions {
  type SpawnSyncOptions (line 1733) | interface SpawnSyncOptions {
  type SpawnSyncOptionsWithStringEncoding (line 1746) | interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions {
  type SpawnSyncOptionsWithBufferEncoding (line 1749) | interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions {
  type SpawnSyncReturns (line 1752) | interface SpawnSyncReturns<T> {
  type ExecSyncOptions (line 1769) | interface ExecSyncOptions {
  type ExecSyncOptionsWithStringEncoding (line 1782) | interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions {
  type ExecSyncOptionsWithBufferEncoding (line 1785) | interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions {
  type ExecFileSyncOptions (line 1793) | interface ExecFileSyncOptions {
  type ExecFileSyncOptionsWithStringEncoding (line 1805) | interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOpti...
  type ExecFileSyncOptionsWithBufferEncoding (line 1808) | interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOpti...
  type Url (line 1821) | interface Url {
  class URLSearchParams (line 1840) | class URLSearchParams implements Iterable<string[]> {
  class URL (line 1857) | class URL {
  type MxRecord (line 1877) | interface MxRecord {
  type Socket (line 1927) | interface Socket extends stream.Duplex {
  type ListenOptions (line 2042) | interface ListenOptions {
  type Server (line 2050) | interface Server extends events.EventEmitter {
  type RemoteInfo (line 2128) | interface RemoteInfo {
  type AddressInfo (line 2134) | interface AddressInfo {
  type BindOptions (line 2140) | interface BindOptions {
  type SocketOptions (line 2146) | interface SocketOptions {
  type Socket (line 2154) | interface Socket extends events.EventEmitter {
  type Stats (line 2219) | interface Stats {
  type FSWatcher (line 2243) | interface FSWatcher extends events.EventEmitter {
  type ReadStream (line 2272) | interface ReadStream extends stream.Readable {
  type WriteStream (line 2304) | interface WriteStream extends stream.Writable {
  type ParsedPath (line 2721) | interface ParsedPath {
  type NodeStringDecoder (line 2856) | interface NodeStringDecoder {
  type Certificate (line 2873) | interface Certificate {
  type CipherNameAndProtocol (line 2900) | interface CipherNameAndProtocol {
  class TLSSocket (line 2911) | class TLSSocket extends net.Socket {
  type TlsOptions (line 3105) | interface TlsOptions {
  type ConnectionOptions (line 3130) | interface ConnectionOptions {
  type Server (line 3151) | interface Server extends net.Server {
  type ClearTextStream (line 3213) | interface ClearTextStream extends stream.Duplex {
  type SecurePair (line 3230) | interface SecurePair {
  type SecureContextOptions (line 3235) | interface SecureContextOptions {
  type SecureContext (line 3246) | interface SecureContext {
  type Certificate (line 3259) | interface Certificate {
  type CredentialDetails (line 3271) | interface CredentialDetails {
  type Credentials (line 3280) | interface Credentials { context?: any; }
  type Utf8AsciiLatin1Encoding (line 3285) | type Utf8AsciiLatin1Encoding = "utf8" | "ascii" | "latin1";
  type HexBase64Latin1Encoding (line 3286) | type HexBase64Latin1Encoding = "latin1" | "hex" | "base64";
  type Utf8AsciiBinaryEncoding (line 3287) | type Utf8AsciiBinaryEncoding = "utf8" | "ascii" | "binary";
  type HexBase64BinaryEncoding (line 3288) | type HexBase64BinaryEncoding = "binary" | "base64" | "hex";
  type ECDHKeyFormat (line 3289) | type ECDHKeyFormat = "compressed" | "uncompressed" | "hybrid";
  type Hash (line 3291) | interface Hash extends NodeJS.ReadWriteStream {
  type Hmac (line 3297) | interface Hmac extends NodeJS.ReadWriteStream {
  type Cipher (line 3305) | interface Cipher extends NodeJS.ReadWriteStream {
  type Decipher (line 3318) | interface Decipher extends NodeJS.ReadWriteStream {
  type Signer (line 3330) | interface Signer extends NodeJS.WritableStream {
  type Verify (line 3337) | interface Verify extends NodeJS.WritableStream {
  type DiffieHellman (line 3348) | interface DiffieHellman {
  type RsaPublicKey (line 3375) | interface RsaPublicKey {
  type RsaPrivateKey (line 3379) | interface RsaPrivateKey {
  type ECDH (line 3391) | interface ECDH {
  class internal (line 3414) | class internal extends events.EventEmitter {
  class Stream (line 3419) | class Stream extends internal { }
  type ReadableOptions (line 3421) | interface ReadableOptions {
  class Readable (line 3428) | class Readable extends events.EventEmitter implements NodeJS.ReadableStr...
  type WritableOptions (line 3503) | interface WritableOptions {
  class Writable (line 3511) | class Writable extends events.EventEmitter implements NodeJS.WritableStr...
  type DuplexOptions (line 3588) | interface DuplexOptions extends ReadableOptions, WritableOptions {
  class Duplex (line 3595) | class Duplex extends Readable implements NodeJS.ReadWriteStream {
  type TransformOptions (line 3610) | interface TransformOptions extends DuplexOptions {
  class Transform (line 3616) | class Transform extends events.EventEmitter implements NodeJS.ReadWriteS...
  class PassThrough (line 3639) | class PassThrough extends Transform { }
  type InspectOptions (line 3646) | interface InspectOptions {
  class AssertionError (line 3684) | class AssertionError implements Error {
  type ReadStream (line 3732) | interface ReadStream extends net.Socket {
  type WriteStream (line 3737) | interface WriteStream extends net.Socket {
  class Domain (line 3747) | class Domain extends events.EventEmitter implements NodeJS.Domain {
  type HeapSpaceInfo (line 4043) | interface HeapSpaceInfo {
  type DoesZapCodeSpaceFlag (line 4052) | type DoesZapCodeSpaceFlag = 0 | 1;
  type HeapInfo (line 4054) | interface HeapInfo {
  type Packet (line 4089) | interface Packet {
  type Message (line 4095) | interface Message {
  type RequestInfo (line 4100) | interface RequestInfo {
  type Request (line 4105) | interface Request extends Message, RequestInfo {
  type Event (line 4108) | interface Event extends Message {
  type Response (line 4113) | interface Response extends Message {
  type BreakpointMessageBody (line 4122) | interface BreakpointMessageBody {
  class Protocol (line 4128) | class Protocol {
  type ScriptDesc (line 4139) | interface ScriptDesc {
  type Breakpoint (line 4150) | interface Breakpoint {
  type RequestHandler (line 4159) | interface RequestHandler {
  type ResponseBodyHandler (line 4164) | interface ResponseBodyHandler {
  type ExceptionInfo (line 4169) | interface ExceptionInfo {
  type BreakResponse (line 4173) | interface BreakResponse {
  type ClientInstance (line 4183) | interface ClientInstance extends NodeJS.EventEmitter {

FILE: dev_kit/scripts/wxgame/wxgame.ts
  class WxgamePlugin (line 3) | class WxgamePlugin implements plugins.Command {
    method constructor (line 5) | constructor() {
    method onFile (line 7) | async onFile(file: plugins.File) {
    method onFinish (line 44) | async onFinish(pluginContext: plugins.CommandContext) {

FILE: dev_kit/src/Components/EgretKit.ts
  class eKit (line 5) | class eKit {
    method createSprite (line 12) | public static createSprite(settings?: Object) {
    method createBitmapByName (line 27) | public static createBitmapByName(name: string, settings?: Object): egr...
    method createText (line 44) | public static createText(text: string, settings?: Object): egret.TextF...
    method createAvatar (line 61) | public static async createAvatar(url: any = '', settings?: Object) {
    method createLine (line 94) | public static createLine(points: Array<any>, param: { beginFill?: { co...
    method createRect (line 133) | public static createRect(points: Array<any>, param: { beginFill?: { co...
    method createCircle (line 167) | public static createCircle(points: Array<any>, param: { beginFill?: { ...
    method createArc (line 201) | public static createArc(points: Array<any>, param: { beginFill?: { col...
    method createRoundRect (line 235) | public static createRoundRect(points: Array<any>, param: { beginFill?:...
    method removeChild (line 258) | public static removeChild(children: egret.DisplayObject) {
    method clearView (line 270) | public static clearView(displayObjectContainer: egret.DisplayObjectCon...

FILE: dev_kit/src/Components/Http.ts
  class Api (line 10) | class Api {
    method post (line 30) | public static async post(url, data) {
    method get (line 57) | public static async get(url, noToken?) {
    method getToken (line 77) | public static getToken() {
    method uploadRecords (line 85) | public static async uploadRecords(record_data) {
    method getBestRecord (line 100) | public static async getBestRecord(record_type) {
    method getRankings (line 114) | public static async getRankings() {
    method getShareUrl (line 136) | public static async getShareUrl() {
    method getTunnel (line 150) | public static async getTunnel() {
    method postEvent (line 170) | public static async postEvent(event_type: any) {
    method getConfiguration (line 188) | public static async getConfiguration() {
    method setToken (line 201) | public static setToken(token: string) {

FILE: dev_kit/src/Components/MD5.ts
  class MD5 (line 97) | class MD5 {
    method createNonceStr (line 183) | private static createNonceStr(length?: number) {
    method createSignObject (line 194) | public static createSignObject(param:{}){

FILE: dev_kit/src/Components/Mp3.ts
  class Mp3 (line 1) | class Mp3 {
    method loadEventSound (line 8) | public static loadEventSound() {
    method switchBgm (line 28) | public static switchBgm(bgm_name: string) {
    method playBGM (line 43) | public static playBGM() {
    method stopBGM (line 47) | public static stopBGM() {
    method playEvent (line 51) | public static playEvent(event_name: string) {

FILE: dev_kit/src/Components/Record.ts
  class Records (line 1) | class Records {
    method getWeekScore (line 17) | public static async getWeekScore() {
    method getHistoryScore (line 31) | public static async getHistoryScore() {
    method refreshWorldRanking (line 44) | public static async refreshWorldRanking() {
    method getRankings (line 54) | public static getRankings() {
    method getScore (line 61) | public static getScore() {
    method updateScore (line 68) | public static updateScore(score?: number) {
    method updateRecordType (line 75) | public static updateRecordType(record_type?: number) {
    method uploadScore (line 84) | public static async uploadScore(){

FILE: dev_kit/src/Components/Utils.ts
  class Utils (line 1) | class Utils {
    method getNowDate (line 4) | public static getNowDate(){
    method getWeekTime (line 8) | public static getWeekTime() {
    method isInTimeRange (line 20) | public static isInTimeRange(timeStr) {
    method transObj (line 30) | public static transObj(kvData) {
    method dateFtt (line 38) | public static dateFtt(date,fmt?) {

FILE: dev_kit/src/Components/WS.ts
  class Ws (line 1) | class Ws{

FILE: dev_kit/src/Components/WxKit.ts
  constant PLATFORM (line 6) | const PLATFORM: WxPlatform = new WxPlatform();
  class WxKit (line 8) | class WxKit {
    method login (line 17) | public static async login() {
    method reAuth (line 107) | private static async reAuth() {
    method setDefaultShare (line 124) | public static setDefaultShare() {
    method shareGame (line 145) | public static async shareGame(type?: string, title?: string, imageUrl?...
    method rebornGame (line 176) | public static async rebornGame(title: string, imgUrl?: string) {
    method linkOpenData (line 184) | public static linkOpenData(message: {}, width?: number, height?: numbe...
    method uploadScore (line 220) | public static async uploadScore(score: number) {
    method setOnShowRule (line 231) | public static setOnShowRule() {
    method showVideoAd (line 246) | public static showVideoAd(ad_id: string, success_callback: Function, e...
    method showBannerAd (line 308) | public static showBannerAd(ad_id: string): any {

FILE: dev_kit/src/Components/WxLoginButton.ts
  class WxLoginButton (line 1) | class WxLoginButton extends Object {

FILE: dev_kit/src/GameData/GameConfig.ts
  class GameConfig (line 6) | class GameConfig {
    method getBasicUrl (line 29) | public static getBasicUrl() { return this.basicUrl }
    method getAppCode (line 31) | public static getAppCode() { return this.appCode }
    method getVersion (line 33) | public static getVersion() { return this.version }
    method getShareTitle (line 35) | public static getShareTitle() { return this.shareTitle }
    method getShareImg (line 37) | public static getShareImg() { return this.shareImg }
    method setStageWidthHeight (line 39) | public static setStageWidthHeight(stage: { stageHeight: number, stageW...
    method getWidth (line 41) | public static getWidth() { return this.stageWidth }
    method getHeight (line 43) | public static getHeight() { return this.stageHeight }
    method getKey (line 45) | public static getKey() { return this.key }
    method setMain (line 47) | public static setMain(main: egret.DisplayObjectContainer) {
    method getMain (line 51) | public static getMain() {

FILE: dev_kit/src/GameData/ParticleRes.ts
  class partRes (line 1) | class partRes {
    method initList (line 9) | public static initList() {
    method getRes (line 16) | public static getRes(name: string) {

FILE: dev_kit/src/GameData/SoundRes.ts
  class SoundRes (line 3) | class SoundRes {

FILE: dev_kit/src/GameData/UserData.ts
  class UserData (line 1) | class UserData {
    method getOpenId (line 10) | public static getOpenId(){
    method getId (line 14) | public static getId(){
    method getUserData (line 18) | public static getUserData(){
    method setUserData (line 22) | public static setUserData(userData:{avatar_url,id,nickname,gender,open...

FILE: dev_kit/src/GameData/VersionCtrl.ts
  class VersionCtrl (line 3) | class VersionCtrl{
    method refreshVersionCtrl (line 10) | public static async refreshVersionCtrl(){
    method queryConfig (line 14) | public static queryConfig(key:string){

FILE: dev_kit/src/LoadingUI.ts
  class LoadingUI (line 30) | class LoadingUI extends egret.Sprite implements RES.PromiseTaskReporter {
    method constructor (line 32) | public constructor() {
    method createView (line 39) | private createView(): void {
    method onProgress (line 48) | public onProgress(current: number, total: number): void {

FILE: dev_kit/src/Main.ts
  class Main (line 30) | class Main extends egret.DisplayObjectContainer {
    method constructor (line 34) | public constructor() {
    method createChildren (line 40) | protected createChildren(): void {
    method runGame (line 59) | private async runGame() {
    method loadResource (line 66) | private async loadResource() {
    method createGameScene (line 84) | protected createGameScene(): void {

FILE: dev_kit/src/Platform.ts
  type Platform (line 8) | interface Platform {
  class WxPlatform (line 26) | class WxPlatform implements Platform {
    method getFriendCloudStorage (line 32) | public async getFriendCloudStorage() {
    method getGroupCloudStorage (line 49) | public async getGroupCloudStorage(shareTicket: string) {
    method setKVData (line 92) | public async setKVData(data) {
    method login (line 111) | public async login() {
    method auth (line 127) | public async auth(jsCode, iv, encrytedData) {
    method getUserInfo (line 153) | public async getUserInfo() {
    method showAuthModal (line 175) | public async showAuthModal() {
  type Window (line 209) | interface Window {

FILE: dev_kit_wxgame/egret.wxgame.js
  function r (line 5) | function r() {
  function WebFps (line 48) | function WebFps(stage, showFPS, showLog, logFilter, styles) {
  function $toBitmapData (line 304) | function $toBitmapData(data) {
  function getItem (line 350) | function getItem(key) {
  function setItem (line 360) | function setItem(key, value) {
  function removeItem (line 375) | function removeItem(key) {
  function clear (line 382) | function clear() {
  function HtmlSound (line 434) | function HtmlSound() {
  function onAudioLoaded (line 476) | function onAudioLoaded() {
  function onAudioError (line 485) | function onAudioError() {
  function removeListeners (line 489) | function removeListeners() {
  function HtmlSoundChannel (line 631) | function HtmlSoundChannel(audio) {
  function WebAudioDecode (line 778) | function WebAudioDecode() {
  function WebAudioSound (line 831) | function WebAudioSound() {
  function onAudioLoaded (line 881) | function onAudioLoaded() {
  function onAudioError (line 885) | function onAudioError() {
  function WebAudioSoundChannel (line 985) | function WebAudioSoundChannel() {
  function WebVideo (line 1160) | function WebVideo(url, cache) {
  function WebHttpRequest (line 1704) | function WebHttpRequest() {
  function WebImageLoader (line 1951) | function WebImageLoader() {
  function HTML5StageText (line 2128) | function HTML5StageText() {
  function measureText (line 2290) | function measureText(text, fontFamily, fontSize, bold, italic) {
  function createContext (line 2307) | function createContext() {
  function createCanvas (line 2350) | function createCanvas(width, height) {
  function CanvasRenderBuffer (line 2388) | function CanvasRenderBuffer(width, height, root) {
  function WebTouchHandler (line 2552) | function WebTouchHandler(stage, canvas) {
  function AudioType (line 2845) | function AudioType() {
  function Html5Capatibility (line 2868) | function Html5Capatibility() {
  function getPrefixStyleName (line 2961) | function getPrefixStyleName(name, element) {
  function getPrefix (line 2982) | function getPrefix(name, element) {
  function updateAllScreens (line 3053) | function updateAllScreens() {
  function runEgret (line 3070) | function runEgret(options) {
  function setRenderMode (line 3137) | function setRenderMode(renderMode) {
  function startTicker (line 3159) | function startTicker(ticker) {
  function doResize (line 3179) | function doResize() {
  function WebCapability (line 3227) | function WebCapability() {
  function WebExternalInterface (line 3342) | function WebExternalInterface() {
  function NativeExternalInterface (line 3376) | function NativeExternalInterface() {
  function onReceivedPluginInfo (line 3395) | function onReceivedPluginInfo(info) {
  function getOption (line 3449) | function getOption(key) {
  function WebPlayer (line 3494) | function WebPlayer(container, options) {
  function convertImageToCanvas (line 3721) | function convertImageToCanvas(texture, rect) {
  function toDataURL (line 3791) | function toDataURL(type, rect, encoderOptions) {
  function eliFoTevas (line 3805) | function eliFoTevas(type, filePath, rect, encoderOptions) {
  function getPixel32 (line 3819) | function getPixel32(x, y) {
  function getPixels (line 3823) | function getPixels(x, y, width, height) {
  function XMLNode (line 3881) | function XMLNode(nodeType, parent) {
  function XML (line 3898) | function XML(localName, parent, prefix, namespace, name) {
  function XMLText (line 3929) | function XMLText(text, parent) {
  function parse (line 3944) | function parse(text) {
  function parseNode (line 3967) | function parseNode(node, parent) {
  function WebDeviceOrientation (line 4018) | function WebDeviceOrientation() {
  function WebGeolocation (line 4065) | function WebGeolocation(option) {
  function WebMotion (line 4137) | function WebMotion() {
  function setLogLevel (line 4221) | function setLogLevel(logType) {
  function WebGLDrawCmdManager (line 4317) | function WebGLDrawCmdManager() {
  function WebGLVertexArrayObject (line 4575) | function WebGLVertexArrayObject() {
  function WebGLRenderTarget (line 4871) | function WebGLRenderTarget(gl, width, height) {
  function WebGLRenderContext (line 5018) | function WebGLRenderContext(width, height) {
  function WebGLRenderBuffer (line 5901) | function WebGLRenderBuffer(width, height, root) {
  function WebGLRenderer (line 6274) | function WebGLRenderer() {
  function EgretWebGLAttribute (line 7273) | function EgretWebGLAttribute(gl, program, attributeData) {
  function loadShader (line 7362) | function loadShader(gl, type, source) {
  function createWebGLProgram (line 7373) | function createWebGLProgram(gl, vertexShader, fragmentShader) {
  function extractAttributes (line 7380) | function extractAttributes(gl, program) {
  function extractUniforms (line 7391) | function extractUniforms(gl, program) {
  function EgretWebGLProgram (line 7406) | function EgretWebGLProgram(gl, vertSource, fragSource) {
  function EgretWebGLUniform (line 7499) | function EgretWebGLUniform(gl, program, uniformData) {
  function EgretShaderLib (line 7705) | function EgretShaderLib() {

FILE: dev_kit_wxgame/js/assetsmanager.js
  function r (line 5) | function r() {
  function fulfilled (line 13) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 14) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 15) | function step(result) { result.done ? resolve(result.value) : new P(func...
  function verb (line 22) | function verb(n) { return function (v) { return step([n, v]); }; }
  function step (line 23) | function step(op) {
  function getResourceInfo (line 55) | function getResourceInfo(path) {
  function setConfigURL (line 65) | function setConfigURL(url, root) {
  function ResourceConfig (line 82) | function ResourceConfig() {
  function ResourceLoader (line 387) | function ResourceLoader() {
  function profile (line 674) | function profile() {
  method resourceConfig (line 690) | get resourceConfig() {
  function ResourceManagerError (line 715) | function ResourceManagerError(code, replacer, replacer2) {
  function setUpgradeGuideLevel (line 770) | function setUpgradeGuideLevel(level) {
  function isSupport (line 780) | function isSupport(resource) {
  function map (line 784) | function map(type, processor) {
  function promisify (line 788) | function promisify(loader, resource) {
  function getURL (line 807) | function getURL(resource) {
  function getRelativePath (line 820) | function getRelativePath(url, file) {
  function PVRParser (line 1276) | function PVRParser() {
  function textureLevelSize (line 1377) | function textureLevelSize(format, width, height) {
  function NewFileSystem (line 1494) | function NewFileSystem(data) {
  function ResourceEvent (line 1633) | function ResourceEvent(type, bubbles, cancelable) {
  function convertToResItem (line 1937) | function convertToResItem(r) {
  function native_init (line 1983) | function native_init() {
  function getRealURL (line 1992) | function getRealURL(url) {
  function getLocalData (line 2001) | function getLocalData(filePath) {
  function registerAnalyzer (line 2065) | function registerAnalyzer(type, analyzerClass) {
  function loadConfig (line 2083) | function loadConfig(url, resourceRoot) {
  function loadGroup (line 2118) | function loadGroup(name, priority, reporter) {
  function isGroupLoaded (line 2141) | function isGroupLoaded(name) {
  function getGroupByName (line 2165) | function getGroupByName(name) {
  function createGroup (line 2193) | function createGroup(name, keys, override) {
  function hasRes (line 2214) | function hasRes(key) {
  function getRes (line 2257) | function getRes(key) {
  function getResAsync (line 2261) | function getResAsync(key, compFunc, thisObject) {
  function getResByUrl (line 2287) | function getResByUrl(url, compFunc, thisObject, type) {
  function destroyRes (line 2312) | function destroyRes(name, force) {
  function setMaxLoadingThread (line 2332) | function setMaxLoadingThread(thread) {
  function setMaxRetryTimes (line 2354) | function setMaxRetryTimes(retry) {
  function addEventListener (line 2393) | function addEventListener(type, listener, thisObject, useCapture, priori...
  function removeEventListener (line 2421) | function removeEventListener(type, listener, thisObject, useCapture) {
  function $addResourceData (line 2440) | function $addResourceData(data) {
  function Resource (line 2450) | function Resource() {

FILE: dev_kit_wxgame/js/egret.js
  function r (line 5) | function r() {
  function HashObject (line 80) | function HashObject() {
  function EventDispatcher (line 192) | function EventDispatcher(target) {
  function Filter (line 437) | function Filter() {
  function clampRotation (line 526) | function clampRotation(value) {
  function DisplayObject (line 605) | function DisplayObject() {
  function Texture (line 2698) | function Texture() {
  function Event (line 3086) | function Event(type, bubbles, cancelable, data) {
  function _getString (line 3784) | function _getString(code) {
  function _error (line 3792) | function _error(code) {
  function _warn (line 3804) | function _warn(code) {
  function _markReadOnly (line 3816) | function _markReadOnly(instance, property, isProperty) {
  function markCannotUse (line 3833) | function markCannotUse(instance, property, defaultValue) {
  function Point (line 3913) | function Point(x, y) {
  function DisplayObjectContainer (line 4284) | function DisplayObjectContainer() {
  function SpriteSheet (line 5105) | function SpriteSheet(texture) {
  function tr (line 5265) | function tr(code) {
  function Bitmap (line 5358) | function Bitmap(value) {
  function RenderNode (line 5885) | function RenderNode() {
  function Path2D (line 5952) | function Path2D() {
  function createMap (line 6296) | function createMap() {
  function GlowFilter (line 6374) | function GlowFilter(color, alpha, blurX, blurY, strength, quality, inner...
  function BlendMode (line 6699) | function BlendMode() {
  function blendModeToNumber (line 6766) | function blendModeToNumber(blendMode) {
  function numberToBlendMode (line 6775) | function numberToBlendMode(blendMode) {
  function WebGLUtils (line 6903) | function WebGLUtils() {
  function FocusEvent (line 7057) | function FocusEvent(type, bubbles, cancelable) {
  function GeolocationEvent (line 7142) | function GeolocationEvent() {
  function HTTPStatusEvent (line 7240) | function HTTPStatusEvent(type, bubbles, cancelable) {
  function IOErrorEvent (line 7402) | function IOErrorEvent(type, bubbles, cancelable) {
  function MotionEvent (line 7495) | function MotionEvent() {
  function OrientationEvent (line 7553) | function OrientationEvent() {
  function ProgressEvent (line 7629) | function ProgressEvent(type, bubbles, cancelable, bytesLoaded, bytesTota...
  function StageOrientationEvent (line 7790) | function StageOrientationEvent(type, bubbles, cancelable) {
  function TextEvent (line 7906) | function TextEvent(type, bubbles, cancelable, text) {
  function TimerEvent (line 8025) | function TimerEvent(type, bubbles, cancelable) {
  function BitmapData (line 8205) | function BitmapData(source) {
  function TouchEvent (line 8466) | function TouchEvent(type, bubbles, cancelable, stageX, stageY, touchPoin...
  function BlurFilter (line 8865) | function BlurFilter(blurX, blurY, quality) {
  function BlurXFilter (line 8964) | function BlurXFilter(blurX) {
  function BlurYFilter (line 8992) | function BlurYFilter(blurY) {
  function ColorMatrixFilter (line 9079) | function ColorMatrixFilter(matrix) {
  function CustomFilter (line 9266) | function CustomFilter(vertexSrc, fragmentSrc, uniforms) {
  function DropShadowFilter (line 9417) | function DropShadowFilter(distance, angle, color, alpha, blurX, blurY, s...
  function GradientType (line 9583) | function GradientType() {
  function clampAngle (line 9650) | function clampAngle(value) {
  function Graphics (line 9689) | function Graphics() {
  function Matrix (line 10530) | function Matrix(a, b, c, d, tx, ty) {
  function Rectangle (line 11334) | function Rectangle(x, y, width, height) {
  function $pushSoundChannel (line 12268) | function $pushSoundChannel(channel) {
  function $popSoundChannel (line 12278) | function $popSoundChannel(channel) {
  function HttpMethod (line 12397) | function HttpMethod() {
  function HttpResponseType (line 12506) | function HttpResponseType() {
  function DisplayList (line 12615) | function DisplayList(root) {
  function Player (line 12862) | function Player(buffer, stage, entryClassName) {
  function FPSImpl (line 13072) | function FPSImpl(stage, showFPS, showLog, logFilter, styles) {
  function toArray (line 13187) | function toArray(argument) {
  function Mesh (line 13298) | function Mesh(value) {
  function DefaultScreenAdapter (line 13469) | function DefaultScreenAdapter() {
  function StageScaleMode (line 13605) | function StageScaleMode() {
  function SystemTicker (line 13787) | function SystemTicker() {
  function LifecycleContext (line 14110) | function LifecycleContext() {
  function addLifecycleListener (line 14134) | function addLifecycleListener(plugin) {
  function TouchHandler (line 14190) | function TouchHandler(stage) {
  function BitmapNode (line 14333) | function BitmapNode() {
  function GraphicsNode (line 14568) | function GraphicsNode() {
  function GroupNode (line 14738) | function GroupNode() {
  function MeshNode (line 14808) | function MeshNode() {
  function NormalBitmapNode (line 14903) | function NormalBitmapNode() {
  function TextNode (line 15066) | function TextNode() {
  function FillPath (line 15172) | function FillPath() {
  function GradientFillPath (line 15221) | function GradientFillPath() {
  function RenderTexture (line 15280) | function RenderTexture() {
  function StrokePath (line 15426) | function StrokePath() {
  function CanvasRenderer (line 15474) | function CanvasRenderer() {
  function getFontString (line 16233) | function getFontString(node, format) {
  function getRGBAString (line 16248) | function getRGBAString(color, alpha) {
  function getGradient (line 16259) | function getGradient(context, type, colors, alphas, ratios, matrix) {
  function setArray (line 16280) | function setArray(a, b, index) {
  function colorFilter (line 16289) | function colorFilter(buffer, w, h, matrix) {
  function blurFilter (line 16308) | function blurFilter(buffer, w, h, blurX, blurY) {
  function blurFilterH (line 16315) | function blurFilterH(buffer, w, h, blurX) {
  function blurFilterV (line 16395) | function blurFilterV(buffer, w, h, blurY) {
  function dropShadowFilter (line 16474) | function dropShadowFilter(buffer, w, h, color, blurX, blurY, angle, dist...
  function alphaFilter (line 16488) | function alphaFilter(buffer, color) {
  function panFilter (line 16513) | function panFilter(buffer, w, h, angle, distance) {
  function scaleAlphaChannel (line 16557) | function scaleAlphaChannel(buffer, value) {
  function compositeSourceOver (line 16562) | function compositeSourceOver(dst, src) {
  function getPixelKey (line 16578) | function getPixelKey(w, x, y) {
  function mix (line 16581) | function mix(v1, v2, rate) {
  function dropShadowFilter2 (line 16586) | function dropShadowFilter2(buffer, w, h, color, blurX, blurY, angle, dis...
  function Capabilities (line 16796) | function Capabilities() {
  function Shape (line 17012) | function Shape() {
  function registerImplementation (line 17089) | function registerImplementation(interfaceName, instance) {
  function getImplementation (line 17110) | function getImplementation(interfaceName) {
  function Sprite (line 17173) | function Sprite() {
  function BitmapFont (line 17335) | function BitmapFont(texture, config) {
  function BitmapText (line 17528) | function BitmapText() {
  function setLineData (line 18104) | function setLineData(str) {
  function HorizontalAlign (line 18211) | function HorizontalAlign() {
  function HtmlTextParser (line 18344) | function HtmlTextParser() {
  function InputController (line 18623) | function InputController() {
  function measureTextWidth (line 18920) | function measureTextWidth(text, values, style) {
  function TextField (line 18960) | function TextField() {
  function TextFieldInputType (line 20953) | function TextFieldInputType() {
  function TextFieldType (line 21042) | function TextFieldType() {
  function TextFieldUtils (line 21111) | function TextFieldUtils() {
  function VerticalAlign (line 21385) | function VerticalAlign() {
  function Base64Util (line 21508) | function Base64Util() {
  function Endian (line 21639) | function Endian() {
  function ByteArray (line 21696) | function ByteArray(buffer, bufferExtSize) {
  function registerClass (line 22914) | function registerClass(classDefinition, className, interfaceNames) {
  function Stage (line 23009) | function Stage() {
  function Logger (line 23328) | function Logger() {
  function NumberUtils (line 23486) | function NumberUtils() {
  function Timer (line 23703) | function Timer(delay, repeatCount) {
  function callLater (line 23983) | function callLater(method, thisObject) {
  function $callAsync (line 24012) | function $callAsync(method, thisObject) {
  function superSetter (line 24082) | function superSetter(currentClass, thisObj, type) {
  function superGetter (line 24132) | function superGetter(currentClass, thisObj, type) {
  function getDefinitionByName (line 24209) | function getDefinitionByName(name) {
  function getQualifiedClassName (line 24325) | function getQualifiedClassName(value) {
  function getQualifiedSuperclassName (line 24403) | function getQualifiedSuperclassName(value) {
  function getTimer (line 24466) | function getTimer() {
  function hasDefinition (line 24523) | function hasDefinition(name) {
  function is (line 24594) | function is(instance, typeName) {
  function startTick (line 24657) | function startTick(callBack, thisObject) {
  function stopTick (line 24714) | function stopTick(callBack, thisObject) {
  function toColorString (line 24770) | function toColorString(value) {

FILE: dev_kit_wxgame/js/game.js
  function r (line 5) | function r() {
  function URLLoaderDataFormat (line 58) | function URLLoaderDataFormat() {
  function FrameLabel (line 171) | function FrameLabel(name, frame /*int*/, end /*int*/) {
  function MovieClipData (line 299) | function MovieClipData() {
  function MovieClipDataFactory (line 580) | function MovieClipDataFactory(movieClipDataSet, texture) {
  function MovieClipEvent (line 775) | function MovieClipEvent(type, bubbles, cancelable, frameLabel) {
  function ScrollEase (line 878) | function ScrollEase() {
  function ScrollTween (line 942) | function ScrollTween(target, props, pluginData) {
  function ScrollView (line 1544) | function ScrollView(content) {
  function ScrollViewProperties (line 2504) | function ScrollViewProperties() {
  function $getUrl (line 2609) | function $getUrl(request) {
  function URLLoader (line 2659) | function URLLoader(request) {
  function onPostProgress (line 2802) | function onPostProgress(event) {
  function onError (line 2805) | function onError(event) {
  function onLoadComplete (line 2809) | function onLoadComplete(e) {
  function removeListeners (line 2816) | function removeListeners() {
  function onPostProgress (line 2835) | function onPostProgress(event) {
  function onError (line 2838) | function onError(event) {
  function onLoadComplete (line 2842) | function onLoadComplete(e) {
  function removeListeners (line 2853) | function removeListeners() {
  function MovieClip (line 2928) | function MovieClip(movieClipData) {
  function URLRequest (line 3680) | function URLRequest(url) {
  function URLRequestHeader (line 3822) | function URLRequestHeader(name, value) {
  function URLRequestMethod (line 3906) | function URLRequestMethod() {
  function URLVariables (line 4003) | function URLVariables(source) {
  function Ticker (line 4166) | function Ticker() {
  function MainContext (line 4320) | function MainContext() {
  function Recycler (line 4467) | function Recycler(autoDisposeTime) {
  function setInterval (line 4635) | function setInterval(listener, thisObject, delay) {
  function clearInterval (line 4667) | function clearInterval(key) {
  function intervalUpdate (line 4682) | function intervalUpdate(timeStamp) {
  function setTimeout (line 4754) | function setTimeout(listener, thisObject, delay) {
  function clearTimeout (line 4784) | function clearTimeout(key) {
  function timeoutUpdate (line 4799) | function timeoutUpdate(timeStamp) {

FILE: dev_kit_wxgame/js/main.js
  function fulfilled (line 6) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 7) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 8) | function step(result) { result.done ? resolve(result.value) : new P(func...
  function verb (line 15) | function verb(n) { return function (v) { return step([n, v]); }; }
  function step (line 16) | function step(op) {
  function r (line 40) | function r() {
  function WxPlatform (line 53) | function WxPlatform() {
  function GameConfig (line 251) | function GameConfig() {
  function Utils (line 298) | function Utils() {
  function eKit (line 358) | function eKit() {
  function Api (line 633) | function Api() {
  function MD5 (line 988) | function MD5() {
  function Mp3 (line 1107) | function Mp3() {
  function Records (line 1173) | function Records() {
  function Main (line 1336) | function Main() {
  function Ws (line 1562) | function Ws() {
  function WxKit (line 1573) | function WxKit() {
  function WxLoginButton (line 1961) | function WxLoginButton() {
  function LoadingUI (line 2013) | function LoadingUI() {
  function partRes (line 2033) | function partRes() {
  function SoundRes (line 2061) | function SoundRes() {
  function UserData (line 2074) | function UserData() {
  function VersionCtrl (line 2098) | function VersionCtrl() {

FILE: dev_kit_wxgame/js/particle.js
  function r (line 5) | function r() {
  function Particle (line 42) | function Particle() {
  function ParticleSystem (line 111) | function ParticleSystem(texture, emissionRate) {
  function Region (line 523) | function Region() {
  function GravityParticle (line 691) | function GravityParticle() {
  function GravityParticleSystem (line 742) | function GravityParticleSystem(texture, config) {
  function getValue (line 861) | function getValue(value) {

FILE: dev_kit_wxgame/js/physics.js
  function e (line 38) | function e(g, h) {
  function d (line 55) | function d() { }
  function d (line 60) | function d() { }
  function d (line 69) | function d() { this.vertices = []; }
  function e (line 69) | function e(a, b, c, d, e) { e = e || 0; var f = b[1] - a[1], g = a[0] - ...
  function d (line 151) | function d() { }
  function d (line 152) | function d(a) { this.lowerBound = e.create(), a && a.lowerBound && e.cop...
  function d (line 171) | function d(a) { this.type = a, this.result = [], this.world = null, this...
  function d (line 183) | function d() { e.call(this, e.NAIVE); }
  function d (line 196) | function d() { this.contactEquations = [], this.frictionEquations = [], ...
  function e (line 197) | function e(a, b) { g.set(a.vertices[0], .5 * -b.length, -b.radius), g.se...
  function f (line 198) | function f(a, b, c, d) {
  function d (line 473) | function d(a) { a = a || {}, this.from = a.from ? f.fromValues(a.from[0]...
  function e (line 473) | function e(a, b, c) { f.sub(h, c, a); var d = f.dot(h, b); return f.scal...
  function d (line 501) | function d() { this.normal = e.create(), this.shape = null, this.body = ...
  function d (line 502) | function d() { f.call(this, f.SAP), this.axisList = [], this.axisIndex =...
  function d (line 526) | function d(a, b, c, d) { this.type = c, d = e.defaults(d, { collideConne...
  function d (line 538) | function d(a, b, c) {
  function d (line 549) | function d(a, b, c) { c = c || {}, e.call(this, a, b, e.GEAR, c), this.r...
  function d (line 550) | function d(a, b, c) { c = c || {}, e.call(this, a, b, e.LOCK, c); var d ...
  function d (line 555) | function d(a, b, c) {
  function d (line 582) | function d(a, b, c) { c = c || {}, e.call(this, a, b, e.REVOLUTE, c); va...
  function d (line 605) | function d(a, b, c) { c = c || {}, e.call(this, a, b, -Number.MAX_VALUE,...
  function d (line 605) | function d(a, b) { e.call(this, a, b, 0, Number.MAX_VALUE), this.contact...
  function d (line 606) | function d(a, b, c, e) {
  function d (line 610) | function d(a, b, c) { f.call(this, a, b, -c, c), this.contactPointA = e....
  function d (line 610) | function d(a, b, c) { c = c || {}, e.call(this, a, b, -Number.MAX_VALUE,...
  function d (line 610) | function d(a, b) { e.call(this, a, b, -Number.MAX_VALUE, Number.MAX_VALU...
  function d (line 635) | function d(a, b, c) {
  function d (line 639) | function d(a) { this.id = a || d.idCounter++; }
  function d (line 675) | function d(a) {
  function d (line 783) | function d(a, b, c) { c = c || {}, f.call(this, a, b, c), this.localAnch...
  function d (line 783) | function d(a, b, c) { c = c || {}, e.call(this, a, b, c), this.restAngle...
  function d (line 783) | function d(a, b, c) { c = e.defaults(c, { stiffness: 100, damping: 1 }),...
  function d (line 784) | function d(a, b) { b = b || {}, this.chassisBody = a, this.wheels = [], ...
  function e (line 784) | function e(a, b) { b = b || {}, this.vehicle = a, this.forwardEquation =...
  function d (line 798) | function d(a) { "number" == typeof arguments[0] && "number" == typeof ar...
  function d (line 799) | function d(a) { "number" == typeof arguments[0] && "number" == typeof ar...
  function d (line 824) | function d(a) { "number" == typeof arguments[0] && (a = { radius: argume...
  function d (line 836) | function d(a) {
  function d (line 894) | function d(a) {
  function d (line 921) | function d(a) { "number" == typeof arguments[0] && (a = { length: argume...
  function d (line 927) | function d(a) { a = a || {}, a.type = e.PARTICLE, e.call(this, a); }
  function d (line 928) | function d(a) { a = a || {}, a.type = e.PLANE, e.call(this, a); }
  function d (line 936) | function d(a) { a = a || {}, this.body = null, this.position = e.fromVal...
  function d (line 937) | function d(a) {
  function e (line 940) | function e(a) {
  function d (line 995) | function d(a, b) { a = a || {}, e.call(this), this.type = b, this.equati...
  function d (line 1001) | function d() { f.apply(this, arguments); }
  function d (line 1001) | function d() { f.apply(this, arguments); }
  function d (line 1001) | function d() { f.apply(this, arguments); }
  function d (line 1001) | function d() { f.apply(this, arguments); }
  function d (line 1002) | function d() { this.overlappingShapesLastState = new e, this.overlapping...
  function d (line 1036) | function d(a, b, c, d) { this.shapeA = b, this.shapeB = d, this.bodyA = ...
  function d (line 1036) | function d() { f.apply(this, arguments); }
  function d (line 1037) | function d(a) { a = a || {}, this.objects = [], void 0 !== a.size && thi...
  function d (line 1043) | function d() { this.data = {}, this.keys = []; }
  function d (line 1056) | function d() { }
  function d (line 1073) | function d() { this.equations = [], this.bodies = []; }
  function d (line 1091) | function d(a) { this.nodePool = new e({ size: 16 }), this.islandPool = n...
  function d (line 1120) | function d(a) { this.body = a, this.neighbors = [], this.equations = [],...
  function d (line 1121) | function d(a) { l.apply(this), a = a || {}, this.springs = [], this.bodi...

FILE: dev_kit_wxgame/js/socket.js
  function r (line 5) | function r() {
  function WebSocket (line 116) | function WebSocket(host, port) {
  function HTML5WebSocket (line 512) | function HTML5WebSocket() {

FILE: dev_kit_wxgame/js/tween.js
  function r (line 5) | function r() {
  function Ease (line 60) | function Ease() {
  function Tween (line 706) | function Tween(target, props, pluginData) {
  function BasePath (line 1507) | function BasePath() {
  function To (line 1542) | function To() {
  function Wait (line 1603) | function Wait() {
  function Set (line 1651) | function Set() {
  function Tick (line 1686) | function Tick() {
  function convertEase (line 1707) | function convertEase(ease) {
  function TweenItem (line 1769) | function TweenItem() {
  function TweenGroup (line 1966) | function TweenGroup() {
  function registerProperty (line 2086) | function registerProperty(classDefinition, property, type, asDefault) {

FILE: dev_kit_wxgame/library/file-util.js
  constant WX_ROOT (line 5) | const WX_ROOT = wx.env.USER_DATA_PATH + "/";
  function walkFile (line 7) | function walkFile(dirname, callback) {
  function walkDir (line 21) | function walkDir(dirname, callback) {
  method fail (line 127) | fail(e) {

FILE: dev_kit_wxgame/library/image.js
  class ImageProcessor (line 17) | class ImageProcessor {
    method onLoadStart (line 21) | onLoadStart(host, resource) {
    method onRemoveStart (line 43) | onRemoveStart(host, resource) {
  function loadImage (line 52) | function loadImage(imageURL) {
  function download (line 76) | function download(url, target) {
  function needCache (line 108) | function needCache(url) {

FILE: dev_kit_wxgame/library/text.js
  class TextProcessor (line 18) | class TextProcessor {
    method onLoadStart (line 20) | onLoadStart(host, resource) {
    method onRemoveStart (line 68) | onRemoveStart(host, resource) {
  function loadText (line 75) | function loadText(xhrURL) {
  function needCache (line 97) | function needCache(url) {

FILE: dev_kit_wxgame/openDataContext/egret.wxgame.js
  function r (line 5) | function r() {
  function WebFps (line 48) | function WebFps(stage, showFPS, showLog, logFilter, styles) {
  function $toBitmapData (line 304) | function $toBitmapData(data) {
  function getItem (line 350) | function getItem(key) {
  function setItem (line 360) | function setItem(key, value) {
  function removeItem (line 375) | function removeItem(key) {
  function clear (line 382) | function clear() {
  function HtmlSound (line 434) | function HtmlSound() {
  function onAudioLoaded (line 476) | function onAudioLoaded() {
  function onAudioError (line 485) | function onAudioError() {
  function removeListeners (line 489) | function removeListeners() {
  function HtmlSoundChannel (line 631) | function HtmlSoundChannel(audio) {
  function WebAudioDecode (line 796) | function WebAudioDecode() {
  function WebAudioSound (line 849) | function WebAudioSound() {
  function onAudioLoaded (line 899) | function onAudioLoaded() {
  function onAudioError (line 903) | function onAudioError() {
  function WebAudioSoundChannel (line 1003) | function WebAudioSoundChannel() {
  function WebVideo (line 1178) | function WebVideo(url, cache) {
  function WebHttpRequest (line 1722) | function WebHttpRequest() {
  function WebImageLoader (line 2004) | function WebImageLoader() {
  function HTML5StageText (line 2178) | function HTML5StageText() {
  function measureText (line 2340) | function measureText(text, fontFamily, fontSize, bold, italic) {
  function createContext (line 2357) | function createContext() {
  function createCanvas (line 2400) | function createCanvas(width, height) {
  function CanvasRenderBuffer (line 2438) | function CanvasRenderBuffer(width, height, root) {
  function WebTouchHandler (line 2606) | function WebTouchHandler(stage, canvas) {
  function AudioType (line 2899) | function AudioType() {
  function Html5Capatibility (line 2922) | function Html5Capatibility() {
  function getPrefixStyleName (line 3015) | function getPrefixStyleName(name, element) {
  function getPrefix (line 3036) | function getPrefix(name, element) {
  function updateAllScreens (line 3103) | function updateAllScreens() {
  function runEgret (line 3120) | function runEgret(options) {
  function setRenderMode (line 3186) | function setRenderMode(renderMode) {
  function startTicker (line 3208) | function startTicker(ticker) {
  function doResize (line 3233) | function doResize() {
  function WebCapability (line 3281) | function WebCapability() {
  function WebExternalInterface (line 3396) | function WebExternalInterface() {
  function NativeExternalInterface (line 3430) | function NativeExternalInterface() {
  function onReceivedPluginInfo (line 3449) | function onReceivedPluginInfo(info) {
  function getOption (line 3503) | function getOption(key) {
  function WebPlayer (line 3548) | function WebPlayer(container, options) {
  function convertImageToCanvas (line 3775) | function convertImageToCanvas(texture, rect) {
  function toDataURL (line 3835) | function toDataURL(type, rect, encoderOptions) {
  function eliFoTevas (line 3849) | function eliFoTevas(type, filePath, rect, encoderOptions) {
  function getPixel32 (line 3862) | function getPixel32(x, y) {
  function getPixels (line 3866) | function getPixels(x, y, width, height) {
  function XMLNode (line 3924) | function XMLNode(nodeType, parent) {
  function XML (line 3941) | function XML(localName, parent, prefix, namespace, name) {
  function XMLText (line 3972) | function XMLText(text, parent) {
  function parse (line 3987) | function parse(text) {
  function parseNode (line 4010) | function parseNode(node, parent) {
  function WebDeviceOrientation (line 4061) | function WebDeviceOrientation() {
  function WebGeolocation (line 4108) | function WebGeolocation(option) {
  function WebMotion (line 4180) | function WebMotion() {
  function setLogLevel (line 4264) | function setLogLevel(logType) {
  function WebGLDrawCmdManager (line 4353) | function WebGLDrawCmdManager() {
  function WebGLVertexArrayObject (line 4611) | function WebGLVertexArrayObject() {
  function WebGLRenderTarget (line 4907) | function WebGLRenderTarget(gl, width, height) {
  function WebGLRenderContext (line 5054) | function WebGLRenderContext(width, height) {
  function WebGLRenderBuffer (line 5929) | function WebGLRenderBuffer(width, height, root) {
  function WebGLRenderer (line 6299) | function WebGLRenderer() {
  function EgretWebGLAttribute (line 7298) | function EgretWebGLAttribute(gl, program, attributeData) {
  function loadShader (line 7387) | function loadShader(gl, type, source) {
  function createWebGLProgram (line 7398) | function createWebGLProgram(gl, vertexShader, fragmentShader) {
  function extractAttributes (line 7405) | function extractAttributes(gl, program) {
  function extractUniforms (line 7416) | function extractUniforms(gl, program) {
  function EgretWebGLProgram (line 7431) | function EgretWebGLProgram(gl, vertSource, fragSource) {
  function EgretWebGLUniform (line 7524) | function EgretWebGLUniform(gl, program, uniformData) {
  function EgretShaderLib (line 7730) | function EgretShaderLib() {

FILE: dev_kit_wxgame/openDataContext/weapp-adapter.js
  function __webpack_require__ (line 6) | function __webpack_require__(moduleId) {
  function _interopRequireWildcard (line 56) | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { ret...
  function inject (line 60) | function inject() {
  function _interopRequireDefault (line 190) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 263) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 265) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 267) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 269) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function HTMLImageElement (line 274) | function HTMLImageElement() {
  function HTMLCanvasElement (line 286) | function HTMLCanvasElement() {
  function defineProperties (line 306) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 316) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 318) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 320) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 322) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function HTMLElement (line 327) | function HTMLElement() {
  function _interopRequireDefault (line 406) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 408) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 410) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 412) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function ELement (line 417) | function ELement() {
  function defineProperties (line 443) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 449) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 451) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 453) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 455) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Node (line 460) | function Node() {
  function defineProperties (line 516) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _classCallCheck (line 518) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function EventTarget (line 523) | function EventTarget() {
  function noop (line 600) | function noop() { }
  function _interopRequireDefault (line 624) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function Canvas (line 630) | function Canvas() {
  function _interopRequireDefault (line 685) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireWildcard (line 687) | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { ret...
  function Image (line 796) | function Image() {
  function defineProperties (line 813) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 819) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 821) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 823) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 825) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Audio (line 841) | function Audio(url) {
  function _interopRequireDefault (line 986) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 988) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 990) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 992) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function HTMLAudioElement (line 997) | function HTMLAudioElement() {
  function defineProperties (line 1019) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 1025) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 1027) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 1029) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 1031) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function HTMLMediaElement (line 1036) | function HTMLMediaElement(type) {
  function _interopRequireDefault (line 1093) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireWildcard (line 1095) | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { ret...
  function _classCallCheck (line 1097) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function touchEventHandlerFactory (line 1113) | function touchEventHandlerFactory(type) {
  function defineProperties (line 1175) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _classCallCheck (line 1177) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _triggerEvent (line 1185) | function _triggerEvent(type) {
  function _changeReadyState (line 1195) | function _changeReadyState(readyState) {
  function XMLHttpRequest (line 1202) | function XMLHttpRequest() {
  function defineProperties (line 1364) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _classCallCheck (line 1366) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function WebSocket (line 1374) | function WebSocket(url) {
  function _classCallCheck (line 1485) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  method length (line 1507) | get length() {

FILE: dev_kit_wxgame/platform.js
  class WxgamePlatform (line 5) | class WxgamePlatform {
    method login (line 9) | login() {
    method getUserInfo (line 19) | getUserInfo() {
  class WxgameOpenDataContext (line 40) | class WxgameOpenDataContext {
    method createDisplayObject (line 42) | createDisplayObject(type, width, height) {
    method postMessage (line 67) | postMessage(data) {

FILE: dev_kit_wxgame/weapp-adapter.js
  function __webpack_require__ (line 6) | function __webpack_require__(moduleId) {
  function _interopRequireWildcard (line 56) | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { ret...
  function inject (line 60) | function inject() {
  function _interopRequireDefault (line 190) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 263) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 265) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 267) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 269) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function HTMLImageElement (line 274) | function HTMLImageElement() {
  function HTMLCanvasElement (line 286) | function HTMLCanvasElement() {
  function defineProperties (line 306) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 316) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 318) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 320) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 322) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function HTMLElement (line 327) | function HTMLElement() {
  function _interopRequireDefault (line 406) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 408) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 410) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 412) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function ELement (line 417) | function ELement() {
  function defineProperties (line 443) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 449) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 451) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 453) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 455) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Node (line 460) | function Node() {
  function defineProperties (line 516) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _classCallCheck (line 518) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function EventTarget (line 523) | function EventTarget() {
  function noop (line 600) | function noop() { }
  function _interopRequireDefault (line 624) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function Canvas (line 630) | function Canvas() {
  function _interopRequireDefault (line 685) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireWildcard (line 687) | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { ret...
  function Image (line 796) | function Image() {
  function defineProperties (line 813) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 819) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 821) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 823) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 825) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Audio (line 841) | function Audio(url) {
  function _interopRequireDefault (line 986) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 988) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 990) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 992) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function HTMLAudioElement (line 997) | function HTMLAudioElement() {
  function defineProperties (line 1019) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 1025) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 1027) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 1029) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 1031) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function HTMLMediaElement (line 1036) | function HTMLMediaElement(type) {
  function _interopRequireDefault (line 1093) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireWildcard (line 1095) | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { ret...
  function _classCallCheck (line 1097) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function touchEventHandlerFactory (line 1113) | function touchEventHandlerFactory(type) {
  function defineProperties (line 1175) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _classCallCheck (line 1177) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _triggerEvent (line 1185) | function _triggerEvent(type) {
  function _changeReadyState (line 1195) | function _changeReadyState(readyState) {
  function XMLHttpRequest (line 1202) | function XMLHttpRequest() {
  function defineProperties (line 1364) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _classCallCheck (line 1366) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function WebSocket (line 1374) | function WebSocket(url) {
  function _classCallCheck (line 1485) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  method length (line 1507) | get length() {

FILE: openDataContext/bin-debug/LoadingUI.js
  function r (line 33) | function r() {
  function LoadingUI (line 41) | function LoadingUI() {

FILE: openDataContext/bin-debug/Main.js
  function r (line 33) | function r() {
  function fulfilled (line 41) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 42) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 43) | function step(result) { result.done ? resolve(result.value) : new P(func...
  function verb (line 50) | function verb(n) { return function (v) { return step([n, v]); }; }
  function step (line 51) | function step(op) {
  function Main (line 76) | function Main() {

FILE: openDataContext/bin-debug/Platform.js
  function fulfilled (line 6) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 7) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 8) | function step(result) { result.done ? resolve(result.value) : new P(func...
  function verb (line 15) | function verb(n) { return function (v) { return step([n, v]); }; }
  function step (line 16) | function step(op) {
  function DebugPlatform (line 40) | function DebugPlatform() {

FILE: openDataContext/libs/modules/egret/egret.d.ts
  type IHashObject (line 18) | interface IHashObject {
  class HashObject (line 53) | class HashObject implements IHashObject {
  class EventDispatcher (line 122) | class EventDispatcher extends HashObject implements IEventDispatcher {
  type EventBin (line 226) | interface EventBin {
  class Filter (line 260) | class Filter extends HashObject {
  type RenderMode (line 308) | const enum RenderMode {
  class DisplayObject (line 369) | class DisplayObject extends EventDispatcher {
  class Texture (line 1321) | class Texture extends HashObject {
  class Event (line 1599) | class Event extends HashObject {
  class Point (line 2272) | class Point extends HashObject {
  class DisplayObjectContainer (line 2587) | class DisplayObjectContainer extends DisplayObject {
  class SpriteSheet (line 2975) | class SpriteSheet extends HashObject {
  class Bitmap (line 3126) | class Bitmap extends DisplayObject {
  type RenderNodeType (line 3343) | const enum RenderNodeType {
  class RenderNode (line 3373) | class RenderNode {
  type PathType (line 3398) | const enum PathType {
  type PathCommand (line 3416) | const enum PathCommand {
  class Path2D (line 3426) | class Path2D {
  class NrNode (line 3628) | class NrNode {
  class NativeRenderSurface (line 3652) | class NativeRenderSurface {
  class NativeDisplayObject (line 3661) | class NativeDisplayObject {
  type NativeObjectType (line 3751) | const enum NativeObjectType {
  type MapLike (line 3802) | interface MapLike<T> {
  class GlowFilter (line 3820) | class GlowFilter extends Filter {
  class BlendMode (line 4027) | class BlendMode {
  class WebGLUtils (line 4114) | class WebGLUtils {
  type EventPhase (line 4139) | const enum EventPhase {
  class FocusEvent (line 4196) | class FocusEvent extends egret.Event {
  type Geolocation (line 4245) | interface Geolocation {
  class GeolocationEvent (line 4266) | class GeolocationEvent extends Event {
  class HTTPStatusEvent (line 4439) | class HTTPStatusEvent extends Event {
  type IEventDispatcher (line 4540) | interface IEventDispatcher extends HashObject {
  type HttpRequest (line 4739) | interface HttpRequest {
  class IOErrorEvent (line 4757) | class IOErrorEvent extends Event {
  class MotionEvent (line 4826) | class MotionEvent extends Event {
  class OrientationEvent (line 4887) | class OrientationEvent extends Event {
  type HttpRequest (line 4937) | interface HttpRequest {
  class ProgressEvent (line 4955) | class ProgressEvent extends egret.Event {
  type Stage (line 5055) | interface Stage {
  class StageOrientationEvent (line 5073) | class StageOrientationEvent extends Event {
  class TextEvent (line 5140) | class TextEvent extends Event {
  type Timer (line 5210) | interface Timer {
  class TimerEvent (line 5230) | class TimerEvent extends Event {
  class BitmapData (line 5374) | class BitmapData extends HashObject {
  type DisplayObject (line 5486) | interface DisplayObject {
  class TouchEvent (line 5519) | class TouchEvent extends Event {
  type ExternalInterface (line 5794) | interface ExternalInterface {
  type BitmapFilterQuality (line 5831) | const enum BitmapFilterQuality {
  class BlurFilter (line 5872) | class BlurFilter extends Filter {
  type IBlurXFilter (line 5948) | interface IBlurXFilter extends Filter {
  type IBlurYFilter (line 5956) | interface IBlurYFilter extends Filter {
  class ColorMatrixFilter (line 5979) | class ColorMatrixFilter extends Filter {
  class CustomFilter (line 6041) | class CustomFilter extends Filter {
  class DropShadowFilter (line 6118) | class DropShadowFilter extends GlowFilter {
  class GradientType (line 6231) | class GradientType {
  class Graphics (line 6279) | class Graphics extends HashObject {
  class Matrix (line 6714) | class Matrix extends HashObject {
  class Rectangle (line 7253) | class Rectangle extends HashObject {
  type Sound (line 7894) | interface Sound extends EventDispatcher {
  type SoundChannel (line 8046) | interface SoundChannel extends IEventDispatcher {
  type Video (line 8122) | interface Video extends DisplayObject {
  class HttpMethod (line 8322) | class HttpMethod {
  type HttpRequest (line 8382) | interface HttpRequest extends EventDispatcher {
  class HttpResponseType (line 8559) | class HttpResponseType {
  type ImageLoader (line 8612) | interface ImageLoader extends EventDispatcher {
  class DisplayList (line 8709) | class DisplayList extends HashObject {
  type runEgretOptions (line 8781) | type runEgretOptions = {
  type FPSDisplay (line 8820) | interface FPSDisplay {
  type FPSData (line 8848) | interface FPSData extends Object {
  class Player (line 8860) | class Player extends HashObject {
  type PlayerOption (line 8967) | interface PlayerOption {
  class Mesh (line 9021) | class Mesh extends Bitmap {
  type Screen (line 9052) | interface Screen {
  type IScreenAdapter (line 9075) | interface IScreenAdapter {
  type StageDisplaySize (line 9091) | interface StageDisplaySize {
  class DefaultScreenAdapter (line 9122) | class DefaultScreenAdapter extends HashObject implements IScreenAdapter {
  class StageScaleMode (line 9154) | class StageScaleMode {
  type SystemRenderer (line 9259) | interface SystemRenderer {
  class SystemTicker (line 9297) | class SystemTicker {
  type LifecyclePlugin (line 9435) | type LifecyclePlugin = (context: LifecycleContext) => void;
  class LifecycleContext (line 9444) | class LifecycleContext {
  class TouchHandler (line 9467) | class TouchHandler extends HashObject {
  class BitmapNode (line 9531) | class BitmapNode extends RenderNode {
  class GraphicsNode (line 9594) | class GraphicsNode extends RenderNode {
  class GroupNode (line 9669) | class GroupNode extends RenderNode {
  class MeshNode (line 9689) | class MeshNode extends RenderNode {
  class NormalBitmapNode (line 9758) | class NormalBitmapNode extends RenderNode {
  type TextFormat (line 9814) | interface TextFormat {
  class TextNode (line 9850) | class TextNode extends RenderNode {
  class FillPath (line 9924) | class FillPath extends Path2D {
  class GradientFillPath (line 9941) | class GradientFillPath extends Path2D {
  class RenderTexture (line 9967) | class RenderTexture extends egret.Texture {
  class StrokePath (line 10005) | class StrokePath extends Path2D {
  type CanvasRenderingContext2D (line 10041) | interface CanvasRenderingContext2D {
  class CanvasRenderer (line 10048) | class CanvasRenderer {
  type DeviceOrientation (line 10112) | interface DeviceOrientation extends EventDispatcher {
  type Geolocation (line 10173) | interface Geolocation extends EventDispatcher {
  type Motion (line 10253) | interface Motion extends EventDispatcher {
  type DeviceRotationRate (line 10294) | interface DeviceRotationRate {
  type DeviceAcceleration (line 10349) | interface DeviceAcceleration {
  class Capabilities (line 10474) | class Capabilities {
  class Shape (line 10656) | class Shape extends DisplayObject {
  class Sprite (line 10751) | class Sprite extends DisplayObjectContainer {
  class BitmapFont (line 10813) | class BitmapFont extends SpriteSheet {
  class BitmapText (line 10898) | class BitmapText extends DisplayObject {
  class HorizontalAlign (line 11159) | class HorizontalAlign {
  class HtmlTextParser (line 11254) | class HtmlTextParser {
  type IHitTextElement (line 11330) | interface IHitTextElement {
  type ITextStyle (line 11354) | interface ITextStyle {
  type ITextElement (line 11502) | interface ITextElement {
  type IWTextElement (line 11535) | interface IWTextElement extends ITextElement {
  type ILineElement (line 11548) | interface ILineElement {
  class InputController (line 11587) | class InputController extends HashObject {
  type StageText (line 11692) | interface StageText extends EventDispatcher {
  type TextKeys (line 11764) | const enum TextKeys {
  class TextField (line 11946) | class TextField extends DisplayObject {
  type TextField (line 12691) | interface TextField {
  class TextFieldInputType (line 12710) | class TextFieldInputType {
  class TextFieldType (line 12765) | class TextFieldType {
  class TextFieldUtils (line 12800) | class TextFieldUtils {
  class VerticalAlign (line 12885) | class VerticalAlign {
  class Base64Util (line 12974) | class Base64Util {
  class Endian (line 13026) | class Endian {
  type EndianConst (line 13058) | const enum EndianConst {
  class ByteArray (line 13078) | class ByteArray {
  class Stage (line 13755) | class Stage extends DisplayObjectContainer {
  class Logger (line 13954) | class Logger {
  class NumberUtils (line 14073) | class NumberUtils {
  class Timer (line 14177) | class Timer extends EventDispatcher {
  type XMLNode (line 14339) | interface XMLNode {
  type XML (line 14381) | interface XML extends XMLNode {
  type XMLText (line 14473) | interface XMLText extends XMLNode {
  type RenderBuffer (line 14877) | interface RenderBuffer {

FILE: openDataContext/libs/modules/egret/egret.js
  function r (line 5) | function r() {
  function HashObject (line 80) | function HashObject() {
  function EventDispatcher (line 192) | function EventDispatcher(target) {
  function Filter (line 437) | function Filter() {
  function clampRotation (line 526) | function clampRotation(value) {
  function DisplayObject (line 605) | function DisplayObject() {
  function Texture (line 2698) | function Texture() {
  function Event (line 3086) | function Event(type, bubbles, cancelable, data) {
  function _getString (line 3784) | function _getString(code) {
  function _error (line 3792) | function _error(code) {
  function _warn (line 3804) | function _warn(code) {
  function _markReadOnly (line 3816) | function _markReadOnly(instance, property, isProperty) {
  function markCannotUse (line 3833) | function markCannotUse(instance, property, defaultValue) {
  function Point (line 3913) | function Point(x, y) {
  function DisplayObjectContainer (line 4284) | function DisplayObjectContainer() {
  function SpriteSheet (line 5105) | function SpriteSheet(texture) {
  function tr (line 5265) | function tr(code) {
  function Bitmap (line 5358) | function Bitmap(value) {
  function RenderNode (line 5885) | function RenderNode() {
  function Path2D (line 5952) | function Path2D() {
  function createMap (line 6296) | function createMap() {
  function GlowFilter (line 6374) | function GlowFilter(color, alpha, blurX, blurY, strength, quality, inner...
  function BlendMode (line 6699) | function BlendMode() {
  function blendModeToNumber (line 6766) | function blendModeToNumber(blendMode) {
  function numberToBlendMode (line 6775) | function numberToBlendMode(blendMode) {
  function WebGLUtils (line 6903) | function WebGLUtils() {
  function FocusEvent (line 7057) | function FocusEvent(type, bubbles, cancelable) {
  function GeolocationEvent (line 7142) | function GeolocationEvent() {
  function HTTPStatusEvent (line 7240) | function HTTPStatusEvent(type, bubbles, cancelable) {
  function IOErrorEvent (line 7402) | function IOErrorEvent(type, bubbles, cancelable) {
  function MotionEvent (line 7495) | function MotionEvent() {
  function OrientationEvent (line 7553) | function OrientationEvent() {
  function ProgressEvent (line 7629) | function ProgressEvent(type, bubbles, cancelable, bytesLoaded, bytesTota...
  function StageOrientationEvent (line 7790) | function StageOrientationEvent(type, bubbles, cancelable) {
  function TextEvent (line 7906) | function TextEvent(type, bubbles, cancelable, text) {
  function TimerEvent (line 8025) | function TimerEvent(type, bubbles, cancelable) {
  function BitmapData (line 8205) | function BitmapData(source) {
  function TouchEvent (line 8466) | function TouchEvent(type, bubbles, cancelable, stageX, stageY, touchPoin...
  function BlurFilter (line 8865) | function BlurFilter(blurX, blurY, quality) {
  function BlurXFilter (line 8964) | function BlurXFilter(blurX) {
  function BlurYFilter (line 8992) | function BlurYFilter(blurY) {
  function ColorMatrixFilter (line 9079) | function ColorMatrixFilter(matrix) {
  function CustomFilter (line 9266) | function CustomFilter(vertexSrc, fragmentSrc, uniforms) {
  function DropShadowFilter (line 9417) | function DropShadowFilter(distance, angle, color, alpha, blurX, blurY, s...
  function GradientType (line 9583) | function GradientType() {
  function clampAngle (line 9650) | function clampAngle(value) {
  function Graphics (line 9689) | function Graphics() {
  function Matrix (line 10530) | function Matrix(a, b, c, d, tx, ty) {
  function Rectangle (line 11334) | function Rectangle(x, y, width, height) {
  function $pushSoundChannel (line 12268) | function $pushSoundChannel(channel) {
  function $popSoundChannel (line 12278) | function $popSoundChannel(channel) {
  function HttpMethod (line 12397) | function HttpMethod() {
  function HttpResponseType (line 12506) | function HttpResponseType() {
  function DisplayList (line 12615) | function DisplayList(root) {
  function Player (line 12862) | function Player(buffer, stage, entryClassName) {
  function FPSImpl (line 13072) | function FPSImpl(stage, showFPS, showLog, logFilter, styles) {
  function toArray (line 13187) | function toArray(argument) {
  function Mesh (line 13298) | function Mesh(value) {
  function DefaultScreenAdapter (line 13469) | function DefaultScreenAdapter() {
  function StageScaleMode (line 13605) | function StageScaleMode() {
  function SystemTicker (line 13787) | function SystemTicker() {
  function LifecycleContext (line 14110) | function LifecycleContext() {
  function addLifecycleListener (line 14134) | function addLifecycleListener(plugin) {
  function TouchHandler (line 14190) | function TouchHandler(stage) {
  function BitmapNode (line 14333) | function BitmapNode() {
  function GraphicsNode (line 14568) | function GraphicsNode() {
  function GroupNode (line 14738) | function GroupNode() {
  function MeshNode (line 14808) | function MeshNode() {
  function NormalBitmapNode (line 14903) | function NormalBitmapNode() {
  function TextNode (line 15066) | function TextNode() {
  function FillPath (line 15172) | function FillPath() {
  function GradientFillPath (line 15221) | function GradientFillPath() {
  function RenderTexture (line 15280) | function RenderTexture() {
  function StrokePath (line 15426) | function StrokePath() {
  function CanvasRenderer (line 15474) | function CanvasRenderer() {
  function getFontString (line 16233) | function getFontString(node, format) {
  function getRGBAString (line 16248) | function getRGBAString(color, alpha) {
  function getGradient (line 16259) | function getGradient(context, type, colors, alphas, ratios, matrix) {
  function setArray (line 16280) | function setArray(a, b, index) {
  function colorFilter (line 16289) | function colorFilter(buffer, w, h, matrix) {
  function blurFilter (line 16308) | function blurFilter(buffer, w, h, blurX, blurY) {
  function blurFilterH (line 16315) | function blurFilterH(buffer, w, h, blurX) {
  function blurFilterV (line 16395) | function blurFilterV(buffer, w, h, blurY) {
  function dropShadowFilter (line 16474) | function dropShadowFilter(buffer, w, h, color, blurX, blurY, angle, dist...
  function alphaFilter (line 16488) | function alphaFilter(buffer, color) {
  function panFilter (line 16513) | function panFilter(buffer, w, h, angle, distance) {
  function scaleAlphaChannel (line 16557) | function scaleAlphaChannel(buffer, value) {
  function compositeSourceOver (line 16562) | function compositeSourceOver(dst, src) {
  function getPixelKey (line 16578) | function getPixelKey(w, x, y) {
  function mix (line 16581) | function mix(v1, v2, rate) {
  function dropShadowFilter2 (line 16586) | function dropShadowFilter2(buffer, w, h, color, blurX, blurY, angle, dis...
  function Capabilities (line 16796) | function Capabilities() {
  function Shape (line 17012) | function Shape() {
  function registerImplementation (line 17089) | function registerImplementation(interfaceName, instance) {
  function getImplementation (line 17110) | function getImplementation(interfaceName) {
  function Sprite (line 17173) | function Sprite() {
  function BitmapFont (line 17335) | function BitmapFont(texture, config) {
  function BitmapText (line 17528) | function BitmapText() {
  function setLineData (line 18104) | function setLineData(str) {
  function HorizontalAlign (line 18211) | function HorizontalAlign() {
  function HtmlTextParser (line 18344) | function HtmlTextParser() {
  function InputController (line 18623) | function InputController() {
  function measureTextWidth (line 18920) | function measureTextWidth(text, values, style) {
  function TextField (line 18960) | function TextField() {
  function TextFieldInputType (line 20953) | function TextFieldInputType() {
  function TextFieldType (line 21042) | function TextFieldType() {
  function TextFieldUtils (line 21111) | function TextFieldUtils() {
  function VerticalAlign (line 21385) | function VerticalAlign() {
  function Base64Util (line 21508) | function Base64Util() {
  function Endian (line 21639) | function Endian() {
  function ByteArray (line 21696) | function ByteArray(buffer, bufferExtSize) {
  function registerClass (line 22914) | function registerClass(classDefinition, className, interfaceNames) {
  function Stage (line 23009) | function Stage() {
  function Logger (line 23328) | function Logger() {
  function NumberUtils (line 23486) | function NumberUtils() {
  function Timer (line 23703) | function Timer(delay, repeatCount) {
  function callLater (line 23983) | function callLater(method, thisObject) {
  function $callAsync (line 24012) | function $callAsync(method, thisObject) {
  function superSetter (line 24082) | function superSetter(currentClass, thisObj, type) {
  function superGetter (line 24132) | function superGetter(currentClass, thisObj, type) {
  function getDefinitionByName (line 24209) | function getDefinitionByName(name) {
  function getQualifiedClassName (line 24325) | function getQualifiedClassName(value) {
  function getQualifiedSuperclassName (line 24403) | function getQualifiedSuperclassName(value) {
  function getTimer (line 24466) | function getTimer() {
  function hasDefinition (line 24523) | function hasDefinition(name) {
  function is (line 24594) | function is(instance, typeName) {
  function startTick (line 24657) | function startTick(callBack, thisObject) {
  function stopTick (line 24714) | function stopTick(callBack, thisObject) {
  function toColorString (line 24770) | function toColorString(value) {

FILE: openDataContext/libs/modules/egret/egret.web.js
  function r (line 5) | function r() {
  function getOption (line 46) | function getOption(key) {
  function WebExternalInterface (line 105) | function WebExternalInterface() {
  function NativeExternalInterface (line 139) | function NativeExternalInterface() {
  function onReceivedPluginInfo (line 158) | function onReceivedPluginInfo(info) {
  function WebViewExternalInterface (line 185) | function WebViewExternalInterface() {
  function HtmlSound (line 254) | function HtmlSound() {
  function onAudioLoaded (line 296) | function onAudioLoaded() {
  function onAudioError (line 305) | function onAudioError() {
  function removeListeners (line 309) | function removeListeners() {
  function HtmlSoundChannel (line 451) | function HtmlSoundChannel(audio) {
  function WebAudioDecode (line 617) | function WebAudioDecode() {
  function WebAudioSound (line 670) | function WebAudioSound() {
  function onAudioLoaded (line 720) | function onAudioLoaded() {
  function onAudioError (line 724) | function onAudioError() {
  function WebAudioSoundChannel (line 824) | function WebAudioSoundChannel() {
  function WebVideo (line 999) | function WebVideo(url, cache) {
  function WebHttpRequest (line 1544) | function WebHttpRequest() {
  function WebImageLoader (line 1785) | function WebImageLoader() {
  function HTML5StageText (line 2002) | function HTML5StageText() {
  function HTMLInput (line 2346) | function HTMLInput() {
  function $getTextAdapter (line 2583) | function $getTextAdapter(textfield) {
  function $cacheTextAdapter (line 2600) | function $cacheTextAdapter(adapter, stage, container, canvas) {
  function measureText (line 2657) | function measureText(text, fontFamily, fontSize, bold, italic) {
  function createContext (line 2674) | function createContext() {
  function createCanvas (line 2717) | function createCanvas(width, height) {
  function CanvasRenderBuffer (line 2755) | function CanvasRenderBuffer(width, height, root) {
  function WebTouchHandler (line 2894) | function WebTouchHandler(stage, canvas) {
  function AudioType (line 3206) | function AudioType() {
  function Html5Capatibility (line 3229) | function Html5Capatibility() {
  function getPrefixStyleName (line 3326) | function getPrefixStyleName(name, element) {
  function getPrefix (line 3347) | function getPrefix(name, element) {
  function updateAllScreens (line 3401) | function updateAllScreens() {
  function runEgret (line 3418) | function runEgret(options) {
  function setRenderMode (line 3533) | function setRenderMode(renderMode) {
  function startTicker (line 3555) | function startTicker(ticker) {
  function doResize (line 3580) | function doResize() {
  function WebCapability (line 3628) | function WebCapability() {
  function WebFps (line 3743) | function WebFps(stage, showFPS, showLog, logFilter, styles) {
  function getItem (line 3993) | function getItem(key) {
  function setItem (line 4003) | function setItem(key, value) {
  function removeItem (line 4018) | function removeItem(key) {
  function clear (line 4025) | function clear() {
  function WebPlayer (line 4072) | function WebPlayer(container, options) {
  function convertImageToCanvas (line 4300) | function convertImageToCanvas(texture, rect) {
  function toDataURL (line 4360) | function toDataURL(type, rect, encoderOptions) {
  function eliFoTevas (line 4374) | function eliFoTevas(type, filePath, rect, encoderOptions) {
  function getPixel32 (line 4387) | function getPixel32(x, y) {
  function getPixels (line 4391) | function getPixels(x, y, width, height) {
  function XMLNode (line 4449) | function XMLNode(nodeType, parent) {
  function XML (line 4466) | function XML(localName, parent, prefix, namespace, name) {
  function XMLText (line 4497) | function XMLText(text, parent) {
  function parse (line 4512) | function parse(text) {
  function parseNode (line 4527) | function parseNode(node, parent) {
  function WebDeviceOrientation (line 4578) | function WebDeviceOrientation() {
  function WebGeolocation (line 4625) | function WebGeolocation(option) {
  function WebMotion (line 4697) | function WebMotion() {
  function setLogLevel (line 4781) | function setLogLevel(logType) {
  function WebGLDrawCmdManager (line 4870) | function WebGLDrawCmdManager() {
  function WebGLVertexArrayObject (line 5128) | function WebGLVertexArrayObject() {
  function WebGLRenderTarget (line 5424) | function WebGLRenderTarget(gl, width, height) {
  function createCanvas (line 5569) | function createCanvas(width, height) {
  function WebGLRenderContext (line 5583) | function WebGLRenderContext(width, height) {
  function WebGLRenderBuffer (line 6449) | function WebGLRenderBuffer(width, height, root) {
  function WebGLRenderer (line 6848) | function WebGLRenderer() {
  function EgretWebGLAttribute (line 7864) | function EgretWebGLAttribute(gl, program, attributeData) {
  function loadShader (line 7953) | function loadShader(gl, type, source) {
  function createWebGLProgram (line 7964) | function createWebGLProgram(gl, vertexShader, fragmentShader) {
  function extractAttributes (line 7971) | function extractAttributes(gl, program) {
  function extractUniforms (line 7982) | function extractUniforms(gl, program) {
  function EgretWebGLProgram (line 7997) | function EgretWebGLProgram(gl, vertSource, fragSource) {
  function EgretWebGLUniform (line 8090) | function EgretWebGLUniform(gl, program, uniformData) {
  function EgretShaderLib (line 8296) | function EgretShaderLib() {

FILE: openDataContext/libs/modules/game/game.d.ts
  class URLLoaderDataFormat (line 18) | class URLLoaderDataFormat {
  class FrameLabel (line 92) | class FrameLabel extends EventDispatcher {
  class MovieClipData (line 171) | class MovieClipData extends HashObject {
  class MovieClipDataFactory (line 316) | class MovieClipDataFactory extends EventDispatcher {
  class MovieClipEvent (line 410) | class MovieClipEvent extends Event {
  class ScrollEase (line 483) | class ScrollEase {
  class ScrollTween (line 519) | class ScrollTween extends EventDispatcher {
  class ScrollView (line 801) | class ScrollView extends DisplayObjectContainer {
  class ScrollViewProperties (line 1287) | class ScrollViewProperties {
  class URLLoader (line 1386) | class URLLoader extends EventDispatcher {
  class MovieClip (line 1512) | class MovieClip extends DisplayObject {
  class URLRequest (line 1828) | class URLRequest extends HashObject {
  class URLRequestHeader (line 1935) | class URLRequestHeader {
  class URLRequestMethod (line 1996) | class URLRequestMethod {
  class URLVariables (line 2044) | class URLVariables extends HashObject {
  class Ticker (line 2130) | class Ticker extends EventDispatcher {
  class MainContext (line 2213) | class MainContext extends EventDispatcher {
  class Recycler (line 2295) | class Recycler extends HashObject {

FILE: openDataContext/libs/modules/game/game.js
  function r (line 5) | function r() {
  function URLLoaderDataFormat (line 58) | function URLLoaderDataFormat() {
  function FrameLabel (line 171) | function FrameLabel(name, frame /*int*/, end /*int*/) {
  function MovieClipData (line 299) | function MovieClipData() {
  function MovieClipDataFactory (line 580) | function MovieClipDataFactory(movieClipDataSet, texture) {
  function MovieClipEvent (line 775) | function MovieClipEvent(type, bubbles, cancelable, frameLabel) {
  function ScrollEase (line 878) | function ScrollEase() {
  function ScrollTween (line 942) | function ScrollTween(target, props, pluginData) {
  function ScrollView (line 1544) | function ScrollView(content) {
  function ScrollViewProperties (line 2504) | function ScrollViewProperties() {
  function $getUrl (line 2609) | function $getUrl(request) {
  function URLLoader (line 2659) | function URLLoader(request) {
  function onPostProgress (line 2802) | function onPostProgress(event) {
  function onError (line 2805) | function onError(event) {
  function onLoadComplete (line 2809) | function onLoadComplete(e) {
  function removeListeners (line 2816) | function removeListeners() {
  function onPostProgress (line 2835) | function onPostProgress(event) {
  function onError (line 2838) | function onError(event) {
  function onLoadComplete (line 2842) | function onLoadComplete(e) {
  function removeListeners (line 2853) | function removeListeners() {
  function MovieClip (line 2928) | function MovieClip(movieClipData) {
  function URLRequest (line 3680) | function URLRequest(url) {
  function URLRequestHeader (line 3822) | function URLRequestHeader(name, value) {
  function URLRequestMethod (line 3906) | function URLRequestMethod() {
  function URLVariables (line 4003) | function URLVariables(source) {
  function Ticker (line 4166) | function Ticker() {
  function MainContext (line 4320) | function MainContext() {
  function Recycler (line 4467) | function Recycler(autoDisposeTime) {
  function setInterval (line 4635) | function setInterval(listener, thisObject, delay) {
  function clearInterval (line 4667) | function clearInterval(key) {
  function intervalUpdate (line 4682) | function intervalUpdate(timeStamp) {
  function setTimeout (line 4754) | function setTimeout(listener, thisObject, delay) {
  function clearTimeout (line 4784) | function clearTimeout(key) {
  function timeoutUpdate (line 4799) | function timeoutUpdate(timeStamp) {

FILE: openDataContext/libs/wx_mini_game.d.ts
  type Canvas (line 431) | interface Canvas {
  type FileSystemManager (line 450) | interface FileSystemManager {
  type Stats (line 557) | interface Stats {
  type DownloadTask (line 568) | interface DownloadTask {
  type RequestTask (line 573) | interface RequestTask {
  type SocketTask (line 577) | interface SocketTask {
  type UploadTask (line 604) | interface UploadTask {
  type OpenDataContext (line 609) | interface OpenDataContext {
  type UpdateManager (line 616) | interface UpdateManager {
  type Worker (line 635) | interface Worker {
  type InnerAudioContext (line 650) | interface InnerAudioContext {
  type RecorderManager (line 763) | interface RecorderManager {
  type Video (line 802) | interface Video {
  type Performance (line 877) | interface Performance {
  type Image (line 885) | interface Image {
  class LaunchOption (line 904) | class LaunchOption {
  class SystemInfo (line 915) | class SystemInfo {
  class Stats (line 950) | class Stats {
  type RenderingContext (line 978) | interface RenderingContext {}

FILE: openDataContext/scripts/api.d.ts
  type ResourceManagerConfig (line 5) | type ResourceManagerConfig = {
  type UserConfig (line 27) | type UserConfig = {
  type BuildConfigParam (line 38) | type BuildConfigParam = {
  type ProjectConfig (line 72) | type ProjectConfig = {
  type Matcher (line 89) | type Matcher = {
  type CommandContext (line 100) | interface CommandContext {
  type Command (line 127) | interface Command {
  type File (line 143) | interface File {
  type UglifyPluginOption (line 217) | type UglifyPluginOption = { sources: string[], target: string };
  type UglifyPluginOptions (line 219) | type UglifyPluginOptions = UglifyPluginOption[];
  class UglifyPlugin (line 224) | class UglifyPlugin implements plugins.Command {
  type LibraryType (line 231) | type LibraryType = "debug" | "release";
  type CompilePluginOptions (line 233) | type CompilePluginOptions = { libraryType: LibraryType, defines?: any };
  class CompilePlugin (line 237) | class CompilePlugin implements plugins.Command {
  class ExmlPlugin (line 245) | class ExmlPlugin implements plugins.Command {
  type EXML_Publish_Policy (line 259) | type EXML_Publish_Policy = "default" | "debug" | "contents" | "gjs" | "c...
  class ManifestPlugin (line 267) | class ManifestPlugin implements plugins.Command {
  type ManifestPluginOptions (line 275) | type ManifestPluginOptions = {
  type EmitResConfigFilePluginOptions (line 296) | type EmitResConfigFilePluginOptions = {
  class EmitResConfigFilePlugin (line 307) | class EmitResConfigFilePlugin implements plugins.Command {
  class IncrementCompilePlugin (line 319) | class IncrementCompilePlugin implements plugins.Command {
  class TextureMergerPlugin (line 326) | class TextureMergerPlugin implements plugins.Command {
  type CleanPluginOptions (line 332) | type CleanPluginOptions = {
  class CleanPlugin (line 338) | class CleanPlugin implements plugins.Command {
  type RenamePluginOptions (line 343) | type RenamePluginOptions = {
  class RenamePlugin (line 367) | class RenamePlugin implements plugins.Command {
  type ResSplitPluginOptions (line 371) | type ResSplitPluginOptions = {
  class ResSplitPlugin (line 385) | class ResSplitPlugin implements plugins.Command {
  type ZipPluginOptions (line 390) | type ZipPluginOptions = {
  class ZipPlugin (line 395) | class ZipPlugin implements plugins.Command {

FILE: openDataContext/scripts/bricks/bricks.ts
  type ManifestConfig (line 5) | type ManifestConfig = {
  class BricksPlugin (line 13) | class BricksPlugin implements plugins.Command {
    method constructor (line 15) | constructor() {
    method onFile (line 17) | async onFile(file: plugins.File) {
    method onFinish (line 47) | async onFinish(pluginContext) {

FILE: openDataContext/scripts/myplugin.ts
  class CustomPlugin (line 5) | class CustomPlugin implements plugins.Command {
    method constructor (line 7) | constructor() {
    method onFile (line 10) | async onFile(file: plugins.File) {
    method onFinish (line 14) | async onFinish(commandContext: plugins.CommandContext) {

FILE: openDataContext/scripts/node.d.ts
  type Console (line 3) | interface Console {
  type Error (line 16) | interface Error {
  type ErrorConstructor (line 20) | interface ErrorConstructor {
  type MapConstructor (line 28) | interface MapConstructor { }
  type WeakMapConstructor (line 29) | interface WeakMapConstructor { }
  type SetConstructor (line 30) | interface SetConstructor { }
  type WeakSetConstructor (line 31) | interface WeakSetConstructor { }
  type Iterable (line 34) | interface Iterable<T> {}
  type Iterator (line 35) | interface Iterator<T> {
  type IteratorResult (line 38) | interface IteratorResult<T> {}
  type SymbolConstructor (line 39) | interface SymbolConstructor {
  type NodeRequireFunction (line 63) | interface NodeRequireFunction {
  type NodeRequire (line 67) | interface NodeRequire extends NodeRequireFunction {
  type NodeModule (line 76) | interface NodeModule {
  type BufferEncoding (line 103) | type BufferEncoding = "ascii" | "utf8" | "utf16le" | "ucs2" | "binary" |...
  type Buffer (line 104) | interface Buffer extends NodeBuffer { }
  type ConsoleConstructor (line 251) | interface ConsoleConstructor {
  type ErrnoException (line 256) | interface ErrnoException extends Error {
  class EventEmitter (line 264) | class EventEmitter {
  type ReadableStream (line 281) | interface ReadableStream extends EventEmitter {
  type WritableStream (line 296) | interface WritableStream extends EventEmitter {
  type ReadWriteStream (line 307) | interface ReadWriteStream extends ReadableStream, WritableStream { }
  type Events (line 309) | interface Events extends EventEmitter { }
  type Domain (line 311) | interface Domain extends Events {
  type MemoryUsage (line 326) | interface MemoryUsage {
  type CpuUsage (line 332) | interface CpuUsage {
  type ProcessVersions (line 337) | interface ProcessVersions {
  type Platform (line 348) | type Platform = 'aix'
  type Process (line 357) | interface Process extends EventEmitter {
  type Global (line 425) | interface Global {
  type Timer (line 491) | interface Timer {
  type IterableIterator (line 497) | interface IterableIterator<T> { }
  type NodeBuffer (line 502) | interface NodeBuffer extends Uint8Array {
  type StringifyOptions (line 571) | interface StringifyOptions {
  type ParseOptions (line 575) | interface ParseOptions {
  class internal (line 588) | class internal extends NodeJS.EventEmitter { }
  class EventEmitter (line 591) | class EventEmitter extends internal {
  type RequestOptions (line 619) | interface RequestOptions {
  type Server (line 635) | interface Server extends net.Server {
  type ServerRequest (line 644) | interface ServerRequest extends IncomingMessage {
  type ServerResponse (line 647) | interface ServerResponse extends stream.Writable {
  type ClientRequest (line 677) | interface ClientRequest extends stream.Writable {
  type IncomingMessage (line 703) | interface IncomingMessage extends stream.Readable {
  type ClientResponse (line 735) | interface ClientResponse extends IncomingMessage { }
  type AgentOptions (line 737) | interface AgentOptions {
  class Agent (line 757) | class Agent {
  type ClusterSettings (line 792) | interface ClusterSettings {
  type ClusterSetupMasterSettings (line 802) | interface ClusterSetupMasterSettings {
  type Address (line 809) | interface Address {
  class Worker (line 815) | class Worker extends events.EventEmitter {
  type Cluster (line 885) | interface Cluster extends events.EventEmitter {
  type ZlibOptions (line 1054) | interface ZlibOptions {
  type Gzip (line 1065) | interface Gzip extends stream.Transform { }
  type Gunzip (line 1066) | interface Gunzip extends stream.Transform { }
  type Deflate (line 1067) | interface Deflate extends stream.Transform { }
  type Inflate (line 1068) | interface Inflate extends stream.Transform { }
  type DeflateRaw (line 1069) | interface DeflateRaw extends stream.Transform { }
  type InflateRaw (line 1070) | interface InflateRaw extends stream.Transform { }
  type Unzip (line 1071) | interface Unzip extends stream.Transform { }
  type CpuInfo (line 1169) | interface CpuInfo {
  type NetworkInterfaceInfo (line 1181) | interface NetworkInterfaceInfo {
  type ServerOptions (line 1332) | interface ServerOptions {
  type RequestOptions (line 1347) | interface RequestOptions extends http.RequestOptions {
  type Agent (line 1358) | interface Agent extends http.Agent { }
  type AgentOptions (line 1360) | interface AgentOptions extends http.AgentOptions {
  type Server (line 1375) | interface Server extends tls.Server { }
  type ucs2 (line 1388) | interface ucs2 {
  type ReplOptions (line 1399) | interface ReplOptions {
  type REPLServer (line 1414) | interface REPLServer extends readline.ReadLine {
  type Key (line 1456) | interface Key {
  type ReadLine (line 1464) | interface ReadLine extends events.EventEmitter {
  type Completer (line 1539) | type Completer = (line: string) => CompleterResult;
  type AsyncCompleter (line 1540) | type AsyncCompleter = (line: string, callback: (err: any, result: Comple...
  type CompleterResult (line 1542) | type CompleterResult = [string[], string];
  type ReadLineOptions (line 1544) | interface ReadLineOptions {
  type Context (line 1562) | interface Context { }
  type ScriptOptions (line 1563) | interface ScriptOptions {
  type RunningScriptOptions (line 1572) | interface RunningScriptOptions {
  class Script (line 1579) | class Script {
  type ChildProcess (line 1598) | interface ChildProcess extends events.EventEmitter {
  type SpawnOptions (line 1663) | interface SpawnOptions {
  type ExecOptions (line 1674) | interface ExecOptions {
  type ExecOptionsWithStringEncoding (line 1684) | interface ExecOptionsWithStringEncoding extends ExecOptions {
  type ExecOptionsWithBufferEncoding (line 1687) | interface ExecOptionsWithBufferEncoding extends ExecOptions {
  type ExecFileOptions (line 1696) | interface ExecFileOptions {
  type ExecFileOptionsWithStringEncoding (line 1705) | interface ExecFileOptionsWithStringEncoding extends ExecFileOptions {
  type ExecFileOptionsWithBufferEncoding (line 1708) | interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions {
  type ForkOptions (line 1722) | interface ForkOptions {
  type SpawnSyncOptions (line 1733) | interface SpawnSyncOptions {
  type SpawnSyncOptionsWithStringEncoding (line 1746) | interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions {
  type SpawnSyncOptionsWithBufferEncoding (line 1749) | interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions {
  type SpawnSyncReturns (line 1752) | interface SpawnSyncReturns<T> {
  type ExecSyncOptions (line 1769) | interface ExecSyncOptions {
  type ExecSyncOptionsWithStringEncoding (line 1782) | interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions {
  type ExecSyncOptionsWithBufferEncoding (line 1785) | interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions {
  type ExecFileSyncOptions (line 1793) | interface ExecFileSyncOptions {
  type ExecFileSyncOptionsWithStringEncoding (line 1805) | interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOpti...
  type ExecFileSyncOptionsWithBufferEncoding (line 1808) | interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOpti...
  type Url (line 1821) | interface Url {
  class URLSearchParams (line 1840) | class URLSearchParams implements Iterable<string[]> {
  class URL (line 1857) | class URL {
  type MxRecord (line 1877) | interface MxRecord {
  type Socket (line 1927) | interface Socket extends stream.Duplex {
  type ListenOptions (line 2042) | interface ListenOptions {
  type Server (line 2050) | interface Server extends events.EventEmitter {
  type RemoteInfo (line 2128) | interface RemoteInfo {
  type AddressInfo (line 2134) | interface AddressInfo {
  type BindOptions (line 2140) | interface BindOptions {
  type SocketOptions (line 2146) | interface SocketOptions {
  type Socket (line 2154) | interface Socket extends events.EventEmitter {
  type Stats (line 2219) | interface Stats {
  type FSWatcher (line 2243) | interface FSWatcher extends events.EventEmitter {
  type ReadStream (line 2272) | interface ReadStream extends stream.Readable {
  type WriteStream (line 2304) | interface WriteStream extends stream.Writable {
  type ParsedPath (line 2721) | interface ParsedPath {
  type NodeStringDecoder (line 2856) | interface NodeStringDecoder {
  type Certificate (line 2873) | interface Certificate {
  type CipherNameAndProtocol (line 2900) | interface CipherNameAndProtocol {
  class TLSSocket (line 2911) | class TLSSocket extends net.Socket {
  type TlsOptions (line 3105) | interface TlsOptions {
  type ConnectionOptions (line 3130) | interface ConnectionOptions {
  type Server (line 3151) | interface Server extends net.Server {
  type ClearTextStream (line 3213) | interface ClearTextStream extends stream.Duplex {
  type SecurePair (line 3230) | interface SecurePair {
  type SecureContextOptions (line 3235) | interface SecureContextOptions {
  type SecureContext (line 3246) | interface SecureContext {
  type Certificate (line 3259) | interface Certificate {
  type CredentialDetails (line 3271) | interface CredentialDetails {
  type Credentials (line 3280) | interface Credentials { context?: any; }
  type Utf8AsciiLatin1Encoding (line 3285) | type Utf8AsciiLatin1Encoding = "utf8" | "ascii" | "latin1";
  type HexBase64Latin1Encoding (line 3286) | type HexBase64Latin1Encoding = "latin1" | "hex" | "base64";
  type Utf8AsciiBinaryEncoding (line 3287) | type Utf8AsciiBinaryEncoding = "utf8" | "ascii" | "binary";
  type HexBase64BinaryEncoding (line 3288) | type HexBase64BinaryEncoding = "binary" | "base64" | "hex";
  type ECDHKeyFormat (line 3289) | type ECDHKeyFormat = "compressed" | "uncompressed" | "hybrid";
  type Hash (line 3291) | interface Hash extends NodeJS.ReadWriteStream {
  type Hmac (line 3297) | interface Hmac extends NodeJS.ReadWriteStream {
  type Cipher (line 3305) | interface Cipher extends NodeJS.ReadWriteStream {
  type Decipher (line 3318) | interface Decipher extends NodeJS.ReadWriteStream {
  type Signer (line 3330) | interface Signer extends NodeJS.WritableStream {
  type Verify (line 3337) | interface Verify extends NodeJS.WritableStream {
  type DiffieHellman (line 3348) | interface DiffieHellman {
  type RsaPublicKey (line 3375) | interface RsaPublicKey {
  type RsaPrivateKey (line 3379) | interface RsaPrivateKey {
  type ECDH (line 3391) | interface ECDH {
  class internal (line 3414) | class internal extends events.EventEmitter {
  class Stream (line 3419) | class Stream extends internal { }
  type ReadableOptions (line 3421) | interface ReadableOptions {
  class Readable (line 3428) | class Readable extends events.EventEmitter implements NodeJS.ReadableStr...
  type WritableOptions (line 3503) | interface WritableOptions {
  class Writable (line 3511) | class Writable extends events.EventEmitter implements NodeJS.WritableStr...
  type DuplexOptions (line 3588) | interface DuplexOptions extends ReadableOptions, WritableOptions {
  class Duplex (line 3595) | class Duplex extends Readable implements NodeJS.ReadWriteStream {
  type TransformOptions (line 3610) | interface TransformOptions extends DuplexOptions {
  class Transform (line 3616) | class Transform extends events.EventEmitter implements NodeJS.ReadWriteS...
  class PassThrough (line 3639) | class PassThrough extends Transform { }
  type InspectOptions (line 3646) | interface InspectOptions {
  class AssertionError (line 3684) | class AssertionError implements Error {
  type ReadStream (line 3732) | interface ReadStream extends net.Socket {
  type WriteStream (line 3737) | interface WriteStream extends net.Socket {
  class Domain (line 3747) | class Domain extends events.EventEmitter implements NodeJS.Domain {
  type HeapSpaceInfo (line 4043) | interface HeapSpaceInfo {
  type DoesZapCodeSpaceFlag (line 4052) | type DoesZapCodeSpaceFlag = 0 | 1;
  type HeapInfo (line 4054) | interface HeapInfo {
  type Packet (line 4089) | interface Packet {
  type Message (line 4095) | interface Message {
  type RequestInfo (line 4100) | interface RequestInfo {
  type Request (line 4105) | interface Request extends Message, RequestInfo {
  type Event (line 4108) | interface Event extends Message {
  type Response (line 4113) | interface Response extends Message {
  type BreakpointMessageBody (line 4122) | interface BreakpointMessageBody {
  class Protocol (line 4128) | class Protocol {
  type ScriptDesc (line 4139) | interface ScriptDesc {
  type Breakpoint (line 4150) | interface Breakpoint {
  type RequestHandler (line 4159) | interface RequestHandler {
  type ResponseBodyHandler (line 4164) | interface ResponseBodyHandler {
  type ExceptionInfo (line 4169) | interface ExceptionInfo {
  type BreakResponse (line 4173) | interface BreakResponse {
  type ClientInstance (line 4183) | interface ClientInstance extends NodeJS.EventEmitter {

FILE: openDataContext/scripts/wxgame/wxgame.ts
  class WxgamePlugin (line 3) | class WxgamePlugin implements plugins.Command {
    method constructor (line 5) | constructor() {
    method onFile (line 7) | async onFile(file: plugins.File) {
    method onFinish (line 44) | async onFinish(pluginContext: plugins.CommandContext) {

FILE: openDataContext/src/Main.ts
  class Main (line 30) | class Main extends egret.DisplayObjectContainer {
    method constructor (line 33) | public constructor() {
    method initReciver (line 46) | private initReciver() {

FILE: openDataContext/src/components/Http.ts
  class Api (line 10) | class Api {
    method post (line 25) | public static async post(url, data) {
    method get (line 46) | public static async get(url,noToken?) {
    method getToken (line 66) | public static getToken(){
    method uploadRecords (line 74) | public static async uploadRecords(record_data) {
    method getBestRecord (line 86) | public static async getBestRecord(timeRange) {
    method getRankings (line 100) | public static async getRankings() {
    method getShareUrl (line 122) | public static async getShareUrl() {
    method getTunnel (line 136) | public static async getTunnel() {
    method postEvent (line 154) | public static async postEvent(event_type: any) {
    method getConfiguration (line 169) | public static async getConfiguration() {
    method setToken (line 182) | public static setToken(token: string) {

FILE: openDataContext/src/components/eKit.ts
  class eKit (line 5) | class eKit {
    method createBitmapByPath (line 12) | public static async createBitmapByPath(path: string, settings?: Object) {
    method createTextureByPath (line 27) | private static async createTextureByPath(path: string) {
    method createText (line 45) | public static createText(text: string, settings?: Object): egret.TextF...
    method createLine (line 73) | public static createLine(points: Array<any>, param: { beginFill?: { co...
    method createRect (line 112) | public static createRect(points: Array<any>, param: { beginFill?: { co...
    method createCircle (line 146) | public static createCircle(points: Array<any>, param: { beginFill?: { ...
    method createArc (line 180) | public static createArc(points: Array<any>, param: { beginFill?: { col...
    method createRoundRect (line 214) | public static createRoundRect(points: Array<any>, param: { beginFill?:...
    method removeChild (line 238) | public static removeChild(children: egret.DisplayObject) {
    method clearView (line 250) | public static clearView(displayObjectContainer: egret.DisplayObjectCon...

FILE: openDataContext/src/data/GameConfig.ts
  class GameConfig (line 6) | class GameConfig{
    method getBasicUrl (line 25) | public static getBasicUrl(){return this.basicUrl}
    method getAppCode (line 27) | public static getAppCode(){return this.appCode}
    method getVersion (line 29) | public static getVersion(){return this.version}
    method getShareTitle (line 31) | public static getShareTitle(){return this.shareTitle}
    method getShareImg (line 33) | public static getShareImg(){return this.shareImg}
    method setStageWidthHeight (line 35) | public static setStageWidthHeight(stage:{stageHeight:number,stageWidth...
    method getWidth (line 37) | public static getWidth(){return this.stageWidth}
    method getHeight (line 39) | public static getHeight(){return this.stageHeight}

FILE: openDataContext/src/data/StaticRes.ts
  class StaticRes (line 2) | class StaticRes{
    method loadPaths (line 13) | public static async loadPaths(){
    method getRes (line 24) | public static getRes(name:string){

FILE: openDataContext/src/data/UserData.ts
  class UserData (line 1) | class UserData {
    method getFriendStorage (line 17) | private static async getFriendStorage() {
    method getGroupStorage (line 66) | private static async getGroupStorage(shareTicket: string) {
    method getFriendRanking (line 114) | public static async getFriendRanking() {
    method getNeighborFriend (line 127) | public static async getNeighborFriend(range?: number) {
    method getGroupRanking (line 168) | public static async getGroupRanking(shareTicket: string) {
    method getWeekTime (line 178) | public static getWeekTime() {
    method isInTimeRange (line 189) | private static isInTimeRange(timeStr) {
    method transObj (line 199) | private static transObj(kvData) {

FILE: openDataContext/src/data/VersionCtrl.ts
  class VersionCtrl (line 3) | class VersionCtrl{
    method refreshVersionCtrl (line 10) | public static async refreshVersionCtrl(){
    method queryConfig (line 14) | public static queryConfig(key:string){
Condensed preview — 131 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (9,084K chars).
[
  {
    "path": ".idea/vcs.xml",
    "chars": 180,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"VcsDirectoryMappings\">\n    <mapping dire"
  },
  {
    "path": "LICENSE",
    "chars": 1068,
    "preview": "MIT License\n\nCopyright (c) 2018 ChenXianbin\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
  },
  {
    "path": "README.md",
    "chars": 4329,
    "preview": "# 小游戏开发套件设计(分包参考 分包加载 分支)\n\n## 套件制作目的\n\n对egret引擎开发微信小游戏过程中的通用数据结构及基础代码进行提取,方便复用\n\n## 使用套件制作的线上项目:\n\n ![扫码查看项目](https://githu"
  },
  {
    "path": "dev_kit/README.md",
    "chars": 13,
    "preview": "# 主域白鹭引擎文件夹\r\n"
  },
  {
    "path": "dev_kit/bin-debug/LoadingUI.js",
    "chars": 2952,
    "preview": "//////////////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  Copyright (c) 2014-prese"
  },
  {
    "path": "dev_kit/bin-debug/Main.js",
    "chars": 10753,
    "preview": "//////////////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  Copyright (c) 2014-prese"
  },
  {
    "path": "dev_kit/bin-debug/Platform.js",
    "chars": 3320,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__type"
  },
  {
    "path": "dev_kit/egretProperties.json",
    "chars": 549,
    "preview": "{\r\n  \"engineVersion\": \"5.1.10\",\r\n  \"compilerVersion\": \"5.1.10\",\r\n  \"template\": {},\r\n  \"target\": {\r\n    \"current\": \"wxgam"
  },
  {
    "path": "dev_kit/index.html",
    "chars": 3438,
    "preview": "<!DOCTYPE HTML>\r\n<html>\r\n\r\n<head>\r\n    <meta charset=\"utf-8\">\r\n    <title>Egret</title>\r\n    <meta name=\"viewport\" conte"
  },
  {
    "path": "dev_kit/libs/modules/assetsmanager/assetsmanager.d.ts",
    "chars": 36224,
    "preview": "declare type ResourceRootSelector<T extends string> = () => T;\r\ndeclare type ResourceTypeSelector = (file: string) => st"
  },
  {
    "path": "dev_kit/libs/modules/assetsmanager/assetsmanager.js",
    "chars": 116072,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__type"
  },
  {
    "path": "dev_kit/libs/modules/egret/egret.d.ts",
    "chars": 528374,
    "preview": "declare var global: any;\r\ndeclare var __global: any;\r\ndeclare let __define: any;\r\ndeclare namespace egret {\r\n    /**\r\n  "
  },
  {
    "path": "dev_kit/libs/modules/egret/egret.js",
    "chars": 1067515,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__type"
  },
  {
    "path": "dev_kit/libs/modules/egret/egret.web.js",
    "chars": 382626,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__type"
  },
  {
    "path": "dev_kit/libs/modules/game/game.d.ts",
    "chars": 74742,
    "preview": "declare namespace egret {\r\n    /**\r\n     * The URLLoaderDataFormat class provides values that specify how downloaded dat"
  },
  {
    "path": "dev_kit/libs/modules/game/game.js",
    "chars": 187681,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__type"
  },
  {
    "path": "dev_kit/libs/modules/particle/particle.d.ts",
    "chars": 12429,
    "preview": "declare module particle {\r\n    class Particle {\r\n        /**\r\n         * 表示 Particle 实例相对于父级本地坐标的 x 坐标。\r\n         * @mem"
  },
  {
    "path": "dev_kit/libs/modules/particle/particle.js",
    "chars": 43852,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__type"
  },
  {
    "path": "dev_kit/libs/modules/physics/physics.d.ts",
    "chars": 61559,
    "preview": "//////////////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  Copyright (c) 2014-prese"
  },
  {
    "path": "dev_kit/libs/modules/physics/physics.js",
    "chars": 169935,
    "preview": "/**\r\n * The MIT License (MIT)\r\n *\r\n * Copyright (c) 2015 p2.js authors\r\n *\r\n * Permission is hereby granted, free of cha"
  },
  {
    "path": "dev_kit/libs/modules/promise/promise.js",
    "chars": 29787,
    "preview": "/*!\r\n * @overview es6-promise - a tiny implementation of Promises/A+.\r\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom"
  },
  {
    "path": "dev_kit/libs/modules/socket/socket.d.ts",
    "chars": 12772,
    "preview": "declare namespace egret {\r\n    /**\r\n     * @private\r\n     * @version Egret 2.4\r\n     * @platform Web,Native\r\n     * @lan"
  },
  {
    "path": "dev_kit/libs/modules/socket/socket.js",
    "chars": 23506,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__type"
  },
  {
    "path": "dev_kit/libs/modules/tween/tween.d.ts",
    "chars": 37797,
    "preview": "declare namespace egret {\r\n    /**\r\n     * Easing function set. Different easing functions are used to make an animation"
  },
  {
    "path": "dev_kit/libs/modules/tween/tween.js",
    "chars": 71045,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__type"
  },
  {
    "path": "dev_kit/libs/wx_mini_game.d.ts",
    "chars": 31458,
    "preview": "/**\r\n * 取消一个先前通过调用 requestAnimationFrame 方法添加到计划中的动画帧请求\r\n */\r\ndeclare function cancelAnimationFrame(requestID: number): "
  },
  {
    "path": "dev_kit/manifest.json",
    "chars": 459,
    "preview": "{\r\n\t\"initial\": [\r\n\t\t\"libs/modules/egret/egret.js\",\r\n\t\t\"libs/modules/egret/egret.web.js\",\r\n\t\t\"libs/modules/game/game.js\","
  },
  {
    "path": "dev_kit/project.md",
    "chars": 3568,
    "preview": "# 小游戏开发套件设计\r\n\r\n## 套件制作目的\r\n\r\n对egret引擎开发微信小游戏过程中的通用数据结构及基础代码进行提取,方便复用\r\n\r\n## 套件功能点:\r\n\r\n### 0.wx_mini_game.d.ts声明文件优化(进行中)\r\n"
  },
  {
    "path": "dev_kit/resource/assets/boom.json",
    "chars": 1180,
    "preview": "{\r\n\"texture\":\"newParticle.png\",\r\n\"maxRadius\":100\r\n,\"speed\":314.06\r\n,\"blendFactorDestination\":\"oneMinusSourceAlpha\"\r\n,\"ma"
  },
  {
    "path": "dev_kit/resource/assets/partical/boom_01.json",
    "chars": 1170,
    "preview": "{\r\n\"texture\":\"boom_01.png\",\r\n\"tangentialAcceleration\":0\r\n,\"maxRadiusVariance\":30\r\n,\"endRedVariance\":0\r\n,\"tangentialAccel"
  },
  {
    "path": "dev_kit/resource/config/description.json",
    "chars": 235,
    "preview": "[\r\n    \"<font color=0x00ff0c>Open-source</font>,<font color=0x00ff0c>Free</font>,<font color=0x00ff0c>Multi-platform</fo"
  },
  {
    "path": "dev_kit/resource/default.res.json",
    "chars": 751,
    "preview": "{\n\t\"groups\": [\n\t\t{\n\t\t\t\"keys\": \"bg_jpg,boom_png,boom_json,bgm_default_mp3,bgm_game2_mp3,hit_mp3\",\n\t\t\t\"name\": \"preload\"\n\t\t"
  },
  {
    "path": "dev_kit/scripts/api.d.ts",
    "chars": 7434,
    "preview": "\r\n/**\r\n * ResourceManager 配置文件\r\n */\r\ntype ResourceManagerConfig = {\r\n    /**\r\n     * 构建与发布配置\r\n     */\r\n    buildConfig: "
  },
  {
    "path": "dev_kit/scripts/bricks/bricks.ts",
    "chars": 1812,
    "preview": "import * as fs from 'fs';\r\nimport * as path from 'path';\r\n\r\n\r\ntype ManifestConfig = {\r\n\r\n    initial: string[],\r\n\r\n    g"
  },
  {
    "path": "dev_kit/scripts/config.android.ts",
    "chars": 1282,
    "preview": "/// 阅读 api.d.ts 查看文档\r\n///<reference path=\"api.d.ts\"/>\r\n\r\nimport * as path from 'path';\r\nimport { UglifyPlugin, CompilePl"
  },
  {
    "path": "dev_kit/scripts/config.bricks.ts",
    "chars": 1078,
    "preview": "/// 阅读 api.d.ts 查看文档\r\n///<reference path=\"api.d.ts\"/>\r\n\r\nimport * as path from 'path';\r\nimport { UglifyPlugin, CompilePl"
  },
  {
    "path": "dev_kit/scripts/config.ios.ts",
    "chars": 1275,
    "preview": "/// 阅读 api.d.ts 查看文档\r\n///<reference path=\"api.d.ts\"/>\r\n\r\nimport * as path from 'path';\r\nimport { UglifyPlugin, CompilePl"
  },
  {
    "path": "dev_kit/scripts/config.ts",
    "chars": 3009,
    "preview": "/// 阅读 api.d.ts 查看文档\r\n///<reference path=\"api.d.ts\"/>\r\n\r\nimport * as path from 'path';\r\nimport { UglifyPlugin, Increment"
  },
  {
    "path": "dev_kit/scripts/config.wxgame.ts",
    "chars": 2007,
    "preview": "/// 阅读 api.d.ts 查看文档\r\n///<reference path=\"api.d.ts\"/>\r\n\r\nimport * as path from 'path';\r\nimport { UglifyPlugin, CompilePl"
  },
  {
    "path": "dev_kit/scripts/myplugin.ts",
    "chars": 347,
    "preview": "/**\r\n * 示例自定义插件,您可以查阅 http://developer.egret.com/cn/2d/projectConfig/cmdExtensionPluginin/ \r\n * 了解如何开发一个自定义插件\r\n */\r\nexpo"
  },
  {
    "path": "dev_kit/scripts/node.d.ts",
    "chars": 192531,
    "preview": "// Generated by typings\r\n// Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/a4a912a0cd1849fa7d"
  },
  {
    "path": "dev_kit/scripts/tsconfig.json",
    "chars": 4554,
    "preview": "{\r\n    \"compilerOptions\": {\r\n        /* Basic Options */\r\n        \"target\": \"es5\", /* Specify ECMAScript target version:"
  },
  {
    "path": "dev_kit/scripts/wxgame/wxgame.ts",
    "chars": 3857,
    "preview": "import * as fs from 'fs';\r\nimport * as path from 'path';\r\nexport class WxgamePlugin implements plugins.Command {\r\n\r\n    "
  },
  {
    "path": "dev_kit/src/Components/EgretKit.ts",
    "chars": 10772,
    "preview": "/**\r\n   * eKit为优化使用方法后的egret引擎常用函数调用,包括创建bitmap,text,shape等\r\n   *\r\n   */\r\nclass eKit {\r\n\r\n    /**\r\n     * 根据name关键字创建一个B"
  },
  {
    "path": "dev_kit/src/Components/Http.ts",
    "chars": 6897,
    "preview": "\r\n// baseUrl:http请求接口地址\r\nconst baseUrl = GameConfig.getBasicUrl();\r\n// version:后台定义的游戏id\r\nconst app_code = GameConfig.ge"
  },
  {
    "path": "dev_kit/src/Components/MD5.ts",
    "chars": 9345,
    "preview": "var rotateLeft = function (lValue, iShiftBits) {\r\n    return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));\r\n}"
  },
  {
    "path": "dev_kit/src/Components/Mp3.ts",
    "chars": 2153,
    "preview": "class Mp3 {\r\n    private static bgm = null;\r\n\r\n    private static eventSoundList = null;\r\n    // 静音标识\r\n    public static"
  },
  {
    "path": "dev_kit/src/Components/Record.ts",
    "chars": 2183,
    "preview": "class Records {\r\n    // 玩家自己本周最高成绩\r\n    private static weekScore: any;\r\n    // 玩家历史最高成绩\r\n    private static historyScore"
  },
  {
    "path": "dev_kit/src/Components/Utils.ts",
    "chars": 2060,
    "preview": "class Utils {\r\n    private static dateRange = [];\r\n\r\n    public static getNowDate(){\r\n        return this.dateFtt(new Da"
  },
  {
    "path": "dev_kit/src/Components/WS.ts",
    "chars": 18,
    "preview": "class Ws{\r\n    \r\n}"
  },
  {
    "path": "dev_kit/src/Components/WxKit.ts",
    "chars": 11388,
    "preview": "/**\r\n   * WxKit为优化使用小游戏中常用的函数方法调用\r\n   *\r\n   */\r\n\r\nconst PLATFORM: WxPlatform = new WxPlatform();\r\n\r\nclass WxKit {\r\n\r\n   "
  },
  {
    "path": "dev_kit/src/Components/WxLoginButton.ts",
    "chars": 462,
    "preview": "class WxLoginButton extends Object {\r\n    public static btnSkin = {\r\n        type: 'text',\r\n        text: '开 始 游 戏',\r\n  "
  },
  {
    "path": "dev_kit/src/GameData/GameConfig.ts",
    "chars": 1491,
    "preview": "\r\n/**\r\n * 统一设置游戏所有配置参数,含版本号,参数地址等\r\n * \r\n */\r\nclass GameConfig {\r\n\r\n    // http通讯地址,请自行填入自己的服务器地址,若有跨域问题则点开开发工具详情,勾选不校验合法"
  },
  {
    "path": "dev_kit/src/GameData/ParticleRes.ts",
    "chars": 870,
    "preview": "class partRes {\r\n    // 定义事件音乐路径,Mp3.playEvent调用name即可播放对应path的音乐\r\n    private static list = [\r\n        { name: 'boom', "
  },
  {
    "path": "dev_kit/src/GameData/SoundRes.ts",
    "chars": 492,
    "preview": "// 音频资源配置JSON\r\n\r\nclass SoundRes {\r\n    // 定义事件音乐路径,Mp3.playEvent调用name即可播放对应path的音乐\r\n    public static eventSoundList = "
  },
  {
    "path": "dev_kit/src/GameData/UserData.ts",
    "chars": 795,
    "preview": "class UserData {\r\n    private static openId:string;\r\n    private static id:string;\r\n    private static avatar_url:string"
  },
  {
    "path": "dev_kit/src/GameData/VersionCtrl.ts",
    "chars": 340,
    "preview": "\r\n// 版本控制组件\r\nclass VersionCtrl{\r\n\r\n    private static configuration:{};\r\n    \r\n    /**\r\n     * 调用refreshVersionCtrl重新获取\r"
  },
  {
    "path": "dev_kit/src/LoadingUI.ts",
    "chars": 2410,
    "preview": "//////////////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  Copyright (c) 2014-prese"
  },
  {
    "path": "dev_kit/src/Main.ts",
    "chars": 10730,
    "preview": "//////////////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  Copyright (c) 2014-prese"
  },
  {
    "path": "dev_kit/src/Platform.ts",
    "chars": 6245,
    "preview": "/** \r\n * 平台数据接口。\r\n * 由于每款游戏通常需要发布到多个平台上,所以提取出一个统一的接口用于开发者获取平台数据信息\r\n * 推荐开发者通过这种方式封装平台逻辑,以保证整体结构的稳定\r\n * 由于不同平台的接口形式各有不同,白"
  },
  {
    "path": "dev_kit/template/runtime/native_loader.js",
    "chars": 190,
    "preview": "require(\"launcher/native_require.js\");\r\n\r\negret_native.egtMain = function () {\r\n    egret_native.nativeType = \"native\";\r"
  },
  {
    "path": "dev_kit/template/runtime/native_require.js",
    "chars": 1177,
    "preview": "var manifest = JSON.parse(egret_native.readFileSync(\"manifest.json\"));\r\nvar game_file_list = manifest.initial.concat(man"
  },
  {
    "path": "dev_kit/template/runtime/runtime_loader.js",
    "chars": 189,
    "preview": "require(\"launcher/native_require.js\");\r\n\r\negret_native.egtMain = function () {\r\n    egret_native.nativeType = \"runtime\";"
  },
  {
    "path": "dev_kit/template/web/index.html",
    "chars": 3477,
    "preview": "<!DOCTYPE HTML>\r\n<html>\r\n\r\n<head>\r\n    <meta charset=\"utf-8\">\r\n    <title>Egret</title>\r\n    <meta name=\"viewport\" conte"
  },
  {
    "path": "dev_kit/tsconfig.json",
    "chars": 315,
    "preview": "{\r\n    \"compilerOptions\": {\r\n        \"target\": \"es5\",\r\n        \"outDir\": \"bin-debug\",\r\n        \"experimentalDecorators\":"
  },
  {
    "path": "dev_kit/wingProperties.json",
    "chars": 167,
    "preview": "{\r\n\t\"resourcePlugin\":{\r\n\t\t\"configs\":[{\r\n\t\t\t\"configPath\":\"resource/default.res.json\",\r\n\t\t\t\"relativePath\":\"resource/\"\r\n\t\t}"
  },
  {
    "path": "dev_kit_wxgame/README.md",
    "chars": 46,
    "preview": "# dev_kit文件夹publish后文件夹,可直接导入微信开发者工具小游戏项目中运行\r\n"
  },
  {
    "path": "dev_kit_wxgame/egret.wxgame.js",
    "chars": 350593,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__types"
  },
  {
    "path": "dev_kit_wxgame/game.js",
    "chars": 1160,
    "preview": "require('./weapp-adapter.js');\r\nrequire('./platform.js');\r\nrequire('./manifest.js');\r\nrequire('./egret.wxgame.js');\r\n\r\n/"
  },
  {
    "path": "dev_kit_wxgame/game.json",
    "chars": 189,
    "preview": "{\n\t\"deviceOrientation\": \"portrait\",\n\t\"networkTimeout\": {\n\t\t\"request\": 5000,\n\t\t\"connectSocket\": 5000,\n\t\t\"uploadFile\": 500"
  },
  {
    "path": "dev_kit_wxgame/js/assetsmanager.js",
    "chars": 116115,
    "preview": "var egret = window.egret;var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.pu"
  },
  {
    "path": "dev_kit_wxgame/js/egret.js",
    "chars": 1067537,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__type"
  },
  {
    "path": "dev_kit_wxgame/js/game.js",
    "chars": 187706,
    "preview": "var egret = window.egret;var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.pu"
  },
  {
    "path": "dev_kit_wxgame/js/main.js",
    "chars": 91540,
    "preview": "var egret = window.egret;var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.pu"
  },
  {
    "path": "dev_kit_wxgame/js/particle.js",
    "chars": 43877,
    "preview": "var egret = window.egret;var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.pu"
  },
  {
    "path": "dev_kit_wxgame/js/physics.js",
    "chars": 169960,
    "preview": "var egret = window.egret;/**\r\n * The MIT License (MIT)\r\n *\r\n * Copyright (c) 2015 p2.js authors\r\n *\r\n * Permission is he"
  },
  {
    "path": "dev_kit_wxgame/js/socket.js",
    "chars": 23531,
    "preview": "var egret = window.egret;var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.pu"
  },
  {
    "path": "dev_kit_wxgame/js/tween.js",
    "chars": 71070,
    "preview": "var egret = window.egret;var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.pu"
  },
  {
    "path": "dev_kit_wxgame/library/file-util.js",
    "chars": 3380,
    "preview": "/**\n * 封装微信小游戏的文件系统\n */\nconst wxFs = wx.getFileSystemManager();\nconst WX_ROOT = wx.env.USER_DATA_PATH + \"/\";\n\nfunction w"
  },
  {
    "path": "dev_kit_wxgame/library/image.js",
    "chars": 2722,
    "preview": "const fileutil = require('./file-util');\nconst path = fileutil.path;\nconst fs = wx.getFileSystemManager();\n\n\n\nconst temp"
  },
  {
    "path": "dev_kit_wxgame/library/text.js",
    "chars": 2667,
    "preview": "const fileutil = require('./file-util');\nconst path = fileutil.path;\nconst fs = wx.getFileSystemManager();\n\n\nconst tempD"
  },
  {
    "path": "dev_kit_wxgame/manifest.js",
    "chars": 195,
    "preview": "require(\"js/egret.js\")\nrequire(\"js/game.js\")\nrequire(\"js/tween.js\")\nrequire(\"js/assetsmanager.js\")\nrequire(\"js/socket.js"
  },
  {
    "path": "dev_kit_wxgame/openDataContext/egret.wxgame.js",
    "chars": 304326,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n  p.__class__ = c, t ? t.push(c) : t = [c], p.__types_"
  },
  {
    "path": "dev_kit_wxgame/openDataContext/index.js",
    "chars": 992,
    "preview": "require('./weapp-adapter.js');\nrequire('./manifest.js');\nrequire('./egret.wxgame.js');\negret.wxgame.isSubContext = true;"
  },
  {
    "path": "dev_kit_wxgame/openDataContext/manifest.js",
    "chars": 80,
    "preview": "require(\"js/egret.min.js\")\r\nrequire(\"js/game.min.js\")\r\nrequire(\"js/main.min.js\")"
  },
  {
    "path": "dev_kit_wxgame/openDataContext/weapp-adapter.js",
    "chars": 56617,
    "preview": "/******/ (function (modules) { // webpackBootstrap\r\n/******/ \t// The module cache\r\n/******/ \tvar installedModules = {};\r"
  },
  {
    "path": "dev_kit_wxgame/platform.js",
    "chars": 2227,
    "preview": "/**\r\n * 请在白鹭引擎的Main.ts中调用 platform.login() 方法调用至此处。\r\n */\r\n\r\nclass WxgamePlatform {\r\n\r\n    name = 'wxgame'\r\n\r\n    login()"
  },
  {
    "path": "dev_kit_wxgame/project.config.json",
    "chars": 537,
    "preview": "{\n\t\"description\": \"项目配置文件。\",\n\t\"setting\": {\n\t\t\"urlCheck\": true,\n\t\t\"es6\": true,\n\t\t\"postcss\": true,\n\t\t\"minified\": true,\n\t\t\""
  },
  {
    "path": "dev_kit_wxgame/resource/assets/boom.json",
    "chars": 1180,
    "preview": "{\r\n\"texture\":\"newParticle.png\",\r\n\"maxRadius\":100\r\n,\"speed\":314.06\r\n,\"blendFactorDestination\":\"oneMinusSourceAlpha\"\r\n,\"ma"
  },
  {
    "path": "dev_kit_wxgame/resource/assets/partical/boom_01.json",
    "chars": 1170,
    "preview": "{\r\n\"texture\":\"boom_01.png\",\r\n\"tangentialAcceleration\":0\r\n,\"maxRadiusVariance\":30\r\n,\"endRedVariance\":0\r\n,\"tangentialAccel"
  },
  {
    "path": "dev_kit_wxgame/resource/config/description.json",
    "chars": 235,
    "preview": "[\r\n    \"<font color=0x00ff0c>Open-source</font>,<font color=0x00ff0c>Free</font>,<font color=0x00ff0c>Multi-platform</fo"
  },
  {
    "path": "dev_kit_wxgame/resource/default.res.json",
    "chars": 751,
    "preview": "{\n\t\"groups\": [\n\t\t{\n\t\t\t\"keys\": \"bg_jpg,boom_png,boom_json,bgm_default_mp3,bgm_game2_mp3,hit_mp3\",\n\t\t\t\"name\": \"preload\"\n\t\t"
  },
  {
    "path": "dev_kit_wxgame/weapp-adapter.js",
    "chars": 66578,
    "preview": "/******/ (function (modules) { // webpackBootstrap\r\n/******/ \t// The module cache\r\n/******/ \tvar installedModules = {};\r"
  },
  {
    "path": "openDataContext/README.md",
    "chars": 17,
    "preview": "# 微信开放数据域白鹭引擎文件夹\n"
  },
  {
    "path": "openDataContext/bin-debug/LoadingUI.js",
    "chars": 2952,
    "preview": "//////////////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  Copyright (c) 2014-prese"
  },
  {
    "path": "openDataContext/bin-debug/Main.js",
    "chars": 10753,
    "preview": "//////////////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  Copyright (c) 2014-prese"
  },
  {
    "path": "openDataContext/bin-debug/Platform.js",
    "chars": 3320,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\r\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__type"
  },
  {
    "path": "openDataContext/debug.log",
    "chars": 155,
    "preview": "[0504/165121:ERROR:tcp_listen_socket.cc(76)] Could not bind socket to 127.0.0.1:6004\n[0504/165121:ERROR:node_debugger.cc"
  },
  {
    "path": "openDataContext/egretProperties.json",
    "chars": 211,
    "preview": "{\n  \"engineVersion\": \"5.1.10\",\n  \"compilerVersion\": \"5.1.10\",\n  \"template\": {},\n  \"target\": {\n    \"current\": \"wxgame\"\n  "
  },
  {
    "path": "openDataContext/index.html",
    "chars": 3344,
    "preview": "<!DOCTYPE HTML>\n<html>\n\n<head>\n    <meta charset=\"utf-8\">\n    <title>Egret</title>\n    <meta name=\"viewport\" content=\"wi"
  },
  {
    "path": "openDataContext/libs/modules/egret/egret.d.ts",
    "chars": 513426,
    "preview": "declare var global: any;\ndeclare var __global: any;\ndeclare let __define: any;\ndeclare namespace egret {\n    /**\n     * "
  },
  {
    "path": "openDataContext/libs/modules/egret/egret.js",
    "chars": 1042696,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__types"
  },
  {
    "path": "openDataContext/libs/modules/egret/egret.web.js",
    "chars": 374316,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__types"
  },
  {
    "path": "openDataContext/libs/modules/game/game.d.ts",
    "chars": 72260,
    "preview": "declare namespace egret {\n    /**\n     * The URLLoaderDataFormat class provides values that specify how downloaded data "
  },
  {
    "path": "openDataContext/libs/modules/game/game.js",
    "chars": 182868,
    "preview": "var __reflect = (this && this.__reflect) || function (p, c, t) {\n    p.__class__ = c, t ? t.push(c) : t = [c], p.__types"
  },
  {
    "path": "openDataContext/libs/wx_mini_game.d.ts",
    "chars": 29116,
    "preview": "/**\r\n * 取消一个先前通过调用 requestAnimationFrame 方法添加到计划中的动画帧请求\r\n */\r\ndeclare function cancelAnimationFrame(requestID: number): "
  },
  {
    "path": "openDataContext/manifest.json",
    "chars": 157,
    "preview": "{\n\t\"initial\": [\n\t\t\"libs/modules/egret/egret.js\",\n\t\t\"libs/modules/egret/egret.web.js\",\n\t\t\"libs/modules/game/game.js\"\n\t],\n"
  },
  {
    "path": "openDataContext/scripts/api.d.ts",
    "chars": 7035,
    "preview": "\n/**\n * ResourceManager 配置文件\n */\ntype ResourceManagerConfig = {\n    /**\n     * 构建与发布配置\n     */\n    buildConfig: (param: "
  },
  {
    "path": "openDataContext/scripts/bricks/bricks.ts",
    "chars": 1763,
    "preview": "import * as fs from 'fs';\nimport * as path from 'path';\n\n\ntype ManifestConfig = {\n\n    initial: string[],\n\n    game: str"
  },
  {
    "path": "openDataContext/scripts/config.android.ts",
    "chars": 1244,
    "preview": "/// 阅读 api.d.ts 查看文档\n///<reference path=\"api.d.ts\"/>\n\nimport * as path from 'path';\nimport { UglifyPlugin, CompilePlugin"
  },
  {
    "path": "openDataContext/scripts/config.bricks.ts",
    "chars": 1044,
    "preview": "/// 阅读 api.d.ts 查看文档\n///<reference path=\"api.d.ts\"/>\n\nimport * as path from 'path';\nimport { UglifyPlugin, CompilePlugin"
  },
  {
    "path": "openDataContext/scripts/config.ios.ts",
    "chars": 1237,
    "preview": "/// 阅读 api.d.ts 查看文档\n///<reference path=\"api.d.ts\"/>\n\nimport * as path from 'path';\nimport { UglifyPlugin, CompilePlugin"
  },
  {
    "path": "openDataContext/scripts/config.ts",
    "chars": 2919,
    "preview": "/// 阅读 api.d.ts 查看文档\n///<reference path=\"api.d.ts\"/>\n\nimport * as path from 'path';\nimport { UglifyPlugin, IncrementComp"
  },
  {
    "path": "openDataContext/scripts/config.wxgame.ts",
    "chars": 1959,
    "preview": "/// 阅读 api.d.ts 查看文档\n///<reference path=\"api.d.ts\"/>\n\nimport * as path from 'path';\nimport { UglifyPlugin, CompilePlugin"
  },
  {
    "path": "openDataContext/scripts/myplugin.ts",
    "chars": 331,
    "preview": "/**\n * 示例自定义插件,您可以查阅 http://developer.egret.com/cn/2d/projectConfig/cmdExtensionPluginin/ \n * 了解如何开发一个自定义插件\n */\nexport c"
  },
  {
    "path": "openDataContext/scripts/node.d.ts",
    "chars": 188322,
    "preview": "// Generated by typings\n// Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/a4a912a0cd1849fa7df"
  },
  {
    "path": "openDataContext/scripts/tsconfig.json",
    "chars": 4505,
    "preview": "{\n    \"compilerOptions\": {\n        /* Basic Options */\n        \"target\": \"es5\", /* Specify ECMAScript target version: 'E"
  },
  {
    "path": "openDataContext/scripts/wxgame/wxgame.ts",
    "chars": 3255,
    "preview": "import * as fs from 'fs';\nimport * as path from 'path';\nexport class WxgamePlugin implements plugins.Command {\n\n    cons"
  },
  {
    "path": "openDataContext/src/Main.ts",
    "chars": 3181,
    "preview": "//////////////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (c) 2014-present"
  },
  {
    "path": "openDataContext/src/components/Http.ts",
    "chars": 5866,
    "preview": "\r\n// baseUrl:http请求接口地址\r\nconst baseUrl = GameConfig.getBasicUrl();\r\n// version:后台定义的游戏id\r\nconst app_code = GameConfig.ge"
  },
  {
    "path": "openDataContext/src/components/eKit.ts",
    "chars": 10286,
    "preview": "/**\r\n   * eKit为优化使用方法后的egret引擎常用函数调用,包括创建bitmap,text,shape等\r\n   *\r\n   */\r\nclass eKit {\r\n\r\n    /**\r\n     * 根据name关键字创建一个B"
  },
  {
    "path": "openDataContext/src/data/GameConfig.ts",
    "chars": 1095,
    "preview": "\r\n/**\r\n * 统一设置游戏所有配置参数,含版本号,参数地址等\r\n * \r\n */\r\nclass GameConfig{\r\n\r\n    // http通讯地址\r\n    private static basicUrl:string = "
  },
  {
    "path": "openDataContext/src/data/StaticRes.ts",
    "chars": 832,
    "preview": "// 对于固定加载的资源,可以在此进行加载\r\nclass StaticRes{\r\n\r\n    private static RES :Array<any>;\r\n\r\n    private static paths:Array<{name:s"
  },
  {
    "path": "openDataContext/src/data/UserData.ts",
    "chars": 7407,
    "preview": "class UserData {\r\n    public static userInfo: {};\r\n    public static token: string;\r\n    public static shareTicket: stri"
  },
  {
    "path": "openDataContext/src/data/VersionCtrl.ts",
    "chars": 340,
    "preview": "\r\n// 版本控制组件\r\nclass VersionCtrl{\r\n\r\n    private static configuration:{};\r\n    \r\n    /**\r\n     * 调用refreshVersionCtrl重新获取\r"
  },
  {
    "path": "openDataContext/template/runtime/native_loader.js",
    "chars": 182,
    "preview": "require(\"launcher/native_require.js\");\n\negret_native.egtMain = function () {\n    egret_native.nativeType = \"native\";\n\n  "
  },
  {
    "path": "openDataContext/template/runtime/native_require.js",
    "chars": 1137,
    "preview": "var manifest = JSON.parse(egret_native.readFileSync(\"manifest.json\"));\nvar game_file_list = manifest.initial.concat(mani"
  },
  {
    "path": "openDataContext/template/runtime/runtime_loader.js",
    "chars": 182,
    "preview": "require(\"launcher/native_require.js\");\n\negret_native.egtMain = function () {\n    egret_native.nativeType = \"runtime\";\n\n "
  },
  {
    "path": "openDataContext/template/web/index.html",
    "chars": 3382,
    "preview": "<!DOCTYPE HTML>\n<html>\n\n<head>\n    <meta charset=\"utf-8\">\n    <title>Egret</title>\n    <meta name=\"viewport\" content=\"wi"
  },
  {
    "path": "openDataContext/tsconfig.json",
    "chars": 299,
    "preview": "{\n    \"compilerOptions\": {\n        \"target\": \"es5\",\n        \"outDir\": \"bin-debug\",\n        \"experimentalDecorators\": tru"
  },
  {
    "path": "openDataContext/wingProperties.json",
    "chars": 79,
    "preview": "{\n\t\"resourcePlugin\":{\n\t\t\"configs\":[]\n\t},\n\t\"theme\":\"resource/default.thm.json\"\n}"
  }
]

About this extraction

This page contains the full source code of the ChenXianbin/egret_kit GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 131 files (7.9 MB), approximately 2.1M tokens, and a symbol index with 2310 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!