├── .gitignore
├── Basic
├── egretProperties.json
├── favicon.ico
├── index.html
├── manifest.json
├── resource
│ ├── JoyStick
│ │ ├── joystick1.png
│ │ ├── joystick2.png
│ │ ├── joystick3.png
│ │ └── joystick4.png
│ ├── anim
│ │ ├── hum_boy.json
│ │ └── hum_boy.png
│ ├── assets
│ │ ├── Button
│ │ │ ├── button_down.png
│ │ │ └── button_up.png
│ │ ├── CheckBox
│ │ │ ├── checkbox_select_disabled.png
│ │ │ ├── checkbox_select_down.png
│ │ │ ├── checkbox_select_up.png
│ │ │ └── checkbox_unselect.png
│ │ ├── ItemRenderer
│ │ │ └── selected.png
│ │ ├── Panel
│ │ │ ├── border.png
│ │ │ └── header.png
│ │ ├── ProgressBar
│ │ │ ├── thumb_pb.png
│ │ │ └── track_pb.png
│ │ ├── RadioButton
│ │ │ ├── radiobutton_select_disabled.png
│ │ │ ├── radiobutton_select_down.png
│ │ │ ├── radiobutton_select_up.png
│ │ │ └── radiobutton_unselect.png
│ │ ├── ScrollBar
│ │ │ ├── roundthumb.png
│ │ │ └── track_sb.png
│ │ ├── Slider
│ │ │ ├── thumb.png
│ │ │ ├── track.png
│ │ │ └── tracklight.png
│ │ └── ToggleSwitch
│ │ │ ├── handle.png
│ │ │ ├── off.png
│ │ │ └── on.png
│ ├── config
│ │ └── description.json
│ ├── default.res.json
│ ├── default.thm.json
│ ├── eui_skins
│ │ ├── AnimationSkin.exml
│ │ ├── ButtonSkin.exml
│ │ ├── CheckBoxSkin.exml
│ │ ├── HScrollBarSkin.exml
│ │ ├── HSliderSkin.exml
│ │ ├── ItemRendererSkin.exml
│ │ ├── PanelSkin.exml
│ │ ├── ProgressBarSkin.exml
│ │ ├── RadioButtonSkin.exml
│ │ ├── ScrollerSkin.exml
│ │ ├── TextInputSkin.exml
│ │ ├── ToggleSwitchSkin.exml
│ │ ├── VScrollBarSkin.exml
│ │ └── VSliderSkin.exml
│ ├── euix
│ │ ├── ImageButton.exml
│ │ └── LoginButton.exml
│ ├── font
│ │ ├── timefont.json
│ │ └── timefont.png
│ ├── gameEui.json
│ ├── loading
│ │ ├── loadingprogress.png
│ │ └── toast-bg.png
│ ├── mir2
│ │ ├── MirStory.txt
│ │ ├── empty.png
│ │ ├── ui
│ │ │ ├── ChrSel
│ │ │ │ ├── ChrSel_Taoist_mc.json
│ │ │ │ ├── ChrSel_Taoist_rise_mc.json
│ │ │ │ ├── ChrSel_Taoist_rise_tex.png
│ │ │ │ ├── ChrSel_Taoist_rise_women_mc.json
│ │ │ │ ├── ChrSel_Taoist_rise_women_tex.png
│ │ │ │ ├── ChrSel_Taoist_tex.png
│ │ │ │ ├── ChrSel_Taoist_women_mc.json
│ │ │ │ ├── ChrSel_Taoist_women_tex.png
│ │ │ │ ├── ChrSel_door_bg.png
│ │ │ │ ├── ChrSel_door_mc.json
│ │ │ │ ├── ChrSel_door_tex.png
│ │ │ │ ├── ChrSel_rise_mc.json
│ │ │ │ ├── ChrSel_rise_tex.png
│ │ │ │ ├── ChrSel_warrior_mc.json
│ │ │ │ ├── ChrSel_warrior_rise_mc.json
│ │ │ │ ├── ChrSel_warrior_rise_tex.png
│ │ │ │ ├── ChrSel_warrior_rise_women_mc.json
│ │ │ │ ├── ChrSel_warrior_rise_women_tex.png
│ │ │ │ ├── ChrSel_warrior_tex.png
│ │ │ │ ├── ChrSel_warrior_woman_mc.json
│ │ │ │ ├── ChrSel_warrior_woman_tex.png
│ │ │ │ ├── ChrSel_wizard_mc.json
│ │ │ │ ├── ChrSel_wizard_rise_mc.json
│ │ │ │ ├── ChrSel_wizard_rise_tex.png
│ │ │ │ ├── ChrSel_wizard_rise_women_mc.json
│ │ │ │ ├── ChrSel_wizard_rise_women_tex.png
│ │ │ │ ├── ChrSel_wizard_tex.png
│ │ │ │ ├── ChrSel_wizard_women_mc.json
│ │ │ │ └── ChrSel_wizard_women_tex.png
│ │ │ ├── bg.jpg
│ │ │ ├── fg.png
│ │ │ ├── icon_music_on.png
│ │ │ ├── login
│ │ │ │ ├── login.json
│ │ │ │ └── login.png
│ │ │ ├── sound_off.png
│ │ │ └── sound_on.png
│ │ └── wav
│ │ │ ├── Field2.wav
│ │ │ ├── HeroLogin.wav
│ │ │ ├── HeroLogout.wav
│ │ │ ├── Log-in-long2.wav
│ │ │ ├── M11-2.wav
│ │ │ ├── M2-1.wav
│ │ │ ├── M7-1.wav
│ │ │ ├── OpenBox.wav
│ │ │ ├── OpenDoor.wav
│ │ │ ├── blink_home.wav
│ │ │ ├── blink_random.wav
│ │ │ ├── button.wav
│ │ │ ├── drink.wav
│ │ │ ├── drink1.wav
│ │ │ ├── powerup.wav
│ │ │ ├── sellect-loop2.wav
│ │ │ └── sellout.wav
│ └── scene
│ │ ├── Game.exml
│ │ ├── UIChrSel.exml
│ │ └── UILogin.exml
├── scripts
│ ├── api.d.ts
│ ├── bricks
│ │ └── bricks.ts
│ ├── config.bricks.ts
│ ├── config.ts
│ ├── config.wxgame.ts
│ ├── myplugin.ts
│ ├── node.d.ts
│ ├── tsconfig.json
│ └── wxgame
│ │ └── wxgame.ts
├── src
│ ├── AssetAdapter.ts
│ ├── LoadingUI.ts
│ ├── Main.ts
│ ├── Platform.ts
│ ├── ThemeAdapter.ts
│ ├── bean
│ │ └── Player.ts
│ ├── common
│ │ └── VirtualJoystick.ts
│ ├── efinal
│ │ ├── App.ts
│ │ ├── ArrayUtil.ts
│ │ ├── BaseScene.ts
│ │ ├── BgAutoScorller.ts
│ │ ├── BilingBiling.ts
│ │ ├── ByteUtils.ts
│ │ ├── ColliderCheckUtil.ts
│ │ ├── Delay.ts
│ │ ├── DisplayObjectPool.ts
│ │ ├── FileLoader.ts
│ │ ├── GameData.ts
│ │ ├── Handler.ts
│ │ ├── ImageLoader.ts
│ │ ├── LinkList.ts
│ │ ├── ListViewImageItem.ts
│ │ ├── ListViewUtil.ts
│ │ ├── Loading.ts
│ │ ├── MathUtils.ts
│ │ ├── Music.ts
│ │ ├── NetStateBar.ts
│ │ ├── ResourceUtils.ts
│ │ ├── SceneManager.ts
│ │ ├── ShaderUtils.ts
│ │ ├── SoundBase.ts
│ │ ├── Tips.ts
│ │ ├── Toast.ts
│ │ ├── UI.ts
│ │ ├── UmspManager.ts
│ │ ├── ui
│ │ │ └── Dialog.ts
│ │ └── util
│ │ │ ├── AnimaUtil.ts
│ │ │ ├── JSUtil.ts
│ │ │ └── UriUtil.ts
│ ├── scene
│ │ ├── Game.ts
│ │ ├── UIChrSel.ts
│ │ └── UILogin.ts
│ └── tilemap
│ │ ├── Tile.ts
│ │ ├── TileImage.ts
│ │ ├── TileLayer.ts
│ │ ├── TileMap.ts
│ │ └── TileSet.ts
├── template
│ ├── runtime
│ │ ├── native_loader.js
│ │ ├── native_require.js
│ │ └── runtime_loader.js
│ └── web
│ │ └── index.html
├── tsconfig.json
└── wingProperties.json
├── ScreenShot_ChrSel.gif
├── libs
├── mta
│ ├── mta.js
│ └── mta.min.js
├── particle
│ ├── particle.d.ts
│ ├── particle.js
│ └── particle.min.js
├── tiled
│ ├── tiled.d.ts
│ ├── tiled.js
│ └── tiled.min.js
└── umsp
│ ├── umsp.d.ts
│ ├── umsp.js
│ └── umsp.min.js
├── readme.md
└── res
└── DragonBonesProject
└── ChrSel
├── ChrSel_Taoist.dbproj
├── ChrSel_Taoist_rise.dbproj
├── ChrSel_Taoist_rise_women.dbproj
├── ChrSel_Taoist_women.dbproj
├── ChrSel_door.dbproj
├── ChrSel_rise.dbproj
├── ChrSel_warrior.dbproj
├── ChrSel_warrior_rise.dbproj
├── ChrSel_warrior_rise_women.dbproj
├── ChrSel_warrior_woman.dbproj
├── ChrSel_wizard.dbproj
├── ChrSel_wizard_rise.dbproj
├── ChrSel_wizard_rise_women.dbproj
├── ChrSel_wizard_women.dbproj
└── library
├── 10.png
├── 100.png
├── 101.png
├── 102.png
├── 103.png
├── 104.png
├── 105.png
├── 106.png
├── 107.png
├── 108.png
├── 109.png
├── 11.png
├── 110.png
├── 111.png
├── 112.png
├── 12.png
├── 120.png
├── 121.png
├── 122.png
├── 123.png
├── 124.png
├── 125.png
├── 126.png
├── 127.png
├── 128.png
├── 129.png
├── 13.png
├── 130.png
├── 131.png
├── 132.png
├── 133.png
├── 134.png
├── 135.png
├── 14.png
├── 140.png
├── 141.png
├── 142.png
├── 143.png
├── 144.png
├── 145.png
├── 146.png
├── 147.png
├── 148.png
├── 149.png
├── 15.png
├── 150.png
├── 151.png
├── 152.png
├── 16.png
├── 160.png
├── 161.png
├── 162.png
├── 163.png
├── 164.png
├── 165.png
├── 166.png
├── 167.png
├── 168.png
├── 169.png
├── 17.png
├── 170.png
├── 171.png
├── 172.png
├── 173.png
├── 174.png
├── 175.png
├── 180.png
├── 181.png
├── 182.png
├── 183.png
├── 184.png
├── 185.png
├── 186.png
├── 187.png
├── 188.png
├── 189.png
├── 190.png
├── 191.png
├── 192.png
├── 200.png
├── 201.png
├── 202.png
├── 203.png
├── 204.png
├── 205.png
├── 206.png
├── 207.png
├── 208.png
├── 209.png
├── 210.png
├── 211.png
├── 212.png
├── 213.png
├── 214.png
├── 215.png
├── 22.png
├── 220.png
├── 221.png
├── 222.png
├── 223.png
├── 224.png
├── 225.png
├── 226.png
├── 227.png
├── 228.png
├── 229.png
├── 23.png
├── 230.png
├── 231.png
├── 232.png
├── 24.png
├── 240.png
├── 241.png
├── 242.png
├── 243.png
├── 244.png
├── 245.png
├── 246.png
├── 247.png
├── 248.png
├── 249.png
├── 25.png
├── 250.png
├── 251.png
├── 252.png
├── 253.png
├── 254.png
├── 255.png
├── 26.png
├── 260.png
├── 261.png
├── 262.png
├── 263.png
├── 264.png
├── 265.png
├── 266.png
├── 267.png
├── 268.png
├── 269.png
├── 27.png
├── 270.png
├── 271.png
├── 272.png
├── 28.png
├── 29.png
├── 30.png
├── 31.png
├── 32.png
├── 4.png
├── 40.png
├── 41.png
├── 42.png
├── 43.png
├── 44.png
├── 45.png
├── 46.png
├── 47.png
├── 48.png
├── 49.png
├── 5.png
├── 50.png
├── 51.png
├── 52.png
├── 53.png
├── 54.png
├── 55.png
├── 6.png
├── 60.png
├── 61.png
├── 62.png
├── 63.png
├── 64.png
├── 65.png
├── 66.png
├── 67.png
├── 68.png
├── 69.png
├── 7.png
├── 70.png
├── 71.png
├── 72.png
├── 8.png
├── 80.png
├── 81.png
├── 82.png
├── 83.png
├── 84.png
├── 85.png
├── 86.png
├── 87.png
├── 88.png
├── 89.png
├── 9.png
├── 90.png
├── 91.png
├── 92.png
├── 93.png
├── 94.png
└── 95.png
/.gitignore:
--------------------------------------------------------------------------------
1 | Basic/libs/
2 | Basic/bin-debug/
3 | Basic/.wing/
4 | SampleListView/SampleListView/libs/
5 | networkping/bin-debug/
6 | networkping/bin-release/
7 | networkping/libs/
8 | networkping/.wing/
9 |
--------------------------------------------------------------------------------
/Basic/egretProperties.json:
--------------------------------------------------------------------------------
1 | {
2 | "engineVersion": "5.2.6",
3 | "compilerVersion": "5.2.6",
4 | "template": {},
5 | "target": {
6 | "current": "web"
7 | },
8 | "eui": {
9 | "exmlRoot": [
10 | "resource/eui_skins"
11 | ],
12 | "themes": [
13 | "resource/default.thm.json"
14 | ],
15 | "exmlPublishPolicy": "commonjs"
16 | },
17 | "modules": [
18 | {
19 | "name": "egret"
20 | },
21 | {
22 | "name": "eui"
23 | },
24 | {
25 | "name": "tween"
26 | },
27 | {
28 | "name": "game"
29 | },
30 | {
31 | "name": "promise"
32 | },
33 | {
34 | "name": "assetsmanager"
35 | },
36 | {
37 | "name": "dragonbones"
38 | },
39 | {
40 | "name": "umsp",
41 | "path": "../libs/umsp"
42 | },
43 | {
44 | "name": "tiled",
45 | "path": "../libs/tiled"
46 | }
47 | ]
48 | }
--------------------------------------------------------------------------------
/Basic/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/favicon.ico
--------------------------------------------------------------------------------
/Basic/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Egret
7 |
8 |
9 |
10 |
11 |
12 |
13 |
23 |
24 |
25 |
26 |
36 |
37 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/Basic/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "initial": [
3 | "libs/modules/egret/egret.js",
4 | "libs/modules/egret/egret.web.js",
5 | "libs/modules/eui/eui.js",
6 | "libs/modules/tween/tween.js",
7 | "libs/modules/game/game.js",
8 | "libs/modules/promise/promise.js",
9 | "libs/modules/assetsmanager/assetsmanager.js",
10 | "libs/modules/dragonBones/dragonBones.js",
11 | "libs/modules/umsp/umsp.js",
12 | "libs/modules/tiled/tiled.js"
13 | ],
14 | "game": [
15 | "bin-debug/efinal/BaseScene.js",
16 | "bin-debug/efinal/MathUtils.js",
17 | "bin-debug/efinal/Loading.js",
18 | "bin-debug/Platform.js",
19 | "bin-debug/ThemeAdapter.js",
20 | "bin-debug/bean/Player.js",
21 | "bin-debug/common/VirtualJoystick.js",
22 | "bin-debug/efinal/App.js",
23 | "bin-debug/efinal/ArrayUtil.js",
24 | "bin-debug/AssetAdapter.js",
25 | "bin-debug/efinal/BgAutoScorller.js",
26 | "bin-debug/efinal/BilingBiling.js",
27 | "bin-debug/efinal/ByteUtils.js",
28 | "bin-debug/efinal/ColliderCheckUtil.js",
29 | "bin-debug/efinal/Delay.js",
30 | "bin-debug/efinal/DisplayObjectPool.js",
31 | "bin-debug/efinal/FileLoader.js",
32 | "bin-debug/efinal/GameData.js",
33 | "bin-debug/efinal/Handler.js",
34 | "bin-debug/efinal/ImageLoader.js",
35 | "bin-debug/efinal/LinkList.js",
36 | "bin-debug/efinal/ListViewImageItem.js",
37 | "bin-debug/efinal/ListViewUtil.js",
38 | "bin-debug/tilemap/TileSet.js",
39 | "bin-debug/Main.js",
40 | "bin-debug/efinal/Music.js",
41 | "bin-debug/efinal/NetStateBar.js",
42 | "bin-debug/efinal/ResourceUtils.js",
43 | "bin-debug/efinal/SceneManager.js",
44 | "bin-debug/efinal/ShaderUtils.js",
45 | "bin-debug/efinal/SoundBase.js",
46 | "bin-debug/efinal/Tips.js",
47 | "bin-debug/efinal/Toast.js",
48 | "bin-debug/efinal/UI.js",
49 | "bin-debug/efinal/UmspManager.js",
50 | "bin-debug/efinal/ui/Dialog.js",
51 | "bin-debug/efinal/util/AnimaUtil.js",
52 | "bin-debug/efinal/util/JSUtil.js",
53 | "bin-debug/efinal/util/UriUtil.js",
54 | "bin-debug/scene/Game.js",
55 | "bin-debug/scene/UIChrSel.js",
56 | "bin-debug/scene/UILogin.js",
57 | "bin-debug/tilemap/Tile.js",
58 | "bin-debug/tilemap/TileImage.js",
59 | "bin-debug/tilemap/TileLayer.js",
60 | "bin-debug/tilemap/TileMap.js",
61 | "bin-debug/LoadingUI.js"
62 | ]
63 | }
--------------------------------------------------------------------------------
/Basic/resource/JoyStick/joystick1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/JoyStick/joystick1.png
--------------------------------------------------------------------------------
/Basic/resource/JoyStick/joystick2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/JoyStick/joystick2.png
--------------------------------------------------------------------------------
/Basic/resource/JoyStick/joystick3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/JoyStick/joystick3.png
--------------------------------------------------------------------------------
/Basic/resource/JoyStick/joystick4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/JoyStick/joystick4.png
--------------------------------------------------------------------------------
/Basic/resource/anim/hum_boy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/anim/hum_boy.png
--------------------------------------------------------------------------------
/Basic/resource/assets/Button/button_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/Button/button_down.png
--------------------------------------------------------------------------------
/Basic/resource/assets/Button/button_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/Button/button_up.png
--------------------------------------------------------------------------------
/Basic/resource/assets/CheckBox/checkbox_select_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/CheckBox/checkbox_select_disabled.png
--------------------------------------------------------------------------------
/Basic/resource/assets/CheckBox/checkbox_select_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/CheckBox/checkbox_select_down.png
--------------------------------------------------------------------------------
/Basic/resource/assets/CheckBox/checkbox_select_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/CheckBox/checkbox_select_up.png
--------------------------------------------------------------------------------
/Basic/resource/assets/CheckBox/checkbox_unselect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/CheckBox/checkbox_unselect.png
--------------------------------------------------------------------------------
/Basic/resource/assets/ItemRenderer/selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/ItemRenderer/selected.png
--------------------------------------------------------------------------------
/Basic/resource/assets/Panel/border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/Panel/border.png
--------------------------------------------------------------------------------
/Basic/resource/assets/Panel/header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/Panel/header.png
--------------------------------------------------------------------------------
/Basic/resource/assets/ProgressBar/thumb_pb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/ProgressBar/thumb_pb.png
--------------------------------------------------------------------------------
/Basic/resource/assets/ProgressBar/track_pb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/ProgressBar/track_pb.png
--------------------------------------------------------------------------------
/Basic/resource/assets/RadioButton/radiobutton_select_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/RadioButton/radiobutton_select_disabled.png
--------------------------------------------------------------------------------
/Basic/resource/assets/RadioButton/radiobutton_select_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/RadioButton/radiobutton_select_down.png
--------------------------------------------------------------------------------
/Basic/resource/assets/RadioButton/radiobutton_select_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/RadioButton/radiobutton_select_up.png
--------------------------------------------------------------------------------
/Basic/resource/assets/RadioButton/radiobutton_unselect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/RadioButton/radiobutton_unselect.png
--------------------------------------------------------------------------------
/Basic/resource/assets/ScrollBar/roundthumb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/ScrollBar/roundthumb.png
--------------------------------------------------------------------------------
/Basic/resource/assets/ScrollBar/track_sb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/ScrollBar/track_sb.png
--------------------------------------------------------------------------------
/Basic/resource/assets/Slider/thumb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/Slider/thumb.png
--------------------------------------------------------------------------------
/Basic/resource/assets/Slider/track.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/Slider/track.png
--------------------------------------------------------------------------------
/Basic/resource/assets/Slider/tracklight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/Slider/tracklight.png
--------------------------------------------------------------------------------
/Basic/resource/assets/ToggleSwitch/handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/ToggleSwitch/handle.png
--------------------------------------------------------------------------------
/Basic/resource/assets/ToggleSwitch/off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/ToggleSwitch/off.png
--------------------------------------------------------------------------------
/Basic/resource/assets/ToggleSwitch/on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/assets/ToggleSwitch/on.png
--------------------------------------------------------------------------------
/Basic/resource/config/description.json:
--------------------------------------------------------------------------------
1 | [
2 | "Open-source,Free,Multi-platform",
3 | "Push Game Forward",
4 | "HTML5 Game Engine"
5 | ]
--------------------------------------------------------------------------------
/Basic/resource/default.thm.json:
--------------------------------------------------------------------------------
1 | {
2 | "skins": {
3 | "eui.Button": "resource/eui_skins/ButtonSkin.exml",
4 | "eui.CheckBox": "resource/eui_skins/CheckBoxSkin.exml",
5 | "eui.HScrollBar": "resource/eui_skins/HScrollBarSkin.exml",
6 | "eui.HSlider": "resource/eui_skins/HSliderSkin.exml",
7 | "eui.Panel": "resource/eui_skins/PanelSkin.exml",
8 | "eui.TextInput": "resource/eui_skins/TextInputSkin.exml",
9 | "eui.ProgressBar": "resource/eui_skins/ProgressBarSkin.exml",
10 | "eui.RadioButton": "resource/eui_skins/RadioButtonSkin.exml",
11 | "eui.Scroller": "resource/eui_skins/ScrollerSkin.exml",
12 | "eui.ToggleSwitch": "resource/eui_skins/ToggleSwitchSkin.exml",
13 | "eui.VScrollBar": "resource/eui_skins/VScrollBarSkin.exml",
14 | "eui.VSlider": "resource/eui_skins/VSliderSkin.exml",
15 | "eui.ItemRenderer": "resource/eui_skins/ItemRendererSkin.exml",
16 | "Game": "resource/scene/Game.exml",
17 | "UILogin": "resource/scene/UILogin.exml",
18 | "UIChrSel": "resource/scene/UIChrSel.exml"
19 | },
20 | "autoGenerateExmlsList": true,
21 | "exmls": [
22 | "resource/euix/ImageButton.exml",
23 | "resource/euix/LoginButton.exml",
24 | "resource/eui_skins/AnimationSkin.exml",
25 | "resource/eui_skins/ButtonSkin.exml",
26 | "resource/eui_skins/CheckBoxSkin.exml",
27 | "resource/eui_skins/HScrollBarSkin.exml",
28 | "resource/eui_skins/HSliderSkin.exml",
29 | "resource/eui_skins/ItemRendererSkin.exml",
30 | "resource/eui_skins/PanelSkin.exml",
31 | "resource/eui_skins/ProgressBarSkin.exml",
32 | "resource/eui_skins/RadioButtonSkin.exml",
33 | "resource/eui_skins/ScrollerSkin.exml",
34 | "resource/eui_skins/TextInputSkin.exml",
35 | "resource/eui_skins/ToggleSwitchSkin.exml",
36 | "resource/eui_skins/VScrollBarSkin.exml",
37 | "resource/eui_skins/VSliderSkin.exml",
38 | "resource/scene/Game.exml",
39 | "resource/scene/UIChrSel.exml",
40 | "resource/scene/UILogin.exml"
41 | ],
42 | "path": "resource/default.thm.json"
43 | }
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/AnimationSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/ButtonSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/CheckBoxSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/HScrollBarSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/HSliderSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/ItemRendererSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/PanelSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/ProgressBarSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/RadioButtonSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/ScrollerSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/TextInputSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
9 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/ToggleSwitchSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
13 |
14 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/VScrollBarSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Basic/resource/eui_skins/VSliderSkin.exml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Basic/resource/euix/ImageButton.exml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
8 |
9 |
10 |
12 |
--------------------------------------------------------------------------------
/Basic/resource/euix/LoginButton.exml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
8 |
9 |
11 |
--------------------------------------------------------------------------------
/Basic/resource/font/timefont.json:
--------------------------------------------------------------------------------
1 | {"file":"timefont.png","frames":{
2 | "-":{"x":164,"y":149,"w":20,"h":20,"offX":35,"offY":24,"sourceW":55,"sourceH":55},
3 | ":":{"x":145,"y":149,"w":17,"h":38,"offX":38,"offY":16,"sourceW":55,"sourceH":55},
4 | "+":{"x":216,"y":55,"w":33,"h":38,"offX":22,"offY":16,"sourceW":55,"sourceH":55},
5 | "0":{"x":50,"y":56,"w":48,"h":45,"offX":6,"offY":9,"sourceW":55,"sourceH":55},
6 | "1":{"x":225,"y":0,"w":23,"h":45,"offX":18,"offY":9,"sourceW":55,"sourceH":55},
7 | "2":{"x":97,"y":148,"w":46,"h":45,"offX":7,"offY":9,"sourceW":55,"sourceH":55},
8 | "3":{"x":49,"y":103,"w":46,"h":45,"offX":7,"offY":9,"sourceW":55,"sourceH":55},
9 | "4":{"x":150,"y":102,"w":48,"h":45,"offX":6,"offY":9,"sourceW":55,"sourceH":55},
10 | "5":{"x":200,"y":102,"w":47,"h":45,"offX":6,"offY":9,"sourceW":55,"sourceH":55},
11 | "6":{"x":100,"y":101,"w":48,"h":45,"offX":6,"offY":9,"sourceW":55,"sourceH":55},
12 | "7":{"x":165,"y":55,"w":49,"h":45,"offX":6,"offY":9,"sourceW":55,"sourceH":55},
13 | "8":{"x":0,"y":56,"w":48,"h":45,"offX":6,"offY":9,"sourceW":55,"sourceH":55},
14 | "9":{"x":113,"y":54,"w":50,"h":45,"offX":5,"offY":9,"sourceW":55,"sourceH":55},
15 | "x":{"x":0,"y":103,"w":47,"h":45,"offX":6,"offY":9,"sourceW":55,"sourceH":55},
16 | "倍":{"x":57,"y":0,"w":54,"h":54,"offX":1,"offY":1,"sourceW":55,"sourceH":55},
17 | "开":{"x":170,"y":0,"w":53,"h":53,"offX":2,"offY":2,"sourceW":55,"sourceH":55},
18 | "人":{"x":113,"y":0,"w":55,"h":52,"offX":0,"offY":3,"sourceW":55,"sourceH":55},
19 | "始":{"x":0,"y":0,"w":55,"h":54,"offX":0,"offY":1,"sourceW":55,"sourceH":55}}}
--------------------------------------------------------------------------------
/Basic/resource/font/timefont.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/font/timefont.png
--------------------------------------------------------------------------------
/Basic/resource/gameEui.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/Basic/resource/loading/loadingprogress.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/loading/loadingprogress.png
--------------------------------------------------------------------------------
/Basic/resource/loading/toast-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/loading/toast-bg.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/MirStory.txt:
--------------------------------------------------------------------------------
1 | 玛法史书记载: 公元313年,妖星现世,玛法大陆上所有禁锢上古妖兽的封印全部解开。所有妖兽倾巢而出,与人类展开了一场有史以来最血腥最残酷的战争。战争虽然最终以人类获得胜利而结束,但是为了这场胜利,人类付出了最惨痛的代价。玛法大陆上11个村落的人类死伤殆尽,最后侥幸生存下来的不到200人。
2 |
3 | 公元313年,结束了长达五年的沙巴克争夺战,玛法大陆上终于迎来了久违了的和平。虽然每个生活在玛法大陆的人们都知道,这样的和平绝不会是永恒的,但是,对于普通百姓来说,能有这样短暂的和平年代就已经够好的了。
4 |
5 | 公元313年7月7日,噩梦开始的第一天。
6 |
7 | 若不是因为后来发生的事情,今天本该是一个平凡得不能再平凡的日子。一切都和往常没有什么不同,玛法大陆上的人们都各自忙碌着,为生计而奔波。
8 |
9 | “轰!”的一声巨响从空中传来,所有人都停下了手上的活,下意识的抬头望天。所有人都惊呆了!在太阳统治一切的白天,天上居然冒出了一颗诡异的星星。这颗星星肉眼看来只有太阳的三分之一大小,放射出妖异的七色光芒,瞬间笼罩了整个玛法大陆。
10 |
11 | 所有人心里都涌出不祥之兆,可还没等他们做出什么反应,巨变紧随而来。
12 |
13 | 先是远处传来“嘶--”的几声,仿佛什么东西裂开了;之后便是“吼--”的几声,仿佛怪兽苏醒后的低吼;再接着就是“轰隆隆--”的几声,有点像雷声,又像什么东西崩塌时的声音。
14 |
15 | 正当人们惊疑不定之时,远方忽然飘来一朵褐色的云。说飘好象不太恰当,因为这朵云的速度实在有些太惊人了。
16 |
17 | “火焰沃玛!”当云渐渐飘近时,有人惊叫出声。
18 |
19 | 原来,天空中那朵褐色的“云”竟然是由数以万计的火焰沃玛组成的。只见它们一边飞一边往地面喷火,所经之处无论是草地还是森林或是其它生物瞬间都焦黑一片,灰飞烟灭。
20 |
21 | 它们是怎么从沃玛寺庙里飞出来的,难道说,那里的封印被解开了吗?眼见那片“褐云”越来越近,人们四散奔逃,大多数人却依然逃不出火焰沃玛的围剿,惨遭火噬。一时间,悲泣震天。面对那么多会飞的妖兽,即使你是天下第一的武林高手也没有用。
22 |
23 | 当天空中的火焰沃玛肆虐之时,遥远的地平线那边忽然沙尘滚滚。以地藏魔王为首,五大教主以及牛魔王、触龙神为副的妖兽军团正浩浩荡荡的向人类居住的地方进发。
24 |
25 | 妖兽军团经过的地方,没有几个人类能活着逃开。虽然妖兽军团里也有死伤,可是对于它们来说这些只是九牛一毛而已。被人类封印数百年的它们,要展开针对人类的最残酷的血洗。
26 |
27 | 得到消息的天尊、法神、圣战三位智者聚在了一块儿,他们先关掉了玛法大陆上所有的传送阵,减缓了妖兽军团血洗玛法大陆的速度。然后开启了玛法大陆上一个神秘的地方,他们把那里叫做庄园。对于现在这个陷入妖兽控制的玛法大陆来说,只有庄园里面才是最安全的地方。因为这里有最强大的封印,除非是被承认的人,否则即使你拥有开天破地的能力也无法进入庄园。
28 |
29 | 天尊、法神和圣战把玛法大陆幸存着的人类全部带入庄园,看着这200多个侥幸逃过一劫、脸上依然满是惊恐、疲累和哀伤的人们,三人的心狠狠地揪了起来。
30 |
31 |
32 | 就在一天前,玛法大陆还是一片繁华,人们还是安居乐业,过着幸福且祥和的小日子……可是现在呢?那个尸横遍野、寸草不生、被鲜血染红的大地真的是玛法大陆吗?如果这一切的一切只是一个梦该有多好啊!梦醒之后,家园依然是美丽温馨的家园,妻儿依然依偎在身边,朋友依然结伴出门冒险,那该有多好啊!可是……为什么玛法大陆会变成现在这样?
33 |
34 |
35 | “究竟是怎样强大而诡异的力量才使得玛法大陆上所有禁锢妖兽的封印全部被解开?难道就是因为那颗忽然出现的妖星么?如果那颗妖星不见了,是否所有封印又都能被还原呢?”
36 |
37 |
38 | 安顿好受惊的人类,三位智者一刻也不敢休息,聚在一起思考着对策。
39 |
40 |
41 | “看来只能动用那个了,趁着人类还有不少幸存者的时候。虽然……”圣战冷不丁冒出这么一句。
42 |
43 |
44 | “唉……只能如此了罢!整天躲在庄园里,虽然安全无忧,可继续这么下去不解决问题也不是办法啊!”天尊叹了口气,赞同道。
45 |
46 |
47 | “虽然不免牺牲近百人的性命,可拯救的是整个人类和我们赖以生存的玛法大陆。去做吧!”法神也是相同的意见。
48 | 于是,事不迟疑,三位智者很快就聚集了所有的幸存者,把他们商量的结果告之大家:
49 |
50 |
51 | “数百年之前,早有人预言过玛法大陆上的人类恐怕会遭受灭族之灾。为了保护人类,他在玛法大陆上留下了两样东西:一个就是我们现在所在的这个庄园,只要我们身在庄园之内,我们就不会受到妖兽的侵害;而另外一个就是一种战无不胜的秘密武器。开启庄园的方法由历代天尊、法神和圣战掌握着,而为了防止有人为了私利滥用秘密武器,他对使用秘密武器做出了几项规定:一是不到万不得已不能使用;二是必须要集99人之力才能使武器发挥功效;三是这99人将会在武器使用完之后力竭而亡。
52 |
53 |
54 | 现在,人类和玛法大陆已经到了最危急的时刻,秘密武器是我们最后的希望了。诚然,我们可以躲在庄园里不再管外面的事情,可是难道要让我们的子孙后代也永远都躲在狭小的庄园里,看着原本属于我们人类的玛法大陆为妖兽所占据吗?因此,我们三人决定使用这种秘密武器来消灭妖兽和妖星,希望大家能加入敢死队,拯救整个人类和玛法大陆。请大家自愿选择吧!妖兽就快要占领秘密武器的所在地了。”
55 |
56 |
57 | 没有花费太多的时间,99人就凑齐了,三位智者把他们带到了沙巴克附近的六根石柱处。
58 | “大家围着6根石柱站好,双手高举过头,手心抵住石柱,然后默念‘以神之名义,集众人之力’三遍。”圣战对大家说道
59 | 六根石柱迅速发出了耀眼的光芒,光芒每扩散到一处,那里的妖兽就忽然无踪,草地恢复鲜绿,森林恢复茂密。
60 | 当光芒对上妖星,忽然陷入僵局。僵持了好一会儿,就在人们快支持不住的时候,终于还是邪不胜正,“啪”的一声,妖星被光芒打成碎片,散落在玛法大陆四处。所有的妖兽都被封印回去了。这场浩劫终于结束了。
61 | 三位智者又封闭了庄园,人们从庄园里回到了玛法大陆上。虽然眼前的景象已经恢复原状,可是失去生命的人们却再也回不来了。幸存着的人们聚在一块儿哀悼过世的亲人,只有一个孤儿在复原了的玛法大陆上到处乱逛着。他忽然看见散落的妖星的碎片像宝石一般璀璨,便偷偷捡了一块蓝色的贴身藏着。不久,他就发现这块宝石般的碎片能提高他的能力。
62 | 当他把妖星碎片的秘密告诉其他人时,所有人都发疯似的寻找这些散落在玛法大陆四处的宝石,可是却再也没人找得到了。
63 | 据说,要聚集众人的力量,由妖星碎片变化而来的宝石才会再度出现。
--------------------------------------------------------------------------------
/Basic/resource/mir2/empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/empty.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_Taoist_mc.json:
--------------------------------------------------------------------------------
1 | {"mc":{"ChrSel_Taoist":{"frames":[{"y":-131,"duration":1,"res":"Sprite_0","x":-53},{"y":-131,"duration":1,"res":"Sprite_1","x":-55},{"y":-131,"duration":1,"res":"Sprite_2","x":-56},{"y":-131,"duration":1,"res":"Sprite_3","x":-56},{"y":-132,"duration":1,"res":"Sprite_4","x":-56},{"y":-132,"duration":1,"res":"Sprite_5","x":-57},{"y":-132,"duration":1,"res":"Sprite_6","x":-58},{"y":-132,"duration":1,"res":"Sprite_7","x":-57},{"y":-132,"duration":1,"res":"Sprite_8","x":-57},{"y":-132,"duration":1,"res":"Sprite_9","x":-58},{"y":-132,"duration":1,"res":"Sprite_10","x":-57},{"y":-132,"duration":1,"res":"Sprite_11","x":-57},{"y":-131,"duration":1,"res":"Sprite_12","x":-56},{"y":-131,"duration":1,"res":"Sprite_13","x":-56},{"y":-131,"duration":1,"res":"Sprite_14","x":-55},{"y":-131,"duration":1,"res":"Sprite_15","x":-53}],"labels":[{"end":16,"frame":1,"name":"Sprite"}],"frameRate":8,"events":[]}},"file":"ChrSel_Taoist_tex.png","res":{"Sprite_7":{"x":143,"y":290,"w":142,"h":290},"Sprite_14":{"x":426,"y":579,"w":135,"h":288},"Sprite_5":{"x":284,"y":580,"w":142,"h":290},"Sprite_3":{"x":425,"y":290,"w":140,"h":289},"Sprite_1":{"x":561,"y":579,"w":134,"h":288},"Sprite_11":{"x":0,"y":580,"w":142,"h":290},"Sprite_15":{"x":565,"y":288,"w":131,"h":288},"Sprite_8":{"x":142,"y":580,"w":142,"h":290},"Sprite_10":{"x":143,"y":0,"w":142,"h":290},"Sprite_6":{"x":0,"y":0,"w":143,"h":290},"Sprite_4":{"x":285,"y":0,"w":141,"h":290},"Sprite_12":{"x":285,"y":290,"w":140,"h":289},"Sprite_2":{"x":426,"y":0,"w":138,"h":289},"Sprite_0":{"x":695,"y":576,"w":131,"h":288},"Sprite_13":{"x":564,"y":0,"w":138,"h":288},"Sprite_9":{"x":0,"y":290,"w":143,"h":290}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_Taoist_rise_mc.json:
--------------------------------------------------------------------------------
1 | {"mc":{"ChrSel_Taoist_rise":{"frames":[{"y":-131,"duration":1,"res":"Sprite_0","x":-46},{"y":-131,"duration":1,"res":"Sprite_1","x":-46},{"y":-131,"duration":1,"res":"Sprite_2","x":-46},{"y":-131,"duration":1,"res":"Sprite_3","x":-46},{"y":-131,"duration":1,"res":"Sprite_4","x":-46},{"y":-131,"duration":1,"res":"Sprite_5","x":-46},{"y":-131,"duration":1,"res":"Sprite_6","x":-46},{"y":-131,"duration":1,"res":"Sprite_7","x":-46},{"y":-131,"duration":1,"res":"Sprite_8","x":-46},{"y":-131,"duration":1,"res":"Sprite_9","x":-46},{"y":-131,"duration":1,"res":"Sprite_10","x":-46},{"y":-131,"duration":1,"res":"Sprite_11","x":-46},{"y":-131,"duration":1,"res":"Sprite_12","x":-46}],"labels":[{"end":13,"frame":1,"name":"Sprite"}],"frameRate":10,"events":[]}},"file":"ChrSel_Taoist_rise_tex.png","res":{"Sprite_7":{"x":0,"y":0,"w":124,"h":288},"Sprite_5":{"x":0,"y":288,"w":124,"h":288},"Sprite_3":{"x":0,"y":576,"w":124,"h":288},"Sprite_1":{"x":124,"y":0,"w":124,"h":288},"Sprite_11":{"x":124,"y":288,"w":124,"h":288},"Sprite_8":{"x":124,"y":576,"w":124,"h":288},"Sprite_10":{"x":248,"y":0,"w":124,"h":288},"Sprite_6":{"x":248,"y":288,"w":124,"h":288},"Sprite_4":{"x":248,"y":576,"w":124,"h":288},"Sprite_12":{"x":372,"y":0,"w":124,"h":288},"Sprite_2":{"x":372,"y":288,"w":124,"h":288},"Sprite_0":{"x":372,"y":576,"w":124,"h":288},"Sprite_9":{"x":496,"y":0,"w":124,"h":288}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_Taoist_rise_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_Taoist_rise_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_Taoist_rise_women_mc.json:
--------------------------------------------------------------------------------
1 | {"file":"ChrSel_Taoist_rise_women_tex.png","mc":{"ChrSel_Taoist_rise_women":{"labels":[{"end":13,"frame":1,"name":"Sprite"}],"frameRate":10,"frames":[{"res":"Sprite_0","y":-144,"duration":1,"x":-78},{"res":"Sprite_1","y":-144,"duration":1,"x":-78},{"res":"Sprite_2","y":-144,"duration":1,"x":-78},{"res":"Sprite_3","y":-144,"duration":1,"x":-78},{"res":"Sprite_4","y":-144,"duration":1,"x":-78},{"res":"Sprite_5","y":-144,"duration":1,"x":-78},{"res":"Sprite_6","y":-144,"duration":1,"x":-78},{"res":"Sprite_7","y":-144,"duration":1,"x":-78},{"res":"Sprite_8","y":-144,"duration":1,"x":-78},{"res":"Sprite_9","y":-144,"duration":1,"x":-78},{"res":"Sprite_10","y":-144,"duration":1,"x":-78},{"res":"Sprite_11","y":-144,"duration":1,"x":-78},{"res":"Sprite_12","y":-144,"duration":1,"x":-78}],"events":[]}},"res":{"Sprite_3":{"x":1,"y":1,"w":154,"h":288},"Sprite_11":{"x":1,"y":291,"w":154,"h":288},"Sprite_1":{"x":1,"y":581,"w":154,"h":288},"Sprite_8":{"x":157,"y":1,"w":154,"h":288},"Sprite_6":{"x":157,"y":291,"w":154,"h":288},"Sprite_2":{"x":157,"y":581,"w":154,"h":288},"Sprite_4":{"x":313,"y":1,"w":154,"h":288},"Sprite_10":{"x":313,"y":291,"w":154,"h":288},"Sprite_12":{"x":313,"y":581,"w":154,"h":288},"Sprite_9":{"x":469,"y":1,"w":154,"h":288},"Sprite_0":{"x":469,"y":291,"w":154,"h":288},"Sprite_7":{"x":469,"y":581,"w":154,"h":288},"Sprite_5":{"x":625,"y":1,"w":154,"h":288}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_Taoist_rise_women_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_Taoist_rise_women_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_Taoist_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_Taoist_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_Taoist_women_mc.json:
--------------------------------------------------------------------------------
1 | {"file":"ChrSel_Taoist_women_tex.png","mc":{"ChrSel_Taoist_women":{"labels":[{"end":16,"frame":1,"name":"Sprite"}],"frameRate":10,"frames":[{"res":"Sprite_0","y":-136,"duration":1,"x":-74},{"res":"Sprite_1","y":-136,"duration":1,"x":-74},{"res":"Sprite_2","y":-136,"duration":1,"x":-76},{"res":"Sprite_3","y":-136,"duration":1,"x":-76},{"res":"Sprite_4","y":-137,"duration":1,"x":-76},{"res":"Sprite_5","y":-137,"duration":1,"x":-74},{"res":"Sprite_6","y":-137,"duration":1,"x":-73},{"res":"Sprite_7","y":-138,"duration":1,"x":-72},{"res":"Sprite_8","y":-139,"duration":1,"x":-73},{"res":"Sprite_9","y":-142,"duration":1,"x":-72},{"res":"Sprite_10","y":-142,"duration":1,"x":-73},{"res":"Sprite_11","y":-142,"duration":1,"x":-74},{"res":"Sprite_12","y":-137,"duration":1,"x":-75},{"res":"Sprite_13","y":-137,"duration":1,"x":-75},{"res":"Sprite_14","y":-137,"duration":1,"x":-75},{"res":"Sprite_15","y":-136,"duration":1,"x":-74}],"events":[]}},"res":{"Sprite_3":{"x":473,"y":581,"w":154,"h":287},"Sprite_11":{"x":1,"y":1,"w":158,"h":292},"Sprite_1":{"x":630,"y":1,"w":153,"h":286},"Sprite_14":{"x":629,"y":581,"w":154,"h":287},"Sprite_8":{"x":318,"y":584,"w":153,"h":290},"Sprite_6":{"x":785,"y":1,"w":153,"h":288},"Sprite_2":{"x":161,"y":1,"w":155,"h":287},"Sprite_4":{"x":318,"y":1,"w":155,"h":288},"Sprite_10":{"x":1,"y":295,"w":157,"h":292},"Sprite_15":{"x":475,"y":1,"w":153,"h":286},"Sprite_12":{"x":158,"y":589,"w":158,"h":287},"Sprite_13":{"x":160,"y":295,"w":157,"h":287},"Sprite_9":{"x":1,"y":589,"w":155,"h":293},"Sprite_0":{"x":785,"y":582,"w":153,"h":286},"Sprite_7":{"x":785,"y":291,"w":152,"h":289},"Sprite_5":{"x":319,"y":291,"w":154,"h":288}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_Taoist_women_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_Taoist_women_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_door_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_door_bg.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_door_mc.json:
--------------------------------------------------------------------------------
1 | {"file":"ChrSel_door_tex.png","mc":{"ChrSel_door":{"labels":[{"end":10,"frame":1,"name":"Sprite"}],"frameRate":6,"frames":[{"res":"Sprite_0","y":-181,"duration":1,"x":-248},{"res":"Sprite_1","y":-181,"duration":1,"x":-248},{"res":"Sprite_2","y":-181,"duration":1,"x":-248},{"res":"Sprite_3","y":-181,"duration":1,"x":-248},{"res":"Sprite_4","y":-181,"duration":1,"x":-248},{"res":"Sprite_5","y":-181,"duration":1,"x":-248},{"res":"Sprite_6","y":-181,"duration":1,"x":-248},{"res":"Sprite_7","y":-181,"duration":1,"x":-248},{"res":"Sprite_8","y":-181,"duration":1,"x":-248},{"res":"Sprite_9","y":-181,"duration":1,"x":-248}],"events":[]}},"res":{"Sprite_3":{"x":1,"y":1,"w":495,"h":362},"Sprite_8":{"x":498,"y":1,"w":495,"h":362},"Sprite_0":{"x":1,"y":365,"w":495,"h":362},"Sprite_2":{"x":498,"y":365,"w":495,"h":362},"Sprite_9":{"x":1,"y":729,"w":495,"h":362},"Sprite_1":{"x":498,"y":729,"w":495,"h":362},"Sprite_7":{"x":1,"y":1093,"w":495,"h":362},"Sprite_6":{"x":498,"y":1093,"w":495,"h":362},"Sprite_5":{"x":1,"y":1457,"w":495,"h":362},"Sprite_4":{"x":498,"y":1457,"w":495,"h":362}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_door_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_door_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_rise_mc.json:
--------------------------------------------------------------------------------
1 | {"mc":{"ChrSel_rise":{"frames":[{"duration":1,"y":90,"res":"Sprite_0","x":-70},{"duration":1,"y":-55,"res":"Sprite_1","x":-89},{"duration":1,"y":-40,"res":"Sprite_2","x":-110},{"duration":1,"y":-79,"res":"Sprite_3","x":-130},{"duration":1,"y":-123,"res":"Sprite_4","x":-143},{"duration":1,"y":-158,"res":"Sprite_5","x":-146},{"duration":1,"y":-158,"res":"Sprite_6","x":-145},{"duration":1,"y":-158,"res":"Sprite_7","x":-140},{"duration":1,"y":-157,"res":"Sprite_8","x":-131},{"duration":1,"y":-158,"res":"Sprite_9","x":-127},{"duration":1,"y":-158,"res":"Sprite_10","x":-130},{"duration":1,"y":-158,"res":"Sprite_11","x":-138},{"duration":1,"y":-157,"res":"Sprite_12","x":-137},{"duration":1,"y":-155,"res":"Sprite_13","x":-128}],"labels":[{"end":14,"frame":1,"name":"Sprite"}],"frameRate":10,"events":[]}},"file":"ChrSel_rise_tex.png","res":{"Sprite_0":{"x":816,"y":547,"w":138,"h":79},"Sprite_5":{"x":1,"y":1,"w":290,"h":333},"Sprite_3":{"x":555,"y":336,"w":259,"h":254},"Sprite_7":{"x":285,"y":671,"w":279,"h":327},"Sprite_12":{"x":566,"y":671,"w":277,"h":327},"Sprite_11":{"x":1,"y":671,"w":282,"h":328},"Sprite_6":{"x":1,"y":336,"w":289,"h":333},"Sprite_9":{"x":1378,"y":671,"w":261,"h":327},"Sprite_1":{"x":1037,"y":336,"w":178,"h":224},"Sprite_8":{"x":1113,"y":671,"w":263,"h":326},"Sprite_10":{"x":845,"y":671,"w":266,"h":328},"Sprite_4":{"x":1641,"y":671,"w":286,"h":298},"Sprite_2":{"x":816,"y":336,"w":219,"h":209},"Sprite_13":{"x":292,"y":336,"w":261,"h":325}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_rise_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_rise_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_warrior_mc.json:
--------------------------------------------------------------------------------
1 | {"mc":{"ChrSel_warrior":{"frames":[{"duration":1,"y":-154,"res":"Sprite_0","x":-29},{"duration":1,"y":-154,"res":"Sprite_1","x":-29},{"duration":1,"y":-155,"res":"Sprite_2","x":-29},{"duration":1,"y":-155,"res":"Sprite_3","x":-29},{"duration":1,"y":-156,"res":"Sprite_4","x":-29},{"duration":1,"y":-157,"res":"Sprite_5","x":-28},{"duration":1,"y":-157,"res":"Sprite_6","x":-28},{"duration":1,"y":-157,"res":"Sprite_7","x":-27},{"duration":1,"y":-158,"res":"Sprite_8","x":-27},{"duration":1,"y":-158,"res":"Sprite_9","x":-27},{"duration":1,"y":-158,"res":"Sprite_10","x":-27},{"duration":1,"y":-157,"res":"Sprite_11","x":-27},{"duration":1,"y":-156,"res":"Sprite_12","x":-28},{"duration":1,"y":-156,"res":"Sprite_13","x":-28},{"duration":1,"y":-155,"res":"Sprite_14","x":-29},{"duration":1,"y":-154,"res":"Sprite_15","x":-29}],"labels":[{"end":16,"frame":1,"name":"Sprite"}],"frameRate":8,"events":[]}},"file":"ChrSel_warrior_tex.png","res":{"Sprite_0":{"x":0,"y":0,"w":134,"h":322},"Sprite_5":{"x":657,"y":0,"w":128,"h":325},"Sprite_15":{"x":0,"y":645,"w":133,"h":322},"Sprite_13":{"x":528,"y":0,"w":129,"h":324},"Sprite_3":{"x":133,"y":322,"w":132,"h":323},"Sprite_7":{"x":265,"y":323,"w":125,"h":325},"Sprite_6":{"x":785,"y":0,"w":127,"h":325},"Sprite_9":{"x":515,"y":324,"w":124,"h":326},"Sprite_1":{"x":134,"y":0,"w":133,"h":322},"Sprite_8":{"x":260,"y":648,"w":124,"h":326},"Sprite_11":{"x":390,"y":324,"w":125,"h":325},"Sprite_14":{"x":267,"y":0,"w":131,"h":323},"Sprite_10":{"x":384,"y":649,"w":124,"h":326},"Sprite_4":{"x":398,"y":0,"w":130,"h":324},"Sprite_12":{"x":133,"y":645,"w":127,"h":324},"Sprite_2":{"x":0,"y":322,"w":133,"h":323}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_warrior_rise_mc.json:
--------------------------------------------------------------------------------
1 | {"file":"ChrSel_warrior_rise_tex.png","mc":{"ChrSel_warrior_rise":{"labels":[{"end":13,"frame":1,"name":"Sprite"}],"frameRate":10,"frames":[{"res":"Sprite_0","y":-154,"duration":1,"x":-29},{"res":"Sprite_1","y":-154,"duration":1,"x":-29},{"res":"Sprite_2","y":-154,"duration":1,"x":-29},{"res":"Sprite_3","y":-154,"duration":1,"x":-29},{"res":"Sprite_4","y":-154,"duration":1,"x":-29},{"res":"Sprite_5","y":-154,"duration":1,"x":-29},{"res":"Sprite_6","y":-154,"duration":1,"x":-29},{"res":"Sprite_7","y":-154,"duration":1,"x":-29},{"res":"Sprite_8","y":-154,"duration":1,"x":-29},{"res":"Sprite_9","y":-154,"duration":1,"x":-29},{"res":"Sprite_10","y":-154,"duration":1,"x":-29},{"res":"Sprite_11","y":-154,"duration":1,"x":-29},{"res":"Sprite_12","y":-154,"duration":1,"x":-29}],"events":[]}},"res":{"Sprite_3":{"x":137,"y":650,"w":133,"h":322},"Sprite_12":{"x":1,"y":1,"w":134,"h":322},"Sprite_1":{"x":272,"y":325,"w":133,"h":322},"Sprite_11":{"x":408,"y":1,"w":133,"h":322},"Sprite_8":{"x":407,"y":325,"w":133,"h":322},"Sprite_10":{"x":1,"y":325,"w":134,"h":322},"Sprite_6":{"x":1,"y":649,"w":134,"h":322},"Sprite_2":{"x":273,"y":1,"w":133,"h":322},"Sprite_4":{"x":137,"y":1,"w":134,"h":322},"Sprite_9":{"x":272,"y":649,"w":133,"h":322},"Sprite_0":{"x":137,"y":325,"w":133,"h":323},"Sprite_7":{"x":407,"y":649,"w":133,"h":322},"Sprite_5":{"x":542,"y":325,"w":133,"h":322}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_warrior_rise_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_warrior_rise_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_warrior_rise_women_mc.json:
--------------------------------------------------------------------------------
1 | {"mc":{"ChrSel_warrior_rise_women":{"frames":[{"y":-125,"duration":1,"res":"Sprite_0","x":-111},{"y":-125,"duration":1,"res":"Sprite_1","x":-111},{"y":-125,"duration":1,"res":"Sprite_2","x":-111},{"y":-125,"duration":1,"res":"Sprite_3","x":-111},{"y":-125,"duration":1,"res":"Sprite_4","x":-111},{"y":-125,"duration":1,"res":"Sprite_5","x":-111},{"y":-125,"duration":1,"res":"Sprite_6","x":-111},{"y":-125,"duration":1,"res":"Sprite_7","x":-111},{"y":-125,"duration":1,"res":"Sprite_8","x":-111},{"y":-125,"duration":1,"res":"Sprite_9","x":-111},{"y":-125,"duration":1,"res":"Sprite_10","x":-111},{"y":-125,"duration":1,"res":"Sprite_11","x":-111},{"y":-125,"duration":1,"res":"Sprite_12","x":-111}],"labels":[{"end":13,"frame":1,"name":"Sprite"}],"frameRate":10,"events":[]}},"file":"ChrSel_warrior_rise_women_tex.png","res":{"Sprite_7":{"x":0,"y":0,"w":201,"h":280},"Sprite_5":{"x":0,"y":280,"w":201,"h":280},"Sprite_3":{"x":0,"y":560,"w":201,"h":280},"Sprite_1":{"x":201,"y":0,"w":201,"h":280},"Sprite_12":{"x":201,"y":280,"w":201,"h":280},"Sprite_11":{"x":201,"y":560,"w":201,"h":280},"Sprite_8":{"x":402,"y":0,"w":201,"h":280},"Sprite_10":{"x":603,"y":0,"w":201,"h":280},"Sprite_6":{"x":804,"y":0,"w":201,"h":280},"Sprite_4":{"x":402,"y":280,"w":201,"h":280},"Sprite_2":{"x":402,"y":560,"w":201,"h":280},"Sprite_0":{"x":603,"y":280,"w":201,"h":280},"Sprite_9":{"x":804,"y":280,"w":201,"h":280}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_warrior_rise_women_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_warrior_rise_women_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_warrior_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_warrior_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_warrior_woman_mc.json:
--------------------------------------------------------------------------------
1 | {"mc":{"ChrSel_warrior_woman":{"frames":[{"y":-125,"duration":1,"res":"Sprite_0","x":-111},{"y":-125,"duration":1,"res":"Sprite_1","x":-111},{"y":-125,"duration":1,"res":"Sprite_2","x":-114},{"y":-125,"duration":1,"res":"Sprite_3","x":-121},{"y":-125,"duration":1,"res":"Sprite_4","x":-126},{"y":-125,"duration":1,"res":"Sprite_5","x":-129},{"y":-125,"duration":1,"res":"Sprite_6","x":-132},{"y":-125,"duration":1,"res":"Sprite_7","x":-133},{"y":-125,"duration":1,"res":"Sprite_8","x":-134},{"y":-125,"duration":1,"res":"Sprite_9","x":-133},{"y":-125,"duration":1,"res":"Sprite_10","x":-131},{"y":-125,"duration":1,"res":"Sprite_11","x":-128},{"y":-125,"duration":1,"res":"Sprite_12","x":-125},{"y":-125,"duration":1,"res":"Sprite_13","x":-121},{"y":-125,"duration":1,"res":"Sprite_14","x":-117},{"y":-125,"duration":1,"res":"Sprite_15","x":-114}],"labels":[{"end":16,"frame":1,"name":"Sprite"}],"frameRate":8,"events":[]}},"file":"ChrSel_warrior_woman_tex.png","res":{"Sprite_7":{"x":0,"y":280,"w":219,"h":280},"Sprite_5":{"x":438,"y":0,"w":217,"h":280},"Sprite_3":{"x":648,"y":560,"w":210,"h":280},"Sprite_14":{"x":858,"y":560,"w":205,"h":280},"Sprite_1":{"x":860,"y":280,"w":201,"h":280},"Sprite_12":{"x":438,"y":280,"w":213,"h":280},"Sprite_11":{"x":219,"y":560,"w":215,"h":280},"Sprite_8":{"x":0,"y":0,"w":220,"h":280},"Sprite_10":{"x":220,"y":0,"w":218,"h":280},"Sprite_6":{"x":0,"y":560,"w":219,"h":280},"Sprite_13":{"x":651,"y":280,"w":209,"h":280},"Sprite_4":{"x":434,"y":560,"w":214,"h":280},"Sprite_2":{"x":655,"y":0,"w":205,"h":280},"Sprite_0":{"x":1061,"y":280,"w":201,"h":280},"Sprite_15":{"x":860,"y":0,"w":203,"h":280},"Sprite_9":{"x":219,"y":280,"w":219,"h":280}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_warrior_woman_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_warrior_woman_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_wizard_mc.json:
--------------------------------------------------------------------------------
1 | {"mc":{"ChrSel_wizard":{"frames":[{"y":-122,"duration":1,"res":"Sprite_0","x":-54},{"y":-124,"duration":1,"res":"Sprite_1","x":-53},{"y":-125,"duration":1,"res":"Sprite_2","x":-50},{"y":-125,"duration":1,"res":"Sprite_3","x":-48},{"y":-141,"duration":1,"res":"Sprite_4","x":-46},{"y":-148,"duration":1,"res":"Sprite_5","x":-45},{"y":-148,"duration":1,"res":"Sprite_6","x":-55},{"y":-147,"duration":1,"res":"Sprite_7","x":-57},{"y":-145,"duration":1,"res":"Sprite_8","x":-61},{"y":-143,"duration":1,"res":"Sprite_9","x":-67},{"y":-127,"duration":1,"res":"Sprite_10","x":-68},{"y":-124,"duration":1,"res":"Sprite_11","x":-67},{"y":-122,"duration":1,"res":"Sprite_12","x":-64},{"y":-124,"duration":1,"res":"Sprite_13","x":-61},{"y":-124,"duration":1,"res":"Sprite_14","x":-59},{"y":-122,"duration":1,"res":"Sprite_15","x":-56},{"y":-122,"duration":1,"res":"Sprite_16","x":-54},{"y":-124,"duration":1,"res":"Sprite_17","x":-53},{"y":-125,"duration":1,"res":"Sprite_18","x":-50},{"y":-125,"duration":1,"res":"Sprite_19","x":-48},{"y":-141,"duration":1,"res":"Sprite_20","x":-46},{"y":-148,"duration":1,"res":"Sprite_21","x":-45},{"y":-148,"duration":1,"res":"Sprite_22","x":-55},{"y":-147,"duration":1,"res":"Sprite_23","x":-57},{"y":-145,"duration":1,"res":"Sprite_24","x":-61},{"y":-143,"duration":1,"res":"Sprite_25","x":-67},{"y":-127,"duration":1,"res":"Sprite_26","x":-68},{"y":-124,"duration":1,"res":"Sprite_27","x":-67},{"y":-122,"duration":1,"res":"Sprite_28","x":-64},{"y":-124,"duration":1,"res":"Sprite_29","x":-61},{"y":-124,"duration":1,"res":"Sprite_30","x":-59},{"y":-122,"duration":1,"res":"Sprite_31","x":-56}],"labels":[{"end":32,"frame":1,"name":"Sprite"}],"frameRate":8,"events":[]}},"file":"ChrSel_wizard_tex.png","res":{"Sprite_27":{"x":564,"y":321,"w":148,"h":297},"Sprite_31":{"x":1234,"y":296,"w":136,"h":294},"Sprite_30":{"x":993,"y":0,"w":139,"h":296},"Sprite_5":{"x":852,"y":594,"w":127,"h":321},"Sprite_1":{"x":1234,"y":590,"w":134,"h":297},"Sprite_26":{"x":148,"y":0,"w":149,"h":299},"Sprite_23":{"x":425,"y":598,"w":139,"h":319},"Sprite_20":{"x":1106,"y":297,"w":128,"h":313},"Sprite_13":{"x":852,"y":0,"w":141,"h":297},"Sprite_10":{"x":148,"y":299,"w":149,"h":299},"Sprite_6":{"x":434,"y":0,"w":137,"h":321},"Sprite_29":{"x":712,"y":297,"w":141,"h":297},"Sprite_24":{"x":143,"y":630,"w":143,"h":317},"Sprite_2":{"x":719,"y":0,"w":131,"h":297},"Sprite_17":{"x":1368,"y":590,"w":134,"h":297},"Sprite_14":{"x":1132,"y":0,"w":139,"h":296},"Sprite_21":{"x":979,"y":594,"w":127,"h":321},"Sprite_7":{"x":286,"y":598,"w":139,"h":319},"Sprite_11":{"x":571,"y":0,"w":148,"h":297},"Sprite_3":{"x":1504,"y":0,"w":130,"h":298},"Sprite_28":{"x":708,"y":618,"w":144,"h":294},"Sprite_25":{"x":0,"y":0,"w":148,"h":315},"Sprite_18":{"x":1502,"y":588,"w":131,"h":297},"Sprite_15":{"x":853,"y":297,"w":136,"h":294},"Sprite_8":{"x":0,"y":630,"w":143,"h":317},"Sprite_22":{"x":297,"y":0,"w":137,"h":321},"Sprite_4":{"x":1106,"y":610,"w":128,"h":313},"Sprite_12":{"x":564,"y":618,"w":144,"h":294},"Sprite_0":{"x":1370,"y":294,"w":134,"h":294},"Sprite_19":{"x":1633,"y":298,"w":130,"h":298},"Sprite_16":{"x":1271,"y":0,"w":134,"h":294},"Sprite_9":{"x":0,"y":315,"w":148,"h":315}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_wizard_rise_mc.json:
--------------------------------------------------------------------------------
1 | {"mc":{"ChrSel_wizard_rise":{"frames":[{"y":-125,"duration":1,"res":"Sprite_0","x":-54},{"y":-125,"duration":1,"res":"Sprite_1","x":-54},{"y":-125,"duration":1,"res":"Sprite_2","x":-54},{"y":-125,"duration":1,"res":"Sprite_3","x":-54},{"y":-125,"duration":1,"res":"Sprite_4","x":-54},{"y":-125,"duration":1,"res":"Sprite_5","x":-54},{"y":-125,"duration":1,"res":"Sprite_6","x":-54},{"y":-125,"duration":1,"res":"Sprite_7","x":-54},{"y":-125,"duration":1,"res":"Sprite_8","x":-54},{"y":-125,"duration":1,"res":"Sprite_9","x":-54},{"y":-125,"duration":1,"res":"Sprite_10","x":-54},{"y":-125,"duration":1,"res":"Sprite_11","x":-54},{"y":-125,"duration":1,"res":"Sprite_12","x":-54}],"labels":[{"end":13,"frame":1,"name":"Sprite"}],"frameRate":10,"events":[]}},"file":"ChrSel_wizard_rise_tex.png","res":{"Sprite_7":{"x":268,"y":596,"w":134,"h":297},"Sprite_5":{"x":0,"y":0,"w":134,"h":298},"Sprite_3":{"x":0,"y":298,"w":134,"h":298},"Sprite_1":{"x":0,"y":596,"w":134,"h":298},"Sprite_11":{"x":402,"y":0,"w":134,"h":297},"Sprite_8":{"x":134,"y":0,"w":134,"h":298},"Sprite_10":{"x":134,"y":298,"w":134,"h":298},"Sprite_6":{"x":536,"y":0,"w":134,"h":297},"Sprite_4":{"x":134,"y":596,"w":134,"h":298},"Sprite_12":{"x":268,"y":0,"w":134,"h":298},"Sprite_2":{"x":402,"y":297,"w":134,"h":297},"Sprite_0":{"x":402,"y":594,"w":134,"h":297},"Sprite_9":{"x":268,"y":298,"w":134,"h":298}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_wizard_rise_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_wizard_rise_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_wizard_rise_women_mc.json:
--------------------------------------------------------------------------------
1 | {"mc":{"ChrSel_wizard_rise_women":{"frames":[{"y":-146,"duration":1,"res":"Sprite_0","x":-66},{"y":-146,"duration":1,"res":"Sprite_1","x":-66},{"y":-146,"duration":1,"res":"Sprite_2","x":-66},{"y":-146,"duration":1,"res":"Sprite_3","x":-66},{"y":-146,"duration":1,"res":"Sprite_4","x":-66},{"y":-146,"duration":1,"res":"Sprite_5","x":-66},{"y":-146,"duration":1,"res":"Sprite_6","x":-66},{"y":-146,"duration":1,"res":"Sprite_7","x":-66},{"y":-146,"duration":1,"res":"Sprite_8","x":-66},{"y":-146,"duration":1,"res":"Sprite_9","x":-66},{"y":-146,"duration":1,"res":"Sprite_10","x":-66},{"y":-146,"duration":1,"res":"Sprite_11","x":-66},{"y":-146,"duration":1,"res":"Sprite_12","x":-66}],"labels":[{"end":13,"frame":1,"name":"Sprite"}],"frameRate":10,"events":[]}},"file":"ChrSel_wizard_rise_women_tex.png","res":{"Sprite_7":{"x":0,"y":0,"w":130,"h":292},"Sprite_5":{"x":0,"y":292,"w":130,"h":292},"Sprite_3":{"x":0,"y":584,"w":130,"h":292},"Sprite_1":{"x":130,"y":0,"w":130,"h":292},"Sprite_12":{"x":130,"y":292,"w":130,"h":292},"Sprite_11":{"x":130,"y":584,"w":130,"h":292},"Sprite_8":{"x":260,"y":0,"w":130,"h":292},"Sprite_10":{"x":260,"y":292,"w":130,"h":292},"Sprite_6":{"x":260,"y":584,"w":130,"h":292},"Sprite_4":{"x":390,"y":0,"w":130,"h":292},"Sprite_2":{"x":390,"y":292,"w":130,"h":292},"Sprite_0":{"x":390,"y":584,"w":130,"h":292},"Sprite_9":{"x":520,"y":0,"w":130,"h":292}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_wizard_rise_women_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_wizard_rise_women_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_wizard_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_wizard_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_wizard_women_mc.json:
--------------------------------------------------------------------------------
1 | {"mc":{"ChrSel_wizard_women":{"frames":[{"y":-142,"duration":1,"res":"Sprite_0","x":-58},{"y":-142,"duration":1,"res":"Sprite_1","x":-57},{"y":-142,"duration":1,"res":"Sprite_2","x":-58},{"y":-142,"duration":1,"res":"Sprite_3","x":-57},{"y":-143,"duration":1,"res":"Sprite_4","x":-57},{"y":-143,"duration":1,"res":"Sprite_5","x":-57},{"y":-143,"duration":1,"res":"Sprite_6","x":-57},{"y":-143,"duration":1,"res":"Sprite_7","x":-57},{"y":-143,"duration":1,"res":"Sprite_8","x":-57},{"y":-144,"duration":1,"res":"Sprite_9","x":-65},{"y":-144,"duration":1,"res":"Sprite_10","x":-64},{"y":-144,"duration":1,"res":"Sprite_11","x":-70},{"y":-144,"duration":1,"res":"Sprite_12","x":-66},{"y":-144,"duration":1,"res":"Sprite_13","x":-56},{"y":-143,"duration":1,"res":"Sprite_14","x":-57},{"y":-143,"duration":1,"res":"Sprite_15","x":-57}],"labels":[{"end":16,"frame":1,"name":"Sprite"}],"frameRate":8,"events":[]}},"file":"ChrSel_wizard_women_tex.png","res":{"Sprite_7":{"x":142,"y":295,"w":132,"h":294},"Sprite_5":{"x":277,"y":0,"w":131,"h":295},"Sprite_3":{"x":540,"y":0,"w":130,"h":293},"Sprite_1":{"x":540,"y":587,"w":129,"h":294},"Sprite_12":{"x":0,"y":295,"w":142,"h":295},"Sprite_13":{"x":146,"y":0,"w":131,"h":295},"Sprite_11":{"x":0,"y":0,"w":146,"h":295},"Sprite_15":{"x":280,"y":589,"w":130,"h":294},"Sprite_8":{"x":406,"y":295,"w":132,"h":294},"Sprite_10":{"x":0,"y":590,"w":140,"h":295},"Sprite_6":{"x":408,"y":0,"w":131,"h":294},"Sprite_4":{"x":410,"y":589,"w":130,"h":294},"Sprite_2":{"x":670,"y":0,"w":130,"h":293},"Sprite_0":{"x":538,"y":294,"w":130,"h":293},"Sprite_14":{"x":274,"y":295,"w":132,"h":294},"Sprite_9":{"x":140,"y":590,"w":140,"h":295}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/ChrSel/ChrSel_wizard_women_tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/ChrSel/ChrSel_wizard_women_tex.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/bg.jpg
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/fg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/fg.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/icon_music_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/icon_music_on.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/login/login.json:
--------------------------------------------------------------------------------
1 | {"file":"login.png","frames":{
2 | "login_73":{"x":800,"y":471,"w":298,"h":416,"offX":0,"offY":1,"sourceW":300,"sourceH":417},
3 | "login_74":{"x":1936,"y":232,"w":44,"h":36,"offX":0,"offY":0,"sourceW":44,"sourceH":36},
4 | "login_75":{"x":1936,"y":196,"w":44,"h":36,"offX":0,"offY":0,"sourceW":44,"sourceH":36},
5 | "login_76":{"x":1936,"y":268,"w":44,"h":36,"offX":0,"offY":0,"sourceW":44,"sourceH":36},
6 | "login_77":{"x":1936,"y":339,"w":44,"h":35,"offX":0,"offY":0,"sourceW":44,"sourceH":35},
7 | "login_78":{"x":1936,"y":304,"w":44,"h":35,"offX":0,"offY":0,"sourceW":44,"sourceH":35},
8 | "login_81":{"x":1936,"y":164,"w":76,"h":32,"offX":0,"offY":0,"sourceW":76,"sourceH":32},
9 | "login_1140":{"x":1436,"y":0,"w":500,"h":404,"offX":0,"offY":0,"sourceW":500,"sourceH":404},
10 | "login_50":{"x":1436,"y":404,"w":416,"h":298,"offX":0,"offY":1,"sourceW":420,"sourceH":299},
11 | "login_52":{"x":1936,"y":32,"w":95,"h":33,"offX":0,"offY":0,"sourceW":96,"sourceH":33},
12 | "login_53":{"x":1852,"y":404,"w":128,"h":33,"offX":0,"offY":0,"sourceW":128,"sourceH":33},
13 | "login_60":{"x":1098,"y":471,"w":294,"h":253,"offX":0,"offY":0,"sourceW":296,"sourceH":254},
14 | "login_61":{"x":1936,"y":0,"w":100,"h":32,"offX":0,"offY":0,"sourceW":100,"sourceH":32},
15 | "login_62":{"x":1936,"y":98,"w":76,"h":33,"offX":0,"offY":0,"sourceW":76,"sourceH":33},
16 | "login_63":{"x":800,"y":0,"w":636,"h":471,"offX":1,"offY":0,"sourceW":640,"sourceH":473},
17 | "login_65":{"x":0,"y":0,"w":800,"h":600,"offX":0,"offY":0,"sourceW":800,"sourceH":600},
18 | "login_66":{"x":1936,"y":65,"w":76,"h":33,"offX":0,"offY":0,"sourceW":76,"sourceH":33},
19 | "login_67":{"x":1936,"y":131,"w":76,"h":33,"offX":0,"offY":0,"sourceW":76,"sourceH":33},
20 | "login_68":{"x":1980,"y":196,"w":44,"h":21,"offX":0,"offY":0,"sourceW":44,"sourceH":21},
21 | "login_69":{"x":1852,"y":458,"w":118,"h":21,"offX":0,"offY":0,"sourceW":120,"sourceH":21},
22 | "login_70":{"x":1852,"y":437,"w":118,"h":21,"offX":0,"offY":0,"sourceW":120,"sourceH":21},
23 | "login_72":{"x":1936,"y":374,"w":54,"h":20,"offX":0,"offY":0,"sourceW":56,"sourceH":20}}}
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/login/login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/login/login.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/sound_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/sound_off.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/ui/sound_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/ui/sound_on.png
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/Field2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/Field2.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/HeroLogin.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/HeroLogin.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/HeroLogout.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/HeroLogout.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/Log-in-long2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/Log-in-long2.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/M11-2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/M11-2.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/M2-1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/M2-1.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/M7-1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/M7-1.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/OpenBox.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/OpenBox.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/OpenDoor.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/OpenDoor.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/blink_home.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/blink_home.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/blink_random.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/blink_random.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/button.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/button.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/drink.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/drink.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/drink1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/drink1.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/powerup.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/powerup.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/sellect-loop2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/sellect-loop2.wav
--------------------------------------------------------------------------------
/Basic/resource/mir2/wav/sellout.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/Basic/resource/mir2/wav/sellout.wav
--------------------------------------------------------------------------------
/Basic/resource/scene/Game.exml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Basic/scripts/bricks/bricks.ts:
--------------------------------------------------------------------------------
1 | import * as fs from 'fs';
2 | import * as path from 'path';
3 |
4 |
5 | type ManifestConfig = {
6 |
7 | initial: string[],
8 |
9 | game: string[]
10 |
11 | }
12 |
13 | export class BricksPlugin implements plugins.Command {
14 |
15 | constructor() {
16 | }
17 | async onFile(file: plugins.File) {
18 | const filename = file.origin;
19 | if (filename == 'manifest.json') {
20 | const contents = file.contents.toString();
21 | const jsonData: ManifestConfig = JSON.parse(contents);
22 |
23 | let content = '';
24 |
25 | for (let item of jsonData.initial) {
26 | if (item != 'js/promise.js' && item != 'js/promise.min.js') {
27 | content += `BK.Script.loadlib("GameRes://${item}");\n`
28 | }
29 | if (item == "js/egret.js" || item == 'js/egret.min.js') {
30 | content += `BK.Script.loadlib("GameRes://egret.bricks.js");\n`
31 | }
32 | }
33 | for (let item of jsonData.game) {
34 | content += `BK.Script.loadlib("GameRes://${item}");\n`
35 | }
36 | file.path = file.dirname + '/manifest.js'
37 | file.contents = new Buffer(content);
38 | }
39 | return file;
40 | }
41 | async onFinish(pluginContext) {
42 |
43 | }
44 | }
--------------------------------------------------------------------------------
/Basic/scripts/config.bricks.ts:
--------------------------------------------------------------------------------
1 | /// 阅读 api.d.ts 查看文档
2 | ///
3 |
4 | import * as path from 'path';
5 | import { UglifyPlugin, CompilePlugin, ManifestPlugin, ExmlPlugin, EmitResConfigFilePlugin, TextureMergerPlugin } from 'built-in';
6 | import { BricksPlugin } from './bricks/bricks';
7 | import { CustomPlugin } from './myplugin';
8 | import * as defaultConfig from './config';
9 |
10 | const config: ResourceManagerConfig = {
11 |
12 | buildConfig: (params) => {
13 |
14 | const { target, command, projectName, version } = params;
15 | const outputDir = `../${projectName}_bricks/PublicBrickEngineGame/Res`;
16 | return {
17 | outputDir,
18 | commands: [
19 | new CompilePlugin({ libraryType: "debug", defines: { DEBUG: true, RELEASE: false } }),
20 | new ExmlPlugin('commonjs'), // 非 EUI 项目关闭此设置
21 | new ManifestPlugin({ output: 'manifest.json' }),
22 | new BricksPlugin()
23 | ]
24 | }
25 | },
26 |
27 | mergeSelector: defaultConfig.mergeSelector,
28 |
29 | typeSelector: defaultConfig.typeSelector
30 | }
31 |
32 |
33 |
34 | export = config;
35 |
--------------------------------------------------------------------------------
/Basic/scripts/config.ts:
--------------------------------------------------------------------------------
1 | /// 阅读 api.d.ts 查看文档
2 | ///
3 |
4 | import * as path from 'path';
5 | import { UglifyPlugin, IncrementCompilePlugin, CompilePlugin, ManifestPlugin, ExmlPlugin, EmitResConfigFilePlugin, TextureMergerPlugin } from 'built-in';
6 | import { WxgamePlugin } from './wxgame/wxgame';
7 | import { BricksPlugin } from './bricks/bricks';
8 | import { CustomPlugin } from './myplugin';
9 |
10 | const config: ResourceManagerConfig = {
11 |
12 |
13 | buildConfig: (params) => {
14 |
15 | const { target, command, projectName, version } = params;
16 |
17 | if (command == 'build') {
18 | const outputDir = '.';
19 | return {
20 | outputDir,
21 | commands: [
22 | // new EmitResConfigFilePlugin({
23 | // output: "resource/default.res.json",
24 | // typeSelector: config.typeSelector,
25 | // nameSelector: p => path.basename(p).replace(/\./gi, "_"),
26 | // groupSelector: p => "preload"
27 | // }),
28 | new ExmlPlugin('debug'), // 非 EUI 项目关闭此设置
29 | new IncrementCompilePlugin(),
30 | ]
31 | }
32 | }
33 | else if (command == 'publish') {
34 | const outputDir = `bin-release/web/${version}`;
35 | return {
36 | outputDir,
37 | commands: [
38 | new CustomPlugin(),
39 | new CompilePlugin({ libraryType: "release", defines: { DEBUG: false, RELEASE: true } }),
40 | new ExmlPlugin('commonjs'), // 非 EUI 项目关闭此设置
41 | new UglifyPlugin([{
42 | sources: ["main.js"],
43 | target: "main.min.js"
44 | }]),
45 | new ManifestPlugin({ output: "manifest.json", hash: "crc32" })
46 | ]
47 | }
48 | }
49 | else {
50 | throw `unknown command : ${params.command}`
51 | }
52 | },
53 |
54 | mergeSelector: (path) => {
55 | if (path.indexOf("assets/bitmap/") >= 0) {
56 | return "assets/bitmap/sheet.sheet"
57 | }
58 | else if (path.indexOf("armature") >= 0 && path.indexOf(".json") >= 0) {
59 | return "assets/armature/1.zip";
60 | }
61 | },
62 |
63 | typeSelector: (path) => {
64 | const ext = path.substr(path.lastIndexOf(".") + 1);
65 | const typeMap = {
66 | "jpg": "image",
67 | "png": "image",
68 | "webp": "image",
69 | "json": "json",
70 | "fnt": "font",
71 | "pvr": "pvr",
72 | "mp3": "sound",
73 | "zip": "zip",
74 | "sheet": "sheet",
75 | "exml": "text"
76 | }
77 | let type = typeMap[ext];
78 | if (type == "json") {
79 | if (path.indexOf("sheet") >= 0) {
80 | type = "sheet";
81 | } else if (path.indexOf("movieclip") >= 0) {
82 | type = "movieclip";
83 | };
84 | }
85 | return type;
86 | }
87 | }
88 |
89 |
90 | export = config;
91 |
--------------------------------------------------------------------------------
/Basic/scripts/config.wxgame.ts:
--------------------------------------------------------------------------------
1 | /// 阅读 api.d.ts 查看文档
2 | ///
3 |
4 | import * as path from 'path';
5 | import { UglifyPlugin, CompilePlugin, ManifestPlugin, ExmlPlugin, EmitResConfigFilePlugin, TextureMergerPlugin, CleanPlugin } from 'built-in';
6 | import { WxgamePlugin } from './wxgame/wxgame';
7 | import { CustomPlugin } from './myplugin';
8 | import * as defaultConfig from './config';
9 |
10 | const config: ResourceManagerConfig = {
11 |
12 | buildConfig: (params) => {
13 |
14 | const { target, command, projectName, version } = params;
15 | const outputDir = `../${projectName}_wxgame`;
16 | if (command == 'build') {
17 | return {
18 | outputDir,
19 | commands: [
20 | new CleanPlugin({ matchers: ["js", "resource"] }),
21 | new CompilePlugin({ libraryType: "debug", defines: { DEBUG: true, RELEASE: false } }),
22 | new ExmlPlugin('commonjs'), // 非 EUI 项目关闭此设置
23 | new WxgamePlugin(),
24 | new ManifestPlugin({ output: 'manifest.js' })
25 | ]
26 | }
27 | }
28 | else if (command == 'publish') {
29 | return {
30 | outputDir,
31 | commands: [
32 | new CleanPlugin({ matchers: ["js", "resource"] }),
33 | new CompilePlugin({ libraryType: "release", defines: { DEBUG: false, RELEASE: true } }),
34 | new ExmlPlugin('commonjs'), // 非 EUI 项目关闭此设置
35 | new WxgamePlugin(),
36 | new UglifyPlugin([{
37 | sources: ["main.js"],
38 | target: "main.min.js"
39 | }
40 | ]),
41 | new ManifestPlugin({ output: 'manifest.js' })
42 | ]
43 | }
44 | }
45 | else {
46 | throw `unknown command : ${params.command}`;
47 | }
48 | },
49 |
50 | mergeSelector: defaultConfig.mergeSelector,
51 |
52 | typeSelector: defaultConfig.typeSelector
53 | }
54 |
55 |
56 |
57 | export = config;
58 |
--------------------------------------------------------------------------------
/Basic/scripts/myplugin.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 示例自定义插件,您可以查阅 http://developer.egret.com/cn/2d/projectConfig/cmdExtensionPluginin/
3 | * 了解如何开发一个自定义插件
4 | */
5 | export class CustomPlugin implements plugins.Command {
6 |
7 | constructor() {
8 | }
9 |
10 | async onFile(file: plugins.File) {
11 | return file;
12 | }
13 |
14 | async onFinish(commandContext: plugins.CommandContext) {
15 |
16 | }
17 | }
--------------------------------------------------------------------------------
/Basic/src/AssetAdapter.ts:
--------------------------------------------------------------------------------
1 | //////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2014-present, Egret Technology.
4 | // All rights reserved.
5 | // Redistribution and use in source and binary forms, with or without
6 | // modification, are permitted provided that the following conditions are met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above copyright
11 | // notice, this list of conditions and the following disclaimer in the
12 | // documentation and/or other materials provided with the distribution.
13 | // * Neither the name of the Egret nor the
14 | // names of its contributors may be used to endorse or promote products
15 | // derived from this software without specific prior written permission.
16 | //
17 | // THIS SOFTWARE IS PROVIDED BY EGRET AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
18 | // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 | // IN NO EVENT SHALL EGRET AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
21 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA,
23 | // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24 | // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 | // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | //
28 | //////////////////////////////////////////////////////////////////////////////////////
29 |
30 |
31 | class AssetAdapter implements eui.IAssetAdapter {
32 | /**
33 | * @language zh_CN
34 | * 解析素材
35 | * @param source 待解析的新素材标识符
36 | * @param compFunc 解析完成回调函数,示例:callBack(content:any,source:string):void;
37 | * @param thisObject callBack的 this 引用
38 | */
39 | public getAsset(source: string, compFunc:Function, thisObject: any): void {
40 | function onGetRes(data: any): void {
41 | compFunc.call(thisObject, data, source);
42 | }
43 | if (RES.hasRes(source)) {
44 | let data = RES.getRes(source);
45 | if (data) {
46 | onGetRes(data);
47 | }
48 | else {
49 | RES.getResAsync(source, onGetRes, this);
50 | }
51 | }
52 | else {
53 | RES.getResByUrl(source, onGetRes, this, RES.ResourceItem.TYPE_IMAGE);
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/Basic/src/LoadingUI.ts:
--------------------------------------------------------------------------------
1 | //////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2014-present, Egret Technology.
4 | // All rights reserved.
5 | // Redistribution and use in source and binary forms, with or without
6 | // modification, are permitted provided that the following conditions are met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above copyright
11 | // notice, this list of conditions and the following disclaimer in the
12 | // documentation and/or other materials provided with the distribution.
13 | // * Neither the name of the Egret nor the
14 | // names of its contributors may be used to endorse or promote products
15 | // derived from this software without specific prior written permission.
16 | //
17 | // THIS SOFTWARE IS PROVIDED BY EGRET AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
18 | // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 | // IN NO EVENT SHALL EGRET AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
21 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA,
23 | // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24 | // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 | // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | //
28 | //////////////////////////////////////////////////////////////////////////////////////
29 |
30 | class LoadingUI extends egret.Sprite {
31 |
32 | public constructor() {
33 | super();
34 | this.createView();
35 | }
36 |
37 | private textField: egret.TextField;
38 |
39 | private createView(): void {
40 | this.textField = new egret.TextField();
41 | this.addChild(this.textField);
42 | this.textField.y = 300;
43 | this.textField.width = 480;
44 | this.textField.height = 100;
45 | this.textField.textAlign = "center";
46 | }
47 | public onLoadComplete(callback: Function, thisObj): void {
48 | callback.call(thisObj);
49 | }
50 | public onProgress(current: number, total: number): void {
51 | this.textField.text = `Loading...${current}/${total}`;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/Basic/src/Platform.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 平台数据接口。
3 | * 由于每款游戏通常需要发布到多个平台上,所以提取出一个统一的接口用于开发者获取平台数据信息
4 | * 推荐开发者通过这种方式封装平台逻辑,以保证整体结构的稳定
5 | * 由于不同平台的接口形式各有不同,白鹭推荐开发者将所有接口封装为基于 Promise 的异步形式
6 | */
7 | declare interface Platform {
8 |
9 | getUserInfo(): Promise;
10 |
11 | login(): Promise
12 |
13 | }
14 |
15 | class DebugPlatform implements Platform {
16 | async getUserInfo() {
17 | return { nickName: "username" }
18 | }
19 | async login() {
20 |
21 | }
22 | }
23 |
24 |
25 | if (!window.platform) {
26 | window.platform = new DebugPlatform();
27 | }
28 |
29 |
30 |
31 | declare let platform: Platform;
32 |
33 | declare interface Window {
34 |
35 | platform: Platform
36 | }
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Basic/src/ThemeAdapter.ts:
--------------------------------------------------------------------------------
1 | //////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2014-present, Egret Technology.
4 | // All rights reserved.
5 | // Redistribution and use in source and binary forms, with or without
6 | // modification, are permitted provided that the following conditions are met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above copyright
11 | // notice, this list of conditions and the following disclaimer in the
12 | // documentation and/or other materials provided with the distribution.
13 | // * Neither the name of the Egret nor the
14 | // names of its contributors may be used to endorse or promote products
15 | // derived from this software without specific prior written permission.
16 | //
17 | // THIS SOFTWARE IS PROVIDED BY EGRET AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
18 | // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 | // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 | // IN NO EVENT SHALL EGRET AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
21 | // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA,
23 | // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24 | // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 | // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 | // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | //
28 | //////////////////////////////////////////////////////////////////////////////////////
29 |
30 |
31 | class ThemeAdapter implements eui.IThemeAdapter {
32 |
33 | /**
34 | * 解析主题
35 | * @param url 待解析的主题url
36 | * @param onSuccess 解析完成回调函数,示例:compFunc(e:egret.Event):void;
37 | * @param onError 解析失败回调函数,示例:errorFunc():void;
38 | * @param thisObject 回调的this引用
39 | */
40 | public getTheme(url: string, onSuccess: Function, onError: Function, thisObject: any): void {
41 |
42 | function onResGet(e: string): void {
43 | onSuccess.call(thisObject, e);
44 | }
45 | function onResError(e: RES.ResourceEvent): void {
46 | if (e.resItem.url == url) {
47 | RES.removeEventListener(RES.ResourceEvent.ITEM_LOAD_ERROR, onResError, null);
48 | onError.call(thisObject);
49 | }
50 | }
51 |
52 | if (typeof generateEUI !== 'undefined') {
53 | egret.callLater(() => {
54 | onSuccess.call(thisObject, generateEUI);
55 | }, this);
56 | }
57 | else {
58 | RES.addEventListener(RES.ResourceEvent.ITEM_LOAD_ERROR, onResError, null);
59 | RES.getResByUrl(url, onResGet, this, RES.ResourceItem.TYPE_TEXT);
60 | }
61 | }
62 | }
63 |
64 | declare var generateEUI: { paths: string[], skins: any }
--------------------------------------------------------------------------------
/Basic/src/bean/Player.ts:
--------------------------------------------------------------------------------
1 | class Player {
2 | public constructor(type) {
3 | this.type = type;
4 | }
5 |
6 | public userId: number = 2;
7 | public userName: string = 'Ranger';
8 | public url: string = '';
9 | public type: string = "b";
10 | public score: number = 0;
11 | public blood: number = 0;
12 | public isDie: boolean = false;
13 | public comboNum: number = 0;
14 | public highComobNum: number = 0;
15 | public perfect: number = 0;
16 | public good: number = 0;
17 | public miss: number = 0;
18 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/App.ts:
--------------------------------------------------------------------------------
1 | class App {
2 | public static W: number = 1270;
3 | public static H: number = 720;
4 | public static IS_DEGUG: boolean = true;
5 | public constructor() {
6 | }
7 |
8 | public static init(container: egret.DisplayObjectContainer): void {
9 | Toast.initRes(container, "resource/efinal/loading/toast-bg.png");
10 | var rootView = new egret.Sprite();
11 | rootView.width = container.stage.stageWidth;
12 | rootView.height = container.stage.stageHeight;
13 | App.W = container.stage.stageWidth;
14 | App.H = container.stage.stageHeight;
15 | rootView.x = 0;
16 | rootView.y = 0;
17 | container.addChild(rootView);
18 | SceneManager.init(rootView);
19 | App.IS_DEGUG&&UI.buildEgretLogger(container);
20 |
21 | }
22 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/ArrayUtil.ts:
--------------------------------------------------------------------------------
1 | class ArrayUtil {
2 | public static clear(arr: Array) {
3 | arr && (arr.length = 0);
4 | }
5 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/BgAutoScorller.ts:
--------------------------------------------------------------------------------
1 | class BgAutoScorller {
2 | constructor(v1, v2,speed) {
3 | this.bg1 = v1;
4 | this.bg2 = v2;
5 | this.speed = speed;
6 | }
7 | private bg1: egret.DisplayObject;
8 | private bg2: egret.DisplayObject;
9 | private bg1Height: number = 0;
10 | private bg2Height: number = 0;
11 | private speed: number = 0;
12 | public update(): void {
13 | if (this.bg1.y >= 0) {
14 | this.bg1.y = -this.bg1.height;
15 | }
16 | if (this.bg2.y >= this.bg2.height) {
17 | this.bg2.y = 0;
18 | }
19 |
20 | this.bg1.y += this.speed;
21 | this.bg2.y += this.speed;
22 | }
23 |
24 | public dispose(): void {
25 | this.bg1 = null;
26 | this.bg2 = null;
27 | }
28 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/BilingBiling.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 闪速效果
3 | */
4 | class BilingBiling {
5 | public static biling(view, time: number, loopCount: number) {
6 | if (loopCount > 0) {
7 | view.alpha = 0.1;
8 | egret.Tween.get(view).to({ alpha: 1.0, loop: false }, time, egret.Ease.elasticInOut).call(
9 | function () {
10 | this.biling(view, time, --loopCount);
11 | }.bind(this)
12 | ).play();
13 | }
14 |
15 | }
16 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/ByteUtils.ts:
--------------------------------------------------------------------------------
1 | function stringToUtf8ByteArray(a) {
2 | if(!(a&&(typeof a === "string"))){
3 | return new Uint8Array(0);
4 | }
5 | for (var b = [], c = 0, d = 0; d < a.length; d++) {
6 | var e = a.charCodeAt(d);
7 | 128 > e ? b[c++] = e : (2048 > e ? b[c++] = e >> 6 | 192 : (55296 == (e & 64512) && d + 1 < a.length && 56320 == (a.charCodeAt(d + 1) & 64512) ? (e = 65536 + ((e & 1023) << 10) + (a.charCodeAt(++d) & 1023), b[c++] = e >> 18 | 240, b[c++] = e >> 12 & 63 | 128) : b[c++] = e >> 12 | 224, b[c++] = e >> 6 & 63 | 128), b[c++] = e & 63 | 128)
8 | }
9 | var buf = new Uint8Array(b.length);
10 | for (var i = 0; i < buf.length; i++) {
11 | buf[i] = b[i];
12 |
13 | }
14 | return buf;
15 | }
16 | function utf8ByteArrayToString (a) {
17 | for (var b = [], c = 0, d = 0; c < a.length;) {
18 | var e = a[c++];
19 | if (128 > e) b[d++] = String.fromCharCode(e); else if (191 < e && 224 > e) {
20 | var f = a[c++];
21 | b[d++] = String.fromCharCode((e & 31) << 6 | f & 63)
22 | } else if (239 < e && 365 > e) {
23 | var f = a[c++], g = a[c++], h = a[c++],e:any = ((e & 7) << 18 | (f & 63) << 12 | (g & 63) << 6 | h & 63) - 65536;
24 | b[d++] = String.fromCharCode(55296 + (e >> 10));
25 | b[d++] = String.fromCharCode(56320 + (e & 1023))
26 | } else f = a[c++], g = a[c++], b[d++] = String.fromCharCode((e & 15) << 12 | (f & 63) << 6 | g & 63)
27 | }
28 | return b.join("")
29 | }
30 | function str2u8array(str) {
31 | if(str==undefined||(typeof str !== "string")){
32 | return str;
33 | }
34 | var out = new Uint8Array(str.length*2);
35 | for(var i =0;i>8;
37 | out[i*2+1] = str.charCodeAt(i);
38 | }
39 | return out;
40 | }
41 | function u8array2str(u8array) {
42 | var buf = new Uint16Array(u8array.length/2);
43 | for(var i =0;isrc.x){
10 | // return (dst.x+dst.width-src.x)*
11 | // }
12 | // }
13 | // // ||dst.x>src.x+src.width
14 | // return 0;
15 | // }
16 | /**
17 | * 检查两个物体在Y轴重叠的百分比
18 | * @return 0.0 ~ 1.0
19 | */
20 | public static checkPercentage(src: egret.DisplayObject, dst: egret.DisplayObject): number {
21 | if (src.x >= dst.x && src.x < (dst.x + dst.width)) {
22 | //src进入dst一半 至 src被dst完全包含
23 | if ((src.y + src.height) >= dst.y && src.y <= (dst.y + dst.height)) {
24 | if (src.y < dst.y) {
25 | return (src.y + src.height - dst.y) / src.height;
26 | } else if ((src.y + src.height) >= (dst.y + dst.height)) {
27 | return (dst.y + dst.height - src.y) / src.height;
28 | } else {
29 | return 1.0;
30 | }
31 | }
32 | }
33 | return 0;
34 | }
35 |
36 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/Delay.ts:
--------------------------------------------------------------------------------
1 | class Delay{
2 | public static run(func:any,time){
3 | setTimeout(func,time);
4 | }
5 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/DisplayObjectPool.ts:
--------------------------------------------------------------------------------
1 | class DisplayObjectPool {
2 | public constructor() {
3 | }
4 | private pool: Array = [];
5 | public get(creater: Function):any {
6 | for (var i = 0; i < this.pool.length; i++) {
7 | if (this.pool[i].state === 0) {
8 | var o = creater(this.pool[i]);
9 | return o;
10 | }
11 | }
12 |
13 | var ne = creater();
14 | this.pool.unshift(ne);
15 | return ne;
16 | }
17 | public getAll(): Array {
18 | return this.pool;
19 | }
20 | public destory(o, destoryer: Function) {
21 | if (o == null) {
22 | console.warn("[WARN] NullPointException: Can`t destory null ");
23 | return;
24 | }
25 | for (var i = 0; i < this.pool.length; i++) {
26 | if (this.pool[i] === o) {
27 | destoryer(this.pool[i]);
28 | this.pool[i].state = 0;
29 | return true;
30 | }
31 | }
32 | console.warn("[WARN] Not found the object from pool:" + JSON.stringify(o));
33 | return false;
34 | }
35 | public destoryAll(destoryer: Function) {
36 | for (var i = 0; i < this.pool.length; i++) {
37 | this.pool[i].visible = false;
38 | destoryer(this.pool[i]);
39 | }
40 | this.pool = [];
41 | }
42 | public getItemByName(name: string): any {
43 | for (var i = 0; i < this.pool.length; i++) {
44 | if (this.pool[i].name === name) {
45 | return this.pool[i];
46 | }
47 | }
48 | }
49 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/FileLoader.ts:
--------------------------------------------------------------------------------
1 | class FileLoader {
2 |
3 | public constructor() {
4 | }
5 | /**
6 | * 下载文件资源
7 | * @param uri ex:"resource/map/desert.tmx"
8 | * @param callback ex:callback(data:String)
9 | */
10 | public static load(uri: string, callback: Function) {
11 |
12 | var urlLoader: egret.URLLoader = new egret.URLLoader();
13 | urlLoader.dataFormat = egret.URLLoaderDataFormat.TEXT;
14 | urlLoader.addEventListener(egret.Event.COMPLETE, function (event: egret.Event): void {
15 | callback(event.target.data);
16 | }, uri);
17 | urlLoader.load(new egret.URLRequest(uri));
18 | }
19 | /**
20 | * 下载文件资源
21 | * @param uri ex:"resource/map/desert.tmx"
22 | * @param callback ex:callback(xml:egret.XML)
23 | */
24 |
25 | public static loadXML(uri: string, callback: Function) {
26 | var urlLoader: egret.URLLoader = new egret.URLLoader();
27 | urlLoader.dataFormat = egret.URLLoaderDataFormat.TEXT;
28 | var fc = function (event: egret.Event): void {
29 | callback(egret.XML.parse(event.target.data));
30 | urlLoader.removeEventListener(egret.Event.COMPLETE, fc, uri);
31 | };
32 | urlLoader.addEventListener(egret.Event.COMPLETE, fc, uri);
33 | urlLoader.load(new egret.URLRequest(uri));
34 | }
35 |
36 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/GameData.ts:
--------------------------------------------------------------------------------
1 | // TypeScript file
2 | class GameData {
3 | static env: string = "fluttergo";
4 | static userID: number = MathUtils.random(100000000);
5 | static userName:string = GameData.userID+"";
6 | static MAX_ROOM_USER_COUNT: number = 10;
7 | static FPS: number = 5;
8 | static token: string = "xxx"
9 | static gameID: number = 0;
10 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/Handler.ts:
--------------------------------------------------------------------------------
1 | class Handler {
2 |
3 | private listenerMap: Object = {};
4 | private eventCacheQueue = [];
5 | private static instance = new Handler();
6 | public static getInstance(): Handler {
7 | return Handler.instance;
8 | }
9 | private callback(cb, data) {
10 | if (cb && cb.that) {
11 | cb.call(cb.that, data);
12 | } else {
13 | cb && cb(data);
14 | }
15 | }
16 | public receive(key: string, callback: Function) {
17 | console.debug(`[Handler] reg receiver %s `, key)
18 | if (!this.listenerMap[key]) {
19 | this.listenerMap[key] = [];
20 | }
21 | this.listenerMap[key].push(callback);
22 | for (var j = 0; j < this.eventCacheQueue.length; j++) {
23 | var ekey = this.eventCacheQueue[j].key;
24 | if (ekey == key) {
25 | // console.debug("found cache : %s , len: %d", key, this.eventCacheQueue.length);
26 | for (var i = 0; i < this.listenerMap[key].length; i++) {
27 | var cb = this.listenerMap[key][i];
28 | this.callback(cb, this.eventCacheQueue[j]);
29 | }
30 | this.eventCacheQueue.splice(j, 1);
31 | // console.debug("destroy cache : %s , len: %d", key, this.eventCacheQueue.length);
32 | j = 0;
33 | }
34 | }
35 |
36 | }
37 |
38 | public unReceive(key: string, callback?: Function) {
39 | if (!this.listenerMap[key]) return;
40 | if (callback) {
41 | for (var i = 0; i < this.listenerMap[key].length; i++) {
42 | if (this.listenerMap[key][i] == callback) {
43 | console.debug(`[Handler] remove Receiver with a callbck %s `, key)
44 | this.listenerMap[key].splice(i, 1)
45 | }
46 | }
47 | } else {
48 | console.debug(`[Handler] remove all Receiver at key: %s `, key)
49 | delete this.listenerMap[key];
50 | }
51 |
52 | }
53 | private pushCache(key: any, data?: any) {
54 | console.debug("push cache: %s->%s", key, data);
55 | this.eventCacheQueue.push({ key: key, data: data });
56 | }
57 |
58 | public dispatchEvent(key: any, data?: any) {
59 | if (!this.listenerMap[key]) {
60 | this.pushCache(key, data);
61 | return
62 | };
63 | var isNeedCache = true;
64 | for (var i = 0; i < this.listenerMap[key].length; i++) {
65 | if (this.listenerMap[key][i]) {
66 | console.debug(`dispatchEvent %s success`, key)
67 | this.callback(this.listenerMap[key][i], { type: key, data: data });
68 | isNeedCache = false;
69 | }
70 | }
71 | if (isNeedCache) {
72 | this.pushCache(key, data);
73 | }
74 | }
75 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/ImageLoader.ts:
--------------------------------------------------------------------------------
1 | class ImageLoader {
2 | public constructor() {
3 | }
4 | /**
5 | * 从缓存中加载图片,如果缓存中没有,则下载图片并放入缓存,再显示
6 | */
7 | public static showAsync(image: egret.Bitmap, name: string, x?: number, y?: number, w?: number, h?: number) {
8 | RES.getResAsync(name, function (result: egret.Texture) {
9 | image.texture = result;
10 | var index = name.indexOf("#");
11 | if (index >= 0) {//读取子图,如果没有则创建再读取
12 | var subkey = "";
13 | subkey = name.substr(index + 1);
14 | name = name.substr(0, index);
15 | if (null == result['subTexture']) {
16 | result['subTexture'] = new egret.SpriteSheet(result);
17 |
18 | }
19 | var spriteSheet: egret.SpriteSheet = result['subTexture'];
20 | if (null == spriteSheet.getTexture(subkey)) {
21 | spriteSheet.createTexture(subkey, x, y, w, h);
22 | }
23 | image.texture = spriteSheet.getTexture(subkey)
24 | } else {
25 | image.texture = result;
26 | }
27 |
28 | }, image);
29 | }
30 | /**
31 | * 从缓存中加载图片,如果缓存中没有,加载失败
32 | */
33 | public static show(image: egret.Bitmap, name: string) {
34 | image.texture = RES.getRes(name);
35 | }
36 | public static showAndCreate(container: egret.DisplayObjectContainer, name: string, x?: number, y?: number, isAlignBottom?: boolean) {
37 | var texture = RES.getRes(name);
38 |
39 | if (null == texture) {
40 | console.warn("[WARN] Not be found image:'" + name + "'");
41 | return;
42 | }
43 | var bitmap = new egret.Bitmap(texture);
44 | bitmap.x = x;
45 | // bitmap.y = y;
46 | bitmap.y = isAlignBottom ? (y - texture.textureHeight + texture.textureWidth) : y;
47 | bitmap.width = texture.textureWidth;
48 | bitmap.height = texture.textureHeight;
49 | // console.log('[INFO] showAndCreate image: ' + name +" bitmap.x:"+bitmap.x+","+bitmap.y +" size:"+bitmap.width+","+bitmap.height);
50 | container.addChild(bitmap);
51 | return bitmap;
52 | }
53 | /**
54 | * 加载远程服务器上的资源
55 | */
56 | public static showAsyncByCrossUrl(image: egret.DisplayObjectContainer, url: string, x?: number, y?: number, w?: number, h?: number) {
57 | // RES.getResByUrl(url:string,compFunc:Function,thisObject:any,type:string=””):void
58 | var loader: egret.ImageLoader = new egret.ImageLoader()
59 | loader.crossOrigin = "anonymous";
60 | var callback = function (e: egret.Event) {
61 | var bitmapData: egret.BitmapData = (e.target).data;
62 | var texture = new egret.Texture();
63 | texture.bitmapData = bitmapData;
64 | var bitmap = new egret.Bitmap(texture);
65 | bitmap.x = x || 0;
66 | bitmap.y = y || 0;
67 | bitmap.width = w || texture.textureWidth;
68 | bitmap.height = h || texture.textureWidth;
69 | image.addChild(bitmap);
70 | };
71 | loader.once(egret.Event.COMPLETE, callback, this);
72 | loader.load(url);
73 | }
74 |
75 |
76 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/LinkList.ts:
--------------------------------------------------------------------------------
1 | class LinkList {
2 |
3 | // var Node = function (element) { //新元素构造
4 | // this.element = element;
5 | // this.next = null;
6 | // };
7 |
8 | // var length = 0;
9 | // var head = null;
10 |
11 | // this.append = function (element) {
12 | // var node = new Node(element); //构造新的元素节点
13 | // var current;
14 | // if (head === null) { //头节点为空时 当前结点作为头节点
15 | // head = node;
16 | // } else {
17 | // current = head;
18 | // while (current.next) { //遍历,直到节点的next为null时停止循环,当前节点为尾节点
19 | // current = current.next;
20 | // }
21 | // current.next = node; //将尾节点指向新的元素,新元素作为尾节点
22 | // }
23 | // length++; //更新链表长度
24 | // };
25 | // this.removeAt = function (position) {
26 | // if (position > -1 && position < length) {
27 | // var current = head;
28 | // var index = 0;
29 | // var previous;
30 | // if (position == 0) {
31 | // head = current.next;
32 | // } else {
33 | // while (index++ < position) {
34 | // previous = current;
35 | // current = current.next;
36 | // }
37 | // previous.next = current.next;
38 | // }
39 | // length--;
40 | // return current.element;
41 | // } else {
42 | // return null;
43 | // }
44 | // };
45 | // this.insert = function (position, element) {
46 | // if (position > -1 && position <= length) { //校验边界
47 | // var node = new Node(element);
48 | // current = head;
49 | // var index = 0;
50 | // var previous;
51 | // if (position == 0) { //作为头节点,将新节点的next指向原有的头节点。
52 | // node.next = current;
53 | // head = node; //新节点赋值给头节点
54 | // } else {
55 | // while (index++ < position) {
56 | // previous = current;
57 | // current = current.next;
58 | // } //遍历结束得到当前position所在的current节点,和上一个节点
59 | // previous.next = node; //上一个节点的next指向新节点 新节点指向当前结点,可以参照上图来看
60 | // node.next = current;
61 | // }
62 | // length++;
63 | // return true;
64 | // } else {
65 | // return false;
66 | // }
67 |
68 | // };
69 | // this.toString = function () {
70 | // var current = head;
71 | // var string = '';
72 | // while (current) {
73 | // string += ',' + current.element;
74 | // current = current.next;
75 | // }
76 | // return string;
77 | // };
78 | // this.indexOf = function (element) {
79 | // var current = head;
80 | // var index = -1;
81 | // while (current) {
82 | // if (element === current.element) { //从头节点开始遍历
83 | // return index;
84 | // }
85 | // index++;
86 | // current = current.next;
87 | // }
88 | // return -1;
89 | // };
90 | // this.getLength = function () {
91 | // return length;
92 | // }
93 |
94 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/ListViewImageItem.ts:
--------------------------------------------------------------------------------
1 | class ListViewItemBase extends eui.ItemRenderer {
2 | public constructor() {
3 | super();
4 | //自定义的 ItemRenderer
5 | this.touchChildren = true;
6 | }
7 | protected labelDisplay: eui.Label;
8 | protected partAdded(partName: string, instance: any): void {
9 | super.partAdded(partName, instance);
10 | this.selected = true;
11 | instance.addEventListener(egret.TouchEvent.TOUCH_TAP, function (e: egret.Event) {
12 |
13 | instance.name = partName;
14 | if (partName === "" || (instance.touchEnabled === false)) {
15 | } else {
16 | instance.addEventListener(egret.TouchEvent.TOUCH_TAP, function (e: egret.TouchEvent) {
17 | return this.onItemClick(partName, instance);
18 | }, this);
19 | }
20 | }, this);
21 |
22 | }
23 | protected childrenCreated(): void {
24 | super.childrenCreated();
25 | }
26 | protected dataChanged(): void {
27 | this.labelDisplay.text = this.data;
28 | console.log('[List DataChanged] : ' + JSON.stringify(this.data));
29 | }
30 | protected onItemClick(viewName: string, view: any): void {
31 | console.log('[List OnItemClick] : ' + this.itemIndex + " ->" + viewName);
32 |
33 | }
34 |
35 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/ListViewUtil.ts:
--------------------------------------------------------------------------------
1 | class ListViewUtil {
2 |
3 | public static initListView(root: egret.DisplayObjectContainer, listview: eui.List, sourceArr: any[], itemClass: any) {
4 | //用ArrayCollection包装
5 | var myCollection: eui.ArrayCollection = new eui.ArrayCollection(sourceArr);
6 |
7 | listview.dataProvider = myCollection;
8 | listview.useVirtualLayout = true;
9 | listview.itemRenderer = itemClass;
10 | //设置listview容器本身不可点击
11 | listview.touchEnabled = false;
12 | // //创建一个 Scroller
13 | var scroller = new eui.Scroller();
14 | scroller.height = listview.height;
15 | scroller.width = listview.width;
16 | scroller.viewport = listview;
17 | // scroller.horizontalScrollBar.autoVisibility = false;
18 | // scroller.width = 200;
19 | // scroller.height = 200;
20 | scroller.x = listview.x;
21 | scroller.y = listview.y
22 | scroller.name = "scroller";
23 | // scroller.scrollPolicyV = eui.ScrollPolicy.AUTO;
24 | // scroller.scrollPolicyH = eui.ScrollPolicy.AUTO;
25 | root.addChild(scroller);
26 | }
27 | public static refreshData(listView: any,newDataList: Array) {
28 | (listView.dataProvider).source = newDataList;
29 | (listView.dataProvider).refresh();
30 | }
31 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/Loading.ts:
--------------------------------------------------------------------------------
1 | class Loading extends egret.Sprite {
2 | public constructor(w, h) {
3 | super();
4 | this.createView(w, h)
5 | }
6 | private textField: egret.TextField;
7 | private context: egret.DisplayObjectContainer;
8 |
9 | private textField_power: egret.TextField;
10 |
11 |
12 | private uiContainer: egret.DisplayObjectContainer;
13 |
14 | private logoUrl = "resource/assets/loading_logo.png";
15 |
16 |
17 | private w: number;
18 |
19 | private h: number;
20 |
21 | private createView(w, h): void {
22 | this.w = w;
23 | this.h = h;
24 |
25 | this.textField = new egret.TextField();
26 | this.textField.y = 500;
27 | this.textField.textColor = 0xCCCCCC;
28 | this.textField.size = 46;
29 | this.textField.width = this.w;
30 | this.textField.height = 100;
31 | this.textField.fontFamily = "Black";
32 | this.textField.textAlign = "center";
33 | this.textField.text = "加载中…";
34 |
35 |
36 |
37 | this.textField_power = new egret.TextField();
38 | this.textField_power.text = ".";
39 | this.textField_power.textColor = 0xCCCCCC;
40 | this.textField_power.size = 80;
41 | this.textField_power.fontFamily = "White";
42 | this.textField_power.textAlign = "center";
43 | this.textField_power.x = this.w * 0.5;
44 | this.textField_power.y = this.h * 0.8;
45 | egret.Tween.get(this.textField_power, { loop: true })
46 | .to({ rotation: 360 }, 800, egret.Ease.cubicIn).play();
47 |
48 | var bg: egret.Shape = new egret.Shape();
49 |
50 | bg.width = this.w;
51 | bg.height = this.h;
52 | bg.x = (this.w - bg.width) / 2;
53 | bg.y = (this.h - bg.height) / 2;
54 | bg.graphics.beginFill(0x333333, 0.8);
55 | bg.graphics.drawRect(0, 0, this.w, this.h);
56 | bg.graphics.endFill();
57 | this.addChild(bg);
58 |
59 |
60 | this.addChild(this.textField);
61 |
62 | this.addChild(this.textField_power);
63 | this.touchEnabled = true;
64 | this.addEventListener(egret.TouchEvent.TOUCH_TAP, function () {
65 | console.log("touch loading");
66 | }, this);
67 | }
68 |
69 | public setProgress(current, total): void {
70 | var num: number = Math.floor((current / total) * 100);
71 | this.textField.text = "加载中…" + num + "%";
72 | }
73 | public static create(context: egret.DisplayObjectContainer): Loading {
74 | var loading: any = new Loading(context.width, context.height);
75 | loading.context = context;
76 | return loading;
77 | }
78 | public isShow: boolean = false;
79 | public show() {
80 | if (this.isShow) {
81 | console.log('[INFO] loading hande be show');
82 | return;
83 | }
84 | this.isShow = true;
85 | this.context.addChild(this);
86 | }
87 | public close() {
88 | if (!this.isShow) {
89 | console.log('[INFO] loading is not showoing');
90 | return;
91 | }
92 | this.isShow = false;
93 | this.context.removeChild(this);
94 | }
95 |
96 | }
97 |
--------------------------------------------------------------------------------
/Basic/src/efinal/MathUtils.ts:
--------------------------------------------------------------------------------
1 |
2 | // 微信上的适配
3 | // 其他端可以不用那么麻烦 showAll原有的尺寸正常缩放
4 | function FakeRandom(seed) {
5 | this.next = function (range) {
6 | range = range || 100;
7 | var min = 0;
8 | seed = (seed * 9301 + 49297) % 233280;
9 | var rnd = seed / 233280.0;
10 | return Math.floor(min + rnd * (range - min));
11 | }
12 | }
13 |
14 | class MathUtils {
15 | public static Random = new FakeRandom(new Date().getMilliseconds());
16 | public static random(range?: number): number {
17 | if (range < 0) {
18 | range = 0;
19 | }
20 | return MathUtils.Random.next(range);
21 | }
22 |
23 | public static max(a: number, b: number) {
24 |
25 | return a > b ? a : b;
26 | }
27 | public static min(a: number, b: number) {
28 | return a < b ? a : b;
29 | }
30 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/Music.ts:
--------------------------------------------------------------------------------
1 | class Music {
2 | // appear_mp3: "appear_mp3",
3 | // bg_mp3: "bg_mp3",
4 | // click_mp3: "click_mp3",
5 | // die_mp3: "die_mp3",
6 | // draw_mp3: "draw_mp3",
7 | // explode_mp3: "explode_mp3",
8 | // get_mp3: "get_mp3",
9 | // lay_mp3: "lay_mp3",
10 | // save_mp3: "save_mp3",
11 | // start_mp3: " start_mp3",
12 | // win_mp3: "win_mp3",
13 | public static music = {
14 | }
15 | public static isMute = false;
16 | public static play(name, isLoop: boolean = false): SoundBase {
17 | if (Music.music[name] == null) {
18 | Music.music[name] = new SoundBase(name);
19 | }
20 | if (isLoop == true) {
21 | Music.music[name].setLoop(true);
22 | }
23 | Music.music[name].play();
24 | return Music.music[name];
25 | }
26 | public static stop(name) {
27 | Music.music[name].stop();
28 | }
29 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/NetStateBar.ts:
--------------------------------------------------------------------------------
1 | class NetStateBar extends BaseScene implements eui.UIComponent {
2 | public static Connect: string = "connect";
3 | public static Disconnect: string = "disconnect";
4 | public static Slow: string = "slow";
5 | public constructor() {
6 | super();
7 | console.log('[INFO] NetStateBar');
8 | }
9 | public state(state: string) {
10 | this.currentState = state;
11 | }
12 |
13 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/ResourceUtils.ts:
--------------------------------------------------------------------------------
1 | class ResourceUtils {
2 | /**
3 | * 根据name关键字创建一个Bitmap对象。name属性请参考resources/resource.json配置文件的内容。
4 | */
5 | public static createBitmapByName(name:string):egret.Bitmap {
6 | var result:egret.Bitmap = new egret.Bitmap();
7 |
8 | // 小心, RES.getRes(name)要是找不到,并不会报错
9 | var texture:egret.Texture = RES.getRes(name);
10 | result.texture = texture;
11 | return result;
12 | }
13 |
14 | /**
15 | * 根据name关键字创建一个Bitmap对象。此name 是根据TexturePacker 组合成的一张位图
16 | */
17 | public static createBitmapFromSheet(name:string, sheetName:string = "gameRes"):egret.Bitmap {
18 | var sheet:egret.SpriteSheet = RES.getRes(sheetName);
19 | var texture:egret.Texture = sheet.getTexture(name);
20 | var result:egret.Bitmap = new egret.Bitmap();
21 | result.texture = texture;
22 | return result;
23 | }
24 |
25 | public static getTextureFromSheet(name:string, sheetName:string = "gameRes"):egret.Texture {
26 | var sheet:egret.SpriteSheet = RES.getRes(sheetName);
27 | var result:egret.Texture = sheet.getTexture(name);
28 | return result;
29 | }
30 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/Tips.ts:
--------------------------------------------------------------------------------
1 | class Tips {
2 | private step = 0;
3 | private root;
4 | private stepViewNames: Array = [];
5 | public show(root: BaseScene, stepViewName: Array) {
6 | this.stepViewNames = stepViewName;
7 | this.root = root;
8 | root.findChild(stepViewName[0]).visible = true;
9 | root.findChild(stepViewName[1]).visible = true;
10 | for (var i = 2; i < this.stepViewNames.length; i++) {
11 | root.findChild(stepViewName[i]).visible = false;
12 | }
13 | }
14 | public nextStep() {
15 | if (this.root === null) {
16 | console.warn("please call func 'Tips.show(root,stepViewNameArray)' as the first step");
17 | return false;
18 | }
19 | this.step++;
20 | if (this.step+1 > this.stepViewNames.length-1) {// next step is exit tips ,-1 = root
21 | this.root.findChild(this.stepViewNames[0]).visible = false;
22 | return true;
23 | } else {
24 | this.root.findChild(this.stepViewNames[this.step]).visible = false;
25 | this.root.findChild(this.stepViewNames[this.step+1]).visible = true;
26 | return false;
27 | }
28 | }
29 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/Toast.ts:
--------------------------------------------------------------------------------
1 | class Toast extends egret.DisplayObjectContainer {
2 |
3 | public static init(cont: egret.DisplayObjectContainer, txtrToastBg: egret.Texture): void {
4 | console.log("Toast.init", txtrToastBg);
5 | this._cont = cont;
6 | this._txtrToastBg = txtrToastBg;
7 | }
8 | public static initRes(cont: egret.DisplayObjectContainer, img: string): void {
9 | console.log("Toast.init", img);
10 | this._cont = cont;
11 |
12 | var loader: egret.ImageLoader = new egret.ImageLoader();
13 | //添加加载完成侦听
14 | loader.addEventListener(egret.Event.COMPLETE, function (event: egret.Event): void {
15 | var loader: egret.ImageLoader = event.target;
16 | //获取加载到的纹理对象
17 | var bitmapData: egret.BitmapData = loader.data;
18 | //创建纹理对象
19 | var texture = new egret.Texture();
20 | texture.bitmapData = bitmapData;
21 | this._txtrToastBg = texture;
22 | //创建 Bitmap 进行显示
23 | // this.addChild(new egret.Bitmap(texture));
24 | }, this);
25 | //开始加载
26 | loader.load(img);
27 | }
28 |
29 | public static show(msg: string): void {
30 | if (this._cont) {
31 | var toast: Toast = new Toast(msg, this._cont.stage.stageWidth, this._cont.stage.stageHeight);
32 | this._cont.addChild(toast);
33 | }
34 | }
35 |
36 | private static _txtrToastBg: egret.Texture;
37 | private static _cont: egret.DisplayObjectContainer;
38 |
39 | constructor(msg: string, w: number, h: number) {
40 | super();
41 |
42 | // console.log("Toast:", msg);
43 |
44 | var bg: egret.Bitmap = new egret.Bitmap(Toast._txtrToastBg);
45 | this.x = w * .5;
46 | this.y = h * .85;
47 | this.addChild(bg);
48 | bg.$anchorOffsetX = bg.width/2;
49 | // bg.$anchorOffsetY = bg.height/2;
50 |
51 | var tx: egret.TextField = new egret.TextField;
52 | tx.multiline = true;
53 | tx.size = 30;
54 | tx.bold = true;
55 | tx.textColor = 0xFFFFFF;
56 | tx.stroke = 6;
57 | tx.strokeColor = 0;
58 | tx.text = msg;
59 | tx.fontFamily = "微软雅黑";
60 | tx.textAlign = egret.HorizontalAlign.CENTER;
61 | tx.width = w * 1.0;
62 | tx.x = bg.x;
63 | tx.y = bg.y+tx.size/10;
64 | tx.anchorOffsetX = tx.width/2;
65 |
66 | this.addChild(tx);
67 |
68 | bg.height = 12 + tx.height;
69 |
70 |
71 | this.alpha = 0;
72 |
73 | egret.Tween.get(this)
74 | .to({ alpha: 1 }, 200, egret.Ease.quintOut)
75 | //.to( { scaleX: 1.2, scaleY: 1.2 }, 100, egret.Ease.quintOut )
76 | //.call( ()=>{ console.log( "tween tween tween" ); } )
77 | //.to( { scaleX: 1.0, scaleY: 1.0 }, 300, egret.Ease.quintIn )
78 | .wait(600)
79 | .to({ alpha: 0 }, 200, egret.Ease.quintIn).call(() => { /* y: this.y - 50, */
80 | if (this.parent) {
81 | this.parent.removeChild(this);
82 | }
83 | });
84 | }
85 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/UI.ts:
--------------------------------------------------------------------------------
1 | class UI {
2 |
3 | private static LOGGER: any = console;
4 |
5 | public static printLog(par?: any) {
6 | UI.LOGGER.info('[INFO] : ' + par);
7 | }
8 |
9 | public static setLogger(logger) {
10 | UI.LOGGER = logger;
11 | }
12 | public static buildEgretLogger(root: egret.DisplayObjectContainer) {
13 | var text: eui.Label = new eui.Label();
14 | text.touchEnabled = false;
15 | text.alpha = 0.8;
16 | text.textColor = 0x98e165;
17 | text.name = "Log";
18 | var logger: any = text;
19 | logger.info = function (msg) {
20 | logger.text += msg;
21 | logger.text += "\r\n";
22 | if (logger.text > 1024) {
23 | logger.text.substr(512, logger.text.length);
24 | }
25 | }
26 | root.addChild(logger);
27 | UI.setLogger(logger);
28 | }
29 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/UmspManager.ts:
--------------------------------------------------------------------------------
1 | class UmspManager {
2 | public constructor() {
3 | }
4 |
5 | public clearUser() {
6 | LocalStore_Clear();
7 | }
8 | public static engine: UmspClient;
9 | public static init() {
10 | UmspManager.engine = new UmspClient();
11 | UI.printLog("=============================================================");
12 | UI.printLog("=========== " + UmspManager.engine.getVersion() + " =====================");
13 | UI.printLog("================ Envir: " + GameData.env + " =======================");
14 | UI.printLog("=============================================================");
15 | }
16 | public static login(rsp: Function, networkListener: any) {
17 | UmspManager.init();
18 | UmspManager.engine.login(GameData.userID, GameData.token, GameData.gameID, rsp, networkListener, GameData.env);
19 | UI.printLog("userID: " + GameData.userID + ",token:" + GameData.token + ",gameID:" + GameData.gameID);
20 | }
21 |
22 |
23 | public static match(rsp: Function, roomUserChangedListener: Function, networkListener: any, roomMsgListener: Function) {
24 | var matchOption = new Match(2);
25 | matchOption.maxUserCount = GameData.MAX_ROOM_USER_COUNT;
26 | matchOption.roomName = "开房";
27 | matchOption.roomTag = "";
28 | UI.printLog("matchOption: " + JSON.stringify(matchOption));
29 | UmspManager.engine.match(rsp, roomUserChangedListener,networkListener ,roomMsgListener, matchOption );
30 | }
31 |
32 |
33 | public static send(cmd:string,content: string) {
34 | if (!content) return;
35 | UmspManager.engine&&UmspManager.engine.broadcast("#"+cmd+"#"+ content);
36 | }
37 | public static logout() {
38 | UmspManager.engine&&UmspManager.engine.disConnect();
39 | }
40 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/ui/Dialog.ts:
--------------------------------------------------------------------------------
1 | class Dialog extends eui.Component implements eui.UIComponent {
2 | public OK: eui.Button;
3 | public Cancle: eui.Button;
4 | public title: eui.Label;
5 | public message: eui.Label;
6 | public img: eui.Image;
7 |
8 |
9 | public constructor() {
10 | super();
11 |
12 | }
13 |
14 | protected partAdded(partName: string, instance: any): void {
15 | super.partAdded(partName, instance);
16 | console.log('[INFO] partAdded');
17 |
18 |
19 | }
20 |
21 | protected childrenCreated(): void {
22 | super.childrenCreated();
23 | console.log('[INFO] childrenCreated');
24 | }
25 | public show(context: egret.DisplayObjectContainer, message: string, OKListener?: Function, title?: string, cancleListener?: Function) {
26 | context.addChild(this);
27 | message && (this.message.text = message);
28 | title && (this.title.text = title);
29 | this.setOKListener(OKListener);
30 | this.setCancleListener(cancleListener);
31 | return this;
32 |
33 | }
34 | public hide() {
35 | this.parent && this.parent.removeChild(this);
36 | }
37 | public setOKListener(cb) {
38 | this.OK.addEventListener(egret.TouchEvent.TOUCH_TAP, function (e: egret.TouchEvent) {
39 | this.hide();
40 | return cb&&cb();
41 | }.bind(this), this.OK);
42 | }
43 | public setCancleListener(cb) {
44 | this.Cancle.addEventListener(egret.TouchEvent.TOUCH_TAP, function (e: egret.TouchEvent) {
45 | this.hide();
46 | return cb&&cb();
47 | }.bind(this), this.OK);
48 | }
49 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/util/AnimaUtil.ts:
--------------------------------------------------------------------------------
1 | class AnimaUtil {
2 | public static showMoive(frameName: string, container: egret.DisplayObjectContainer, playerCompleteCallback?: Function, isRemoveAfterComplete?: boolean, isLoop?: boolean, x?, y?, width?, high?):egret.MovieClip {
3 | var BombData = RES.getRes(frameName + "_mc_json");
4 | var BombTxtr = RES.getRes(frameName + "_tex_png");
5 | var mcFactory: egret.MovieClipDataFactory = new egret.MovieClipDataFactory(BombData, BombTxtr);
6 | var behavior2 = new egret.MovieClip(mcFactory.generateMovieClipData(frameName));
7 | behavior2.x = x ? x : 0;
8 | behavior2.y = y ? y : 0;
9 | behavior2.width = width ? width : container.width;
10 | behavior2.height = high ? high : container.height;
11 | behavior2.anchorOffsetX = -1 * behavior2.width / 2;
12 | behavior2.anchorOffsetY = -1 * behavior2.height / 2;
13 | behavior2.name = container ? container.name : frameName;
14 | container && container.addChild(behavior2);
15 | behavior2.addEventListener(isLoop ? egret.Event.LOOP_COMPLETE : egret.Event.COMPLETE, function (e: egret.Event): void {
16 | console.log('[INFO] loop con');
17 | if (isRemoveAfterComplete && isLoop == false) {
18 | container && container.removeChild(behavior2);
19 | }
20 | playerCompleteCallback && playerCompleteCallback(frameName);
21 | }, behavior2);
22 | behavior2.gotoAndPlay(0, isLoop ? -1 : 1);
23 | return behavior2;
24 | }
25 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/util/JSUtil.ts:
--------------------------------------------------------------------------------
1 | class JSUtil {
2 | public constructor() {
3 | }
4 | public static isArray(value) {
5 | if (typeof Array.isArray === "function") {
6 | return Array.isArray(value);
7 | } else {
8 | return Object.prototype.toString.call(value) === "[object Array]";
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/Basic/src/efinal/util/UriUtil.ts:
--------------------------------------------------------------------------------
1 | class UriUtil {
2 | public constructor() {
3 | }
4 | public static getRequestPars(): Object {
5 | var url = location.search; //获取url中"?"符后的字串
6 | var theRequest = new Object();
7 | if (url.indexOf("?") != -1) {
8 | var str: string = url.substr(1);
9 | var strs = str.split("&");
10 | for (var i = 0; i < strs.length; i++) {
11 | theRequest[strs[i].split("=")[0]] = decodeURIComponent(strs[i].split("=")[1]);
12 | }
13 | }
14 | return theRequest;
15 | }
16 | }
--------------------------------------------------------------------------------
/Basic/src/scene/Game.ts:
--------------------------------------------------------------------------------
1 | class Game extends BaseScene implements eui.UIComponent {
2 | private that: any = this;
3 | private loading: Loading;
4 | private xy: eui.Label;
5 |
6 | private vj: VirtualJoystick = new VirtualJoystick(); //虚拟摇杆
7 |
8 |
9 | private player: egret.DisplayObject; //人物
10 | private speedX = 0; //人物移动速度
11 | private speedY = 0;
12 | private speed = 10;
13 |
14 |
15 | public constructor() {
16 | super();
17 | }
18 | public menuAnimation: egret.tween.TweenGroup;
19 |
20 | public onCreated() {
21 | super.onCreated();
22 | this.loading = Loading.create(this);
23 | // this.addChild(this.vj);
24 | // this.vj.addEventListener("vj_start", this.onStart, this);
25 | // this.vj.addEventListener("vj_move", this.onChange, this);
26 | // this.vj.addEventListener("vj_end", this.onEnd, this);
27 | }
28 |
29 |
30 | public onClick(name: string, v: egret.DisplayObject) {
31 | if (name == "n1") {
32 | var xy = (this.parent).randomMove();
33 |
34 | Toast.show("随机传送到(" + xy.x + "," + xy.y + ")");
35 | this.xy.text = xy.x + "," + xy.y;
36 | } else if (name == "n2") {
37 | var xy = (this.parent).goSafeArea();
38 | this.xy.text = xy.x + "," + xy.y;
39 | Toast.show("回程(" + xy.x + "," + xy.y + ")");
40 | }else{
41 | SceneManager.back();
42 | }
43 |
44 | return true;
45 | } //摇杆启动,人物开始根据摇杆移动
46 | private onStart() {
47 | this.addEventListener(egret.Event.ENTER_FRAME, this.onEnterFrame, this);
48 | }
49 |
50 | //触摸摇杆的角度改变,人物的移动速度方向也随之改变
51 | private onChange(e: egret.Event) {
52 | var angle = e.data;
53 | // this.speedX = Math.cos(angle) * this.speed;
54 | // this.speedY = Math.sin(angle) * this.speed;
55 | }
56 |
57 | //停止摇杆,人物停止移动
58 | private onEnd() {
59 | this.removeEventListener(egret.Event.ENTER_FRAME, this.onEnterFrame, this);
60 | }
61 |
62 | //每帧更新,人物移动
63 | private onEnterFrame() {
64 | // this.player.x += this.speedX;
65 | // this.player.y += this.speedY;
66 | }
67 | }
--------------------------------------------------------------------------------
/Basic/src/scene/UIChrSel.ts:
--------------------------------------------------------------------------------
1 | class UIChrSel extends BaseScene {
2 | public g_chrsel: eui.Group;
3 | public i_chrsel: eui.Image;
4 | public t_game_name: eui.Label;
5 | public g_player_info: eui.Group;
6 | public et_player_name: eui.EditableText;
7 | public b_player_warrior: eui.Button;
8 | public b_player_wizard: eui.Button;
9 | public b_player_taoist: eui.Button;
10 | public b_player_woman: eui.Button;
11 | public b_player_man: eui.Button;
12 | public b_player_sumbit: eui.Button;
13 | public g_player_apparence: eui.Group;
14 | public t_player_name1: eui.Label;
15 | public t_player_job1: eui.Label;
16 | public t_player_level1: eui.Label;
17 | public t_player_name0: eui.Label;
18 | public t_player_job0: eui.Label;
19 | public t_player_level0: eui.Label;
20 | public b_start: eui.Button;
21 |
22 |
23 | public constructor() {
24 | super();
25 | }
26 | public onShow(): void {
27 | this.showPlayer(this.ApparenceMap[this.selecIndexSex][this.selecIndexJob]);
28 | Music.play("sellect-loop2_wav", true);
29 | }
30 | public onHide() {
31 | Music.stop("sellect-loop2_wav");
32 | }
33 | private ApparenceMap = [
34 | [
35 | ["ChrSel_warrior_rise", "ChrSel_warrior", "ChrSel_rise"],
36 | ["ChrSel_wizard_rise", "ChrSel_wizard", "ChrSel_rise"],
37 | ["ChrSel_Taoist_rise", "ChrSel_Taoist", "ChrSel_rise"],
38 | ],
39 | [
40 | ["ChrSel_warrior_rise_women", "ChrSel_warrior_woman", "ChrSel_rise"],
41 | ["ChrSel_wizard_rise_women", "ChrSel_wizard_women", "ChrSel_rise"],
42 | ["ChrSel_Taoist_rise_women", "ChrSel_Taoist_women", "ChrSel_rise"],
43 | ]
44 | ]
45 |
46 | private showPlayer(animaArray) {
47 | this.g_player_apparence.removeChildren();
48 | var apparence = AnimaUtil.showMoive(animaArray[0], this.g_player_apparence, function () {
49 | AnimaUtil.showMoive(animaArray[1], this.g_player_apparence, function () {
50 | }.bind(this), false, true);
51 | }.bind(this), true, false);
52 | apparence.stop();
53 | AnimaUtil.showMoive(animaArray[2], this.g_player_apparence, function () {
54 | apparence.gotoAndPlay(0, 1);
55 | }.bind(this), true, false);
56 | Music.play("HeroLogin_wav");
57 | }
58 | private selecIndexJob: number = 0;
59 | private selecIndexSex: number = 0;
60 | public onClick(name: string, v: egret.DisplayObject) {
61 | super.onClick(name,v);
62 | switch (v) {
63 | case this.b_start:
64 | SceneManager.showScene(Game);
65 | return;
66 | case this.b_player_warrior:
67 | this.selecIndexJob = 0;
68 | break;
69 | case this.b_player_wizard:
70 | this.selecIndexJob = 1;
71 | break;
72 | case this.b_player_taoist:
73 | this.selecIndexJob = 2;
74 | break;
75 | case this.b_player_woman:
76 | this.selecIndexSex = 1;
77 | break;
78 | case this.b_player_man:
79 | this.selecIndexSex = 0;
80 | break;
81 | default:
82 | return;
83 | }
84 | this.showPlayer(this.ApparenceMap[this.selecIndexSex][this.selecIndexJob]);
85 |
86 | }
87 | }
--------------------------------------------------------------------------------
/Basic/src/scene/UILogin.ts:
--------------------------------------------------------------------------------
1 | class UILogin extends BaseScene {
2 |
3 | public g_account_password: eui.Group;
4 | public i_bg: eui.Image;
5 | public i_account_password: eui.Image;
6 | public b_sumbit: eui.Button;
7 | public b_reg: eui.Button;
8 | public b_reg0: eui.Button;
9 | public et_account: eui.EditableText;
10 | public et_password: eui.EditableText;
11 | public i_fg: eui.Image;
12 | public c_sound: eui.CheckBox;
13 | public g_door: eui.Group;
14 | public g_door_open: eui.Group;
15 | public g_password_modify: eui.Group;
16 | public i_password_modify: eui.Image;
17 | public g_protocol: eui.Group;
18 | public i_protocol: eui.Image;
19 | public g_reg_input: eui.Group;
20 | public i_reg_input: eui.Image;
21 | public b_reg_cancel: eui.Button;
22 | public b_reg_sumbit: eui.Button;
23 |
24 | public constructor() {
25 | super();
26 | }
27 |
28 | public onCreated(): void {
29 | Music.play("Field2_wav");
30 | }
31 | public onClick(name: string, v: egret.DisplayObject) {
32 | super.onClick(name,v);
33 | switch (v) {
34 | case this.b_sumbit:
35 | Toast.show(name);
36 | this.switchViewGroup(this.g_door);
37 | AnimaUtil.showMoive("ChrSel_door", this.g_door_open, function () {
38 | this.afterDoor();
39 | }.bind(this));
40 | Music.play("OpenDoor_wav");
41 | break;
42 | case this.c_sound:
43 | Music.isMute = this.c_sound.selected;
44 | if (Music.isMute) {
45 | Music.stop("Field2_wav");
46 | } else {
47 | Music.play("Field2_wav");
48 | }
49 | break;
50 | default:
51 | console.log("[BaseScene] No Handler for click " + name);
52 | break;
53 | }
54 | }
55 | private afterDoor() {
56 | Music.stop("Field2_wav");
57 | SceneManager.showScene(UIChrSel, null, false);
58 | }
59 |
60 | public switchViewGroup(v: egret.DisplayObject) {
61 | for (var i = 0; i < this.numChildren; i++) {
62 | this.getChildAt(i).visible = false;
63 | }
64 | v && (v.visible = true);
65 | }
66 | }
--------------------------------------------------------------------------------
/Basic/src/tilemap/Tile.ts:
--------------------------------------------------------------------------------
1 | class Tile {
2 | public id: number;
3 | public image: TileImage;
4 | public constructor() {
5 | }
6 |
7 | public static creatByXML(tileSet: TileSet, node: any) {
8 | var o: any = new Tile();
9 | o["id"] = Number(tileSet.firstgid) + Number(node.$id) ;
10 | o["image"] = TileImage.creatByXML(o, node.children[0]);
11 | // console.log('[INFO] tileset: ' + o.id);
12 | return o;
13 | }
14 | }
--------------------------------------------------------------------------------
/Basic/src/tilemap/TileImage.ts:
--------------------------------------------------------------------------------
1 | class TileImage {
2 | public width: number;
3 | public height: number;
4 | public source: string;
5 | public x: number;
6 | public y: number;
7 | public constructor(a1, a2, a3) {
8 | this.width = a1;
9 | this.height = a2;
10 | this.source = a3;
11 | }
12 |
13 | public static creatByXML(map: Tile, node: any) {
14 | var o: any = new TileImage(Number(node.$width),Number(node.$height),node.$source);
15 | // console.log('[INFO] tileset: ' + o.source);
16 | return o
17 | }
18 | }
--------------------------------------------------------------------------------
/Basic/src/tilemap/TileLayer.ts:
--------------------------------------------------------------------------------
1 | class TileLayer {
2 |
3 | public width: number;
4 | public height: number;
5 | public name: string;
6 | public data = { "encoding": "", "text": "", "dataArr": [] };
7 | public constructor() {
8 | }
9 | public static creatByXML(map: TileMap, node: any) {
10 | var layer: any = new TileLayer();
11 | layer["width"] = Number(node.$width);
12 | layer["height"] = Number(node.$height);
13 | layer["name"] = node.$name;
14 | layer["data"] = {};
15 | layer["data"]["encoding"] = node.children[0].$encoding;
16 | layer["data"]["text"] = node.children[0].children[0].text;
17 | if (layer.data.encoding == "csv"&&layer["data"]["text"]) {
18 | layer["data"]["dataArr"] = layer["data"]["text"].split(",");
19 |
20 | }
21 | console.log('[INFO] layer: ' + layer.name);
22 | return layer;
23 | }
24 | }
--------------------------------------------------------------------------------
/Basic/src/tilemap/TileSet.ts:
--------------------------------------------------------------------------------
1 | class TileSet {
2 | public firstgid: number;
3 | public lastgid: number;
4 | public source: string;
5 | public tileArr: Tile[] = [];
6 | public constructor() {
7 | }
8 |
9 | public static creatByXML(map: TileMap, node: any, callback?: Function) {
10 | var tileset: any = new TileSet();
11 | tileset["firstgid"] = Number(node.$firstgid);
12 | tileset["source"] = node.$source;
13 | console.log('[INFO] tileset: ' + tileset.source);
14 |
15 | var source: string = tileset["source"];
16 | if (source.indexOf(".tsx") > 0) {
17 | FileLoader.loadXML(map.baseURL + source, function (xml: egret.XML) {
18 | for (var i = 0; i < xml.children.length; i++) {
19 | if ((xml.children[i]).name == "tile") {
20 | tileset.tileArr.push(Tile.creatByXML(tileset, xml.children[i]));
21 | }
22 | }
23 | tileset.lastgid = tileset.firstgid + tileset.tileArr.length;
24 | console.log("[INFO] parse " + source + ", the Tile count:" + tileset.tileArr.length);
25 | callback(tileset);
26 | }.bind(this));
27 | }
28 | return tileset;
29 | }
30 | }
--------------------------------------------------------------------------------
/Basic/template/runtime/native_loader.js:
--------------------------------------------------------------------------------
1 | require("launcher/native_require.js");
2 |
3 | egret_native.egtMain = function () {
4 | egret_native.nativeType = "native";
5 |
6 | egret_native.egretInit();
7 | egret_native.egretStart();
8 | };
9 |
--------------------------------------------------------------------------------
/Basic/template/runtime/native_require.js:
--------------------------------------------------------------------------------
1 | var manifest = JSON.parse(egret_native.readFileSync("manifest.json"));
2 | var game_file_list = manifest.initial.concat(manifest.game);
3 |
4 | var window = this;
5 |
6 | egret_native.setSearchPaths([""]);
7 |
8 | egret_native.requireFiles = function () {
9 | for (var key in game_file_list) {
10 | var src = game_file_list[key];
11 | require(src);
12 | }
13 | };
14 |
15 | egret_native.egretInit = function () {
16 | if(egret_native.featureEnable) {
17 | //控制一些优化方案是否开启
18 | //Control whether some optimization options are open
19 | var result = egret_native.featureEnable({
20 |
21 | });
22 | }
23 | egret_native.requireFiles();
24 | egret.dom = {};
25 | egret.dom.drawAsCanvas = function () {
26 | };
27 | };
28 |
29 | egret_native.egretStart = function () {
30 | var option = {
31 | //以下为自动修改,请勿修改
32 | //The following is automatically modified, please do not modify
33 | //----auto option start----
34 | entryClassName: "Main",
35 | frameRate: 30,
36 | scaleMode: "showAll",
37 | contentWidth: 800,
38 | contentHeight: 600,
39 | showPaintRect: false,
40 | showFPS: false,
41 | fpsStyles: "x:0,y:0,size:12,textColor:0xffffff,bgAlpha:0.9",
42 | showLog: false,
43 | logFilter: "",
44 | maxTouches: 2,
45 | textureScaleFactor: 1
46 | //----auto option end----
47 | };
48 |
49 | egret.native.NativePlayer.option = option;
50 | egret.runEgret();
51 | egret_native.Label.createLabel("/system/fonts/DroidSansFallback.ttf", 20, "", 0);
52 | egret_native.EGTView.preSetOffScreenBufferEnable(true);
53 | };
--------------------------------------------------------------------------------
/Basic/template/runtime/runtime_loader.js:
--------------------------------------------------------------------------------
1 | require("launcher/native_require.js");
2 |
3 | egret_native.egtMain = function () {
4 | egret_native.nativeType = "runtime";
5 |
6 | egret_native.egretInit();
7 | egret_native.egretStart();
8 | };
--------------------------------------------------------------------------------
/Basic/template/web/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Egret
7 |
8 |
9 |
10 |
11 |
12 |
13 |
23 |
24 |
25 |
26 |
37 |
38 |
94 |
95 |
96 |
--------------------------------------------------------------------------------
/Basic/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "outDir": "bin-debug",
5 | "experimentalDecorators": true,
6 | "lib": [
7 | "es5",
8 | "dom",
9 | "es2015.promise"
10 | ],
11 | "types": []
12 | },
13 | "include": [
14 | "src",
15 | "libs"
16 | ]
17 | }
--------------------------------------------------------------------------------
/Basic/wingProperties.json:
--------------------------------------------------------------------------------
1 | {
2 | "resourcePlugin":{
3 | "configs":[{
4 | "configPath":"resource/default.res.json",
5 | "relativePath":"resource/"
6 | }]
7 | },
8 | "theme":"resource/default.thm.json"
9 | }
--------------------------------------------------------------------------------
/ScreenShot_ChrSel.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/ScreenShot_ChrSel.gif
--------------------------------------------------------------------------------
/libs/umsp/umsp.d.ts:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | *
4 | * @constructor
5 | */
6 | declare function LocalStore_Clear();
7 |
8 | /**
9 | *
10 | * @param {string} key
11 | * @param {string} value
12 | * @constructor
13 | */
14 | declare function LocalStore_Save(key:string,value:string);
15 |
16 |
17 | declare class User {
18 | constructor(userID:any, gameID:any, nickName:string);
19 | public userID :number;
20 | public gameID :number;
21 | public token:string;
22 | public nickName:string;
23 | public matchExtInfo:string;
24 | public accessFlag:number;
25 | }
26 |
27 | declare class Match {
28 | constructor(matchType:number);
29 | public matchType:number;
30 | public roomName:string;
31 | public roomPassword:string;
32 | public roomTag:string;
33 | public matchServiceIndex:number;
34 | public wantToMatchUser:User;
35 | public maxUserCount:number;
36 | }
37 |
38 | declare class UmspClient {
39 |
40 |
41 | constructor();
42 |
43 | /**
44 | *
45 | * @param {string} cb , function
46 | * @param {string} envir , default is 'LocalConf'
47 | * @constructor
48 | */
49 | login(userID:any, token:string, gameID:any, cb, gateWayNetWorkListener, envir?:string );
50 |
51 | match(matchResultListener, roomUserChangedListener, roomServiceNetWorkListener,match,broadcast);
52 |
53 | getVersion():string;
54 | disConnect();
55 | broadcast(data:string) ;
56 | }
57 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # PK
2 |
3 | #### Description
4 |
5 | 使用H5(JavaScript)+Java技术实现的 **热血传奇** MMORPG游戏.
6 |
7 | 此项目分为服务端和客户端,实现的功能包括角色移动,装备穿脱掉落,PVP/PVE打怪PK升级杀人,NPC交互,商店买卖,好友,任务,副本,擂台天梯匹配
8 |
9 | 服务端是`umsp`(Java) (https://gitee.com/geliang/Umsp-netty)
10 |
11 | 客户端是 Egret(JavaScript)
12 |
13 | > 开发日记:http://fluttergo.com/PK/0
14 |
15 |
16 | 因客户端文件有几个G,github仓库经常同步失败,故将仓库移动至gitee:
17 | > https://gitee.com/geliang/PK.git
18 |
19 |
20 | ## Demo体验
21 |
22 | 在线体验:
23 |
24 | 离线体验:
25 |
26 | 
27 |
28 |
29 |
30 |
31 |
32 | ## 加入一起
33 |
34 | 对此项目有兴趣的朋友可以加QQ群:714472073
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_Taoist.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_Taoist.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_Taoist_rise.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_Taoist_rise.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_Taoist_rise_women.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_Taoist_rise_women.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_Taoist_women.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_Taoist_women.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_door.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_door.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_rise.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_rise.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_warrior.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_warrior.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_warrior_rise.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_warrior_rise.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_warrior_rise_women.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_warrior_rise_women.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_warrior_woman.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_warrior_woman.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_wizard.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_wizard.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_wizard_rise.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_wizard_rise.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_wizard_rise_women.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_wizard_rise_women.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/ChrSel_wizard_women.dbproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/ChrSel_wizard_women.dbproj
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/10.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/100.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/101.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/101.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/102.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/102.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/103.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/103.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/104.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/104.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/105.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/105.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/106.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/106.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/107.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/107.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/108.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/108.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/109.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/109.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/11.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/110.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/110.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/111.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/111.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/112.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/112.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/12.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/120.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/121.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/121.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/122.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/122.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/123.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/123.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/124.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/124.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/125.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/126.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/126.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/127.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/127.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/128.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/129.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/129.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/13.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/130.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/130.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/131.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/131.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/132.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/132.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/133.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/133.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/134.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/134.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/135.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/135.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/14.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/140.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/140.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/141.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/141.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/142.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/142.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/143.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/143.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/144.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/145.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/145.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/146.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/146.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/147.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/147.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/148.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/148.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/149.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/149.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/15.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/150.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/151.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/151.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/152.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/16.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/160.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/160.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/161.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/161.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/162.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/162.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/163.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/163.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/164.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/164.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/165.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/165.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/166.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/166.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/167.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/168.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/168.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/169.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/169.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/17.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/170.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/170.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/171.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/171.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/172.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/173.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/173.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/174.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/174.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/175.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/175.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/180.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/181.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/181.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/182.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/182.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/183.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/183.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/184.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/184.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/185.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/185.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/186.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/186.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/187.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/187.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/188.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/188.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/189.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/189.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/190.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/190.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/191.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/191.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/192.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/200.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/201.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/201.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/202.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/202.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/203.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/203.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/204.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/204.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/205.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/205.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/206.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/206.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/207.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/207.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/208.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/208.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/209.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/209.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/210.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/210.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/211.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/211.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/212.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/212.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/213.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/213.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/214.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/214.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/215.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/215.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/22.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/220.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/220.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/221.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/221.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/222.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/222.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/223.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/223.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/224.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/224.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/225.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/225.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/226.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/226.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/227.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/227.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/228.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/228.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/229.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/229.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/23.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/230.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/230.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/231.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/231.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/232.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/232.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/24.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/240.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/241.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/241.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/242.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/242.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/243.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/243.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/244.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/244.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/245.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/245.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/246.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/246.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/247.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/247.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/248.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/248.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/249.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/249.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/25.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/250.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/250.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/251.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/251.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/252.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/252.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/253.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/253.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/254.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/254.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/255.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/255.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/26.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/260.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/260.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/261.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/261.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/262.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/262.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/263.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/263.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/264.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/264.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/265.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/265.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/266.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/266.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/267.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/267.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/268.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/268.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/269.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/269.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/27.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/270.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/270.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/271.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/271.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/272.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/272.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/28.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/29.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/30.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/31.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/32.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/4.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/40.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/41.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/41.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/42.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/42.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/43.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/43.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/44.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/44.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/45.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/45.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/46.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/47.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/48.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/49.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/49.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/5.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/50.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/51.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/51.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/52.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/52.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/53.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/53.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/54.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/54.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/55.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/6.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/60.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/61.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/61.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/62.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/62.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/63.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/63.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/64.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/65.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/65.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/66.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/66.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/67.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/67.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/68.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/68.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/69.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/69.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/7.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/70.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/71.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/71.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/72.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/8.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/80.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/81.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/81.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/82.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/82.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/83.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/83.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/84.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/84.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/85.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/85.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/86.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/87.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/88.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/89.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/89.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/9.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/90.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/90.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/91.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/91.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/92.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/92.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/93.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/93.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/94.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/94.png
--------------------------------------------------------------------------------
/res/DragonBonesProject/ChrSel/library/95.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluttergo/mir2-client-js/695c237376f770d0e7a4fd5e1dfe15f7ea426589/res/DragonBonesProject/ChrSel/library/95.png
--------------------------------------------------------------------------------