Commit 15c7ed9a authored by 李维's avatar 李维

迁移项目

hy_picture_read
parent c1c3a208
No preview for this file type
...@@ -57,25 +57,10 @@ npm start ...@@ -57,25 +57,10 @@ npm start
* 下载模板调试专用app * 下载模板调试专用app
安卓下载:
http://download-iplayabc.oss-cn-beijing.aliyuncs.com/iDebugABC.apk http://download-iplayabc.oss-cn-beijing.aliyuncs.com/iDebugABC.apk
![avatar](http://staging-teach.cdn.ireadabc.com/084f2f95-8213-4c5a-8c46-b194819d7677.png) ![avatar](http://staging-teach.cdn.ireadabc.com/084f2f95-8213-4c5a-8c46-b194819d7677.png)
iOS下载:
由于调试APP没有上架App Store 所以需要先获取手机的UDID 发送给我们的技术支持,加入后才可以扫码下载安装
获取UDID:https://www.pgyer.com/tools/udid
下载iOS: https://www.pgyer.com/gS0X
有时可能需要反复调试一些功能性的问题,与原生APP相关或者手上临时没有设备,我们提供了一个网页版的调试方式
http://staging-openapi.iteachabc.com/api/courseware/v1/middle/debug
* 启动本地服务 * 启动本地服务
``` ```
...@@ -90,6 +75,5 @@ npm start ...@@ -90,6 +75,5 @@ npm start
### 注意事项及常见问题 ### 注意事项及常见问题
* 项目里所有文件及文件夹的命名方式要注意不能包含空格、汉字、减号 * 项目里所有文件及文件夹的命名方式要注意不能包含空格、汉字、减号
* 开发者新建的脚本文件(.js/.ts)的文件名必须包含项目名称,例如在 test_01 项目中添加一个脚本文件(如想命名为 hello.ts );则需要命名为 hello_test_01.ts
* 项目里尽量不要使用setTimeout、setInterval等定时器,如果使用了记得在onDestroy中释放掉(onDestroy 是指CocosCreator的生命周期钩子) * 项目里尽量不要使用setTimeout、setInterval等定时器,如果使用了记得在onDestroy中释放掉(onDestroy 是指CocosCreator的生命周期钩子)
* 理论上禁止使用全局变量,因为模板到线上会进行组装,常见问题是一个模板使用多次造成全局变量被读脏 * 理论上禁止使用全局变量,因为模板到线上会进行组装,常见问题是一个模板使用多次造成全局变量被读脏
{ {
"ver": "1.1.2", "ver": "1.1.2",
"uuid": "c35bb2f6-f24a-4850-ae44-643f2fdc7541", "uuid": "e4e63278-7d5c-4471-9108-a1307c915c30",
"isBundle": false, "isBundle": false,
"bundleName": "", "bundleName": "",
"priority": 1, "priority": 1,
......
{
"ver": "1.1.2",
"uuid": "fe8e2784-b232-4270-b0d7-5d107d02479f",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{
"__type__": "cc.AnimationClip",
"_name": "voice",
"_objFlags": 0,
"_native": "",
"_duration": 1.0166666666666666,
"sample": 60,
"speed": 1,
"wrapMode": 2,
"curveData": {
"comps": {
"cc.Sprite": {
"spriteFrame": [
{
"frame": 0,
"value": {
"__uuid__": "d033e503-15ff-486c-a366-410877dc10a4"
}
},
{
"frame": 0.3333333333333333,
"value": {
"__uuid__": "24a1c243-6eaf-42f2-b5d5-582346af34ec"
}
},
{
"frame": 0.6666666666666666,
"value": {
"__uuid__": "97b1229d-76ee-40f8-8243-165637164443"
}
},
{
"frame": 1,
"value": {
"__uuid__": "d033e503-15ff-486c-a366-410877dc10a4"
}
}
]
}
}
},
"events": []
}
\ No newline at end of file
{
"ver": "2.1.0",
"uuid": "52301d75-6747-483f-a35e-93abce0ff58a",
"subMetas": {}
}
\ No newline at end of file
{ {
"ver": "1.1.2", "ver": "1.1.2",
"uuid": "cb9fa4ea-66ca-45af-ad31-e445c7b0ef32", "uuid": "df250ae2-615a-44e4-a1a9-ef4d5e0ffb31",
"isBundle": false, "isBundle": false,
"bundleName": "", "bundleName": "",
"priority": 1, "priority": 1,
......
{ {
"ver": "2.0.1", "ver": "2.0.1",
"uuid": "f0680ae0-c079-45ef-abd7-9e63d90b982b", "uuid": "c59c372c-77b4-4260-b37d-6b7c21033de9",
"downloadMode": 0, "downloadMode": 0,
"duration": 0.130612, "duration": 0.130612,
"subMetas": {} "subMetas": {}
......
{
"ver": "2.0.1",
"uuid": "7da77bbf-4882-4118-94ec-73565cab742b",
"downloadMode": 0,
"duration": 2.951813,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "ec85759a-4209-4918-9dec-4521d905d08f",
"downloadMode": 0,
"duration": 1.436735,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "a8b82a73-eb4a-4d3b-9413-c34cc1cb820e",
"downloadMode": 0,
"duration": 2.951813,
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.0.1",
"uuid": "f0bdc559-ee6b-4ea7-ab75-fc59cdd82a42",
"downloadMode": 0,
"duration": 3.056313,
"subMetas": {}
}
\ No newline at end of file
{ {
"ver": "1.1.2", "ver": "1.1.2",
"uuid": "0853721c-3f55-4eb2-873d-e3081cfadd4b", "uuid": "1de8fc5a-b9cb-47cb-85cd-aa2fa796c39b",
"isBundle": false, "isBundle": false,
"bundleName": "", "bundleName": "",
"priority": 1, "priority": 1,
......
This diff is collapsed.
{
"ver": "1.0.1",
"uuid": "a89e9ea1-a7d7-432a-9843-9daf2af67eac",
"subMetas": {}
}
\ No newline at end of file
{"width":2048,"SubTexture":[{"width":161,"y":1849,"height":162,"name":"翅膀_左3","x":508},{"width":161,"y":440,"height":162,"name":"翅膀_左2","x":1864},{"width":160,"y":1849,"height":162,"name":"翅膀_左1","x":834},{"width":161,"y":604,"height":162,"name":"翅膀_右3","x":1864},{"width":161,"y":1849,"height":162,"name":"翅膀_右2","x":671},{"width":160,"y":723,"height":162,"name":"翅膀_右1","x":1532},{"width":391,"y":1,"height":437,"name":"菱形","x":1532},{"width":330,"y":440,"height":281,"name":"虎头Excellent","x":1532},{"width":505,"y":1849,"height":151,"name":"Excellent","x":1},{"width":45,"y":39,"height":30,"name":"糖1","x":2000},{"width":41,"y":1,"height":36,"name":"糖2","x":2000},{"width":39,"y":1,"height":61,"name":"糖3","x":1925},{"width":32,"y":1,"height":49,"name":"糖4","x":1966},{"width":19,"y":80,"height":25,"name":"糖5","x":1952},{"width":26,"y":52,"height":26,"name":"糖6","x":1966},{"width":20,"y":107,"height":24,"name":"糖7","x":2021},{"width":15,"y":91,"height":16,"name":"糖8","x":1925},{"width":15,"y":80,"height":16,"name":"糖9","x":1973},{"width":15,"y":98,"height":16,"name":"糖10","x":1973},{"width":25,"y":80,"height":25,"name":"糖11","x":2021},{"width":25,"y":71,"height":25,"name":"糖12","x":1994},{"width":25,"y":64,"height":25,"name":"糖13","x":1925},{"width":50,"y":2002,"height":27,"name":"糖14","x":1},{"width":862,"y":985,"height":862,"name":"光4","x":1},{"frameX":-164,"y":1,"frameY":-74,"frameWidth":1920,"width":1529,"frameHeight":1080,"height":982,"name":"光","x":1}],"height":2048,"name":"Excellent","imagePath":"Excellent_tex.png"}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "1b563bf1-3619-4f8d-9164-0d6798001a5a",
"subMetas": {}
}
\ No newline at end of file
This diff is collapsed.
{
"ver": "2.3.5",
"uuid": "db41aec8-d32f-45d6-beb1-e67b9ab817ac",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 2048,
"height": 2048,
"platformSettings": {},
"subMetas": {
"Excellent_tex": {
"ver": "1.0.4",
"uuid": "9395cbb4-3f49-4eec-be6c-763232622fda",
"rawTextureUuid": "db41aec8-d32f-45d6-beb1-e67b9ab817ac",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 9,
"trimX": 1,
"trimY": 1,
"width": 2045,
"height": 2028,
"rawWidth": 2048,
"rawHeight": 2048,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
This diff is collapsed.
{
"ver": "1.0.1",
"uuid": "a9bc209c-3d39-4648-acac-1abedebb9a49",
"subMetas": {}
}
\ No newline at end of file
{"width":2048,"SubTexture":[{"width":161,"y":440,"height":162,"name":"翅膀_左3","x":1861},{"width":161,"y":604,"height":162,"name":"翅膀_左2","x":1861},{"width":160,"y":722,"height":162,"name":"翅膀_左1","x":1532},{"width":161,"y":1849,"height":162,"name":"翅膀_右3","x":671},{"width":161,"y":1849,"height":162,"name":"翅膀_右2","x":508},{"width":160,"y":1849,"height":162,"name":"翅膀_右1","x":834},{"width":391,"y":1,"height":437,"name":"菱形","x":1532},{"width":327,"y":440,"height":280,"name":"虎头Good_","x":1532},{"width":505,"y":1849,"height":151,"name":"Good_","x":1},{"width":45,"y":39,"height":30,"name":"糖1","x":2000},{"width":41,"y":1,"height":36,"name":"糖2","x":2000},{"width":39,"y":1,"height":61,"name":"糖3","x":1925},{"width":32,"y":1,"height":49,"name":"糖4","x":1966},{"width":19,"y":80,"height":25,"name":"糖5","x":1952},{"width":26,"y":52,"height":26,"name":"糖6","x":1966},{"width":20,"y":107,"height":24,"name":"糖7","x":2021},{"width":15,"y":91,"height":16,"name":"糖8","x":1925},{"width":15,"y":80,"height":16,"name":"糖9","x":1973},{"width":15,"y":98,"height":16,"name":"糖10","x":1973},{"width":25,"y":64,"height":25,"name":"糖11","x":1925},{"width":25,"y":71,"height":25,"name":"糖12","x":1994},{"width":25,"y":80,"height":25,"name":"糖13","x":2021},{"width":50,"y":2002,"height":27,"name":"糖14","x":1},{"width":862,"y":985,"height":862,"name":"光4","x":1},{"frameX":-164,"y":1,"frameY":-74,"frameWidth":1920,"width":1529,"frameHeight":1080,"height":982,"name":"光","x":1}],"height":2048,"name":"Good","imagePath":"Good_tex.png"}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "e3f61642-82bc-4d0f-bb8f-44c2ab65728e",
"subMetas": {}
}
\ No newline at end of file
This diff is collapsed.
{
"ver": "2.3.5",
"uuid": "7e50a8b1-62fc-4923-b632-12d58376f5f8",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 2048,
"height": 2048,
"platformSettings": {},
"subMetas": {
"Good_tex": {
"ver": "1.0.4",
"uuid": "58bcf8b6-5078-4a86-843f-7f78f92a3b82",
"rawTextureUuid": "7e50a8b1-62fc-4923-b632-12d58376f5f8",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 9,
"trimX": 1,
"trimY": 1,
"width": 2045,
"height": 2028,
"rawWidth": 2048,
"rawHeight": 2048,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
This diff is collapsed.
{
"ver": "1.0.1",
"uuid": "a631ad46-ef0f-4f9b-bdca-299574817202",
"subMetas": {}
}
\ No newline at end of file
{"width":2048,"SubTexture":[{"width":161,"y":1849,"height":162,"name":"翅膀_左3","x":671},{"width":161,"y":440,"height":162,"name":"翅膀_左2","x":1865},{"width":160,"y":717,"height":162,"name":"翅膀_左1","x":1532},{"width":161,"y":1849,"height":162,"name":"翅膀_右3","x":508},{"width":161,"y":604,"height":162,"name":"翅膀_右2","x":1865},{"width":160,"y":1849,"height":162,"name":"翅膀_右1","x":834},{"width":391,"y":1,"height":437,"name":"菱形","x":1532},{"width":331,"y":440,"height":275,"name":"虎头Try_again","x":1532},{"width":505,"y":1849,"height":151,"name":"Try_again","x":1},{"width":45,"y":39,"height":30,"name":"糖1","x":2000},{"width":41,"y":1,"height":36,"name":"糖2","x":2000},{"width":39,"y":1,"height":61,"name":"糖3","x":1925},{"width":32,"y":1,"height":49,"name":"糖4","x":1966},{"width":19,"y":80,"height":25,"name":"糖5","x":1952},{"width":26,"y":52,"height":26,"name":"糖6","x":1966},{"width":20,"y":107,"height":24,"name":"糖7","x":2021},{"width":15,"y":80,"height":16,"name":"糖8","x":1973},{"width":15,"y":98,"height":16,"name":"糖9","x":1973},{"width":15,"y":91,"height":16,"name":"糖10","x":1925},{"width":25,"y":71,"height":25,"name":"糖11","x":1994},{"width":25,"y":64,"height":25,"name":"糖12","x":1925},{"width":25,"y":80,"height":25,"name":"糖13","x":2021},{"width":50,"y":2002,"height":27,"name":"糖14","x":1},{"width":862,"y":985,"height":862,"name":"光4","x":1},{"frameX":-164,"y":1,"frameY":-74,"frameWidth":1920,"width":1529,"frameHeight":1080,"height":982,"name":"光","x":1}],"height":2048,"name":"Try_again","imagePath":"Try_again_tex.png"}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "9a42fec9-4913-4ad6-b166-ac1eeb85cba6",
"subMetas": {}
}
\ No newline at end of file
This diff is collapsed.
{
"ver": "2.3.5",
"uuid": "1ffcc12f-6366-42cc-bc43-b6c4fb7bdc73",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 2048,
"height": 2048,
"platformSettings": {},
"subMetas": {
"Try_again_tex": {
"ver": "1.0.4",
"uuid": "f0a9787c-870d-413c-a0e9-9f6993c7f693",
"rawTextureUuid": "1ffcc12f-6366-42cc-bc43-b6c4fb7bdc73",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 9,
"trimX": 1,
"trimY": 1,
"width": 2045,
"height": 2028,
"rawWidth": 2048,
"rawHeight": 2048,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{"name":"hand","version":"5.5","armature":[{"name":"Armature","ik":[],"bone":[{"name":"root","transform":{}},{"name":"组_2","transform":{"x":256.5,"y":15},"parent":"root"}],"aabb":{"x":-330.5,"height":223,"y":-104,"width":665.5},"defaultActions":[{"gotoAndPlay":"hand"}],"animation":[{"name":"hand","frame":[],"bone":[{"name":"root","rotateFrame":[],"translateFrame":[],"scaleFrame":[]},{"name":"组_2","rotateFrame":[],"translateFrame":[{"tweenEasing":0,"y":56,"duration":10},{"tweenEasing":0,"duration":6},{"tweenEasing":0,"duration":18},{"x":-466.5,"duration":0}],"scaleFrame":[]}],"playTimes":0,"ffd":[],"slot":[{"name":"圆角矩形_2","displayFrame":[{"duration":12,"value":-1},{"duration":22}],"colorFrame":[]},{"name":"组_2","displayFrame":[],"colorFrame":[]}],"ik":[],"duration":34}],"slot":[{"name":"圆角矩形_2","color":{},"parent":"root"},{"name":"组_2","color":{},"z":1,"parent":"组_2"}],"skin":[{"name":"","slot":[{"name":"组_2","display":[{"name":"手势/组_2","transform":{"x":-5.5,"skY":-0.1219,"y":-7.5,"skX":-0.1219},"type":"image","path":"手势/组_2"}]},{"name":"圆角矩形_2","display":[{"name":"手势/圆角矩形_2","transform":{"x":-24,"skY":-0.1219,"y":-80.5,"skX":-0.1219},"type":"image","path":"手势/圆角矩形_2"}]}]}],"frameRate":24,"type":"Armature"}],"frameRate":24,"isGlobal":0}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "cd105062-c428-439c-82bb-77710db4bc5b",
"subMetas": {}
}
\ No newline at end of file
{"name":"hand","imagePath":"hand_tex.png","SubTexture":[{"name":"手势/圆角矩形_2","x":171,"height":32,"y":1,"width":613},{"name":"手势/组_2","x":1,"height":223,"y":1,"width":168}],"height":256,"width":1024}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "453e22d7-698b-4214-92cb-5decdc644730",
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "f9cb5c6d-2272-435f-9d69-5c77c0d4659e",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1024,
"height": 256,
"platformSettings": {},
"subMetas": {
"hand_tex": {
"ver": "1.0.4",
"uuid": "975b6a3a-d8b9-4a67-9a3e-a18c1aae8fc5",
"rawTextureUuid": "f9cb5c6d-2272-435f-9d69-5c77c0d4659e",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -119.5,
"offsetY": 15.5,
"trimX": 1,
"trimY": 1,
"width": 783,
"height": 223,
"rawWidth": 1024,
"rawHeight": 256,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{"frameRate":24,"name":"录音中","version":"5.5","compatibleVersion":"5.5","armature":[{"type":"Armature","frameRate":24,"name":"armatureName","aabb":{"x":-80.5,"y":-161,"width":161,"height":161},"bone":[{"name":"root"},{"length":61,"name":"图层_1","parent":"root","transform":{"y":-83.15,"skX":-0.3723,"skY":-0.3723}},{"length":17,"name":"1","parent":"root","transform":{"x":-25.65,"y":-81.95,"skX":-90,"skY":-90}},{"length":33,"name":"3","parent":"root","transform":{"x":24.45,"y":-77.05,"skX":-90,"skY":-90}},{"length":16,"name":"2","parent":"root","transform":{"x":-0.55,"y":-80.4,"skX":-89.3034,"skY":-89.3034}}],"slot":[{"name":"图层_1","parent":"图层_1"},{"name":"3","parent":"3"},{"name":"2","parent":"2"},{"name":"1","parent":"1"}],"skin":[{"slot":[{"name":"3","display":[{"type":"mesh","name":"3","width":11,"height":68,"vertices":[20.35,-114,17.5,-110.85,17.5,-107.95,17.5,-52.6,17.5,-48.85,20.75,-46,25.55,-46,28.5,-48.9,28.5,-52.75,28.5,-107.95,28.5,-111.15,25.55,-114],"uvs":[0.25909,0,0,0.04632,0,0.08897,0,0.90294,0,0.95809,0.29545,1,0.73182,1,1,0.95735,1,0.90074,1,0.08897,1,0.04191,0.73182,0],"triangles":[0,2,11,2,3,8,5,6,8,3,5,8,8,6,7,2,8,9,10,11,9,11,2,9,3,4,5,1,2,0],"weights":[1,3,1,1,3,1,1,3,1,1,3,1,1,3,1,1,3,1,1,3,1,1,3,1,1,3,1,1,3,1,1,3,1,1,3,1],"slotPose":[1,0,0,1,0,0],"bonePose":[3,0,-1,1,0,24.45,-77.05],"edges":[0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,0],"userEdges":[]}]},{"name":"2","display":[{"type":"mesh","name":"2","width":11,"height":33,"vertices":[-3.3,-98,-6.5,-95.7,-6.5,-93.1,-6.5,-71.3,-6.5,-66.7,-3.9,-65,1.5,-65,4.5,-67.4,4.5,-71.6,4.5,-92.7,4.5,-95.5,1.3,-98],"uvs":[0.29091,0,0,0.0697,0,0.14848,0,0.80909,0,0.94848,0.23636,1,0.72727,1,1,0.92727,1,0.8,1,0.16061,1,0.07576,0.70909,0],"triangles":[0,2,11,3,6,8,8,6,7,3,8,9,2,3,9,10,11,9,11,2,9,3,5,6,3,4,5,1,2,0],"weights":[1,4,1,1,4,1,1,4,1,1,4,1,1,4,1,1,4,1,1,4,1,1,4,1,1,4,1,1,4,1,1,4,1,1,4,1],"slotPose":[1,0,0,1,0,0],"bonePose":[4,0.012157,-0.999926,0.999926,0.012157,-0.55,-80.4],"edges":[0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,0],"userEdges":[]}]},{"name":"1","display":[{"type":"mesh","name":"1","width":11,"height":41,"vertices":[-28.45,-102,-31.5,-99.15,-31.5,-96.3,-31.5,-67.95,-31.5,-64.05,-28.9,-61,-23.2,-61,-20.5,-63.7,-20.5,-68.1,-20.5,-96,-20.5,-99.4,-23.45,-102],"uvs":[0.27727,0,0,0.06951,0,0.13902,0,0.83049,0,0.92561,0.23636,1,0.75455,1,1,0.93415,1,0.82683,1,0.14634,1,0.06341,0.73182,0],"triangles":[3,4,5,3,5,6,3,6,8,8,6,7,11,0,9,0,2,9,3,8,9,2,3,9,10,11,9,1,2,0],"weights":[1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1],"slotPose":[1,0,0,1,0,0],"bonePose":[2,0,-1,1,0,-25.65,-81.95],"edges":[0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,0],"userEdges":[]}]},{"name":"图层_1","display":[{"name":"图层_1","transform":{"x":-0.02,"y":2.65,"skX":0.37,"skY":0.37}}]}]}],"animation":[{"duration":60,"playTimes":0,"name":"newAnimation","ffd":[{"name":"3","slot":"3","frame":[{"duration":30,"tweenEasing":0,"offset":7,"vertices":[0.1,0,0.1,0,0.1,0,0.1,0,0.1,0,0.1]},{"duration":30,"tweenEasing":0,"offset":1,"vertices":[22.65,0,22.65,0,22.65,0,-21.2,0,-21.2,0,-21.2,0,-21.2,0,-21.2,0,-21.2,0,22.65,0,22.65,0,22.65]},{"duration":0,"offset":7,"vertices":[0.1,0,0.1,0,0.1,0,0.1,0,0.1,0,0.1]}]},{"name":"2","slot":"2","frame":[{"duration":8,"tweenEasing":0,"offset":7,"vertices":[-0.1,0,-0.1,0,-0.1,0,-0.1,0,-0.1,0,-0.1]},{"duration":22,"tweenEasing":0,"offset":1,"vertices":[12.3,0,12.3,0,12.3,0,-6.95,0,-6.95,0,-6.95,0,-6.95,0,-6.95,0,-6.95,0,12.3,0,12.3,0,12.3]},{"duration":8,"tweenEasing":0,"offset":7,"vertices":[-0.1,0,-0.1,0,-0.1,0,-0.1,0,-0.1,0,-0.1]},{"duration":22,"tweenEasing":0,"offset":1,"vertices":[12.3,0,12.3,0,12.3,0,-6.95,0,-6.95,0,-6.95,0,-6.95,0,-6.95,0,-6.95,0,12.3,0,12.3,0,12.3]},{"duration":0,"offset":7,"vertices":[-0.1,0,-0.1,0,-0.1,0,-0.1,0,-0.1,0,-0.1]}]},{"name":"1","slot":"1","frame":[{"duration":15,"tweenEasing":0,"offset":7,"vertices":[-0.1,0,-0.1,0,-0.1,0,-0.1,0,-0.1,0,-0.1]},{"duration":15,"tweenEasing":0,"offset":1,"vertices":[14.55,0,14.55,0,14.55,0,-9.4,0,-9.4,0,-9.4,0,-9.4,0,-9.4,0,-9.4,0,14.55,0,14.55,0,14.55]},{"duration":15,"tweenEasing":0,"offset":7,"vertices":[-0.1,0,-0.1,0,-0.1,0,-0.1,0,-0.1,0,-0.1]},{"duration":15,"tweenEasing":0,"offset":1,"vertices":[14.55,0,14.55,0,14.55,0,-9.4,0,-9.4,0,-9.4,0,-9.4,0,-9.4,0,-9.4,0,14.55,0,14.55,0,14.55]},{"duration":0,"offset":7,"vertices":[-0.1,0,-0.1,0,-0.1,0,-0.1,0,-0.1,0,-0.1]}]}]}],"defaultActions":[{"gotoAndPlay":"newAnimation"}]}]}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "a7081dc0-495d-49a7-922a-5e51a53ffeef",
"subMetas": {}
}
\ No newline at end of file
{"name":"录音中","imagePath":"recording_tex.png","SubTexture":[{"name":"图层_1","x":1,"height":161,"y":1,"width":161},{"name":"3","x":1,"height":68,"y":164,"width":11},{"name":"2","x":14,"height":33,"y":207,"width":11},{"name":"1","x":14,"height":41,"y":164,"width":11}],"height":256,"width":256}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "213008d2-d4d5-46c3-894b-ee569d058a25",
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "6adf90a0-fa75-4d59-a4bd-a37b0cf7e9f9",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 256,
"height": 256,
"platformSettings": {},
"subMetas": {
"recording_tex": {
"ver": "1.0.4",
"uuid": "970db953-95f0-4991-9409-3d1162c37625",
"rawTextureUuid": "6adf90a0-fa75-4d59-a4bd-a37b0cf7e9f9",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -46.5,
"offsetY": 7.5,
"trimX": 1,
"trimY": 1,
"width": 161,
"height": 239,
"rawWidth": 256,
"rawHeight": 256,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{"frameRate":24,"name":"星星","version":"5.5","compatibleVersion":"5.5","armature":[{"type":"Armature","frameRate":24,"name":"armatureName","aabb":{"x":-112,"y":-110,"width":224,"height":220},"bone":[{"name":"root"},{"length":94,"name":"bone","parent":"root"}],"slot":[{"name":"图层_0","parent":"bone"}],"skin":[{"slot":[{"name":"图层_0","display":[{"name":"图层_0"}]}]}],"animation":[{"duration":1728,"playTimes":0,"name":"newAnimation","bone":[{"name":"bone","rotateFrame":[{"duration":1728,"tweenEasing":0,"clockwise":2},{"duration":0}]}]}],"defaultActions":[{"gotoAndPlay":"newAnimation"}]}]}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "d0fc77c0-31ac-4a87-8be5-6038e5138e96",
"subMetas": {}
}
\ No newline at end of file
{"imagePath":"star_tex.png","width":256,"height":256,"name":"星星","SubTexture":[{"width":224,"y":1,"height":220,"name":"图层_0","x":1}]}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "43663aa1-bf04-40f0-ba18-e1b0a9655ed7",
"subMetas": {}
}
\ No newline at end of file
{ {
"ver": "2.3.5", "ver": "2.3.5",
"uuid": "efa5fa09-a4dd-4bfc-ab7e-17c19f85408f", "uuid": "af7318ca-7177-47d8-a6ef-dca521515c70",
"type": "sprite", "type": "sprite",
"wrapMode": "clamp", "wrapMode": "clamp",
"filterMode": "bilinear", "filterMode": "bilinear",
"premultiplyAlpha": false, "premultiplyAlpha": false,
"genMipmaps": false, "genMipmaps": false,
"packable": true, "packable": true,
"width": 366, "width": 256,
"height": 336, "height": 256,
"platformSettings": {}, "platformSettings": {},
"subMetas": { "subMetas": {
"1orange": { "star_tex": {
"ver": "1.0.4", "ver": "1.0.4",
"uuid": "43d1e79d-6de8-4dcb-b8ce-d767df7913aa", "uuid": "abd4a451-ff12-491b-b050-c029e9bc073e",
"rawTextureUuid": "efa5fa09-a4dd-4bfc-ab7e-17c19f85408f", "rawTextureUuid": "af7318ca-7177-47d8-a6ef-dca521515c70",
"trimType": "auto", "trimType": "auto",
"trimThreshold": 1, "trimThreshold": 1,
"rotated": false, "rotated": false,
"offsetX": 0, "offsetX": -15,
"offsetY": -0.5, "offsetY": 17,
"trimX": 0, "trimX": 1,
"trimY": 1, "trimY": 1,
"width": 366, "width": 224,
"height": 335, "height": 220,
"rawWidth": 366, "rawWidth": 256,
"rawHeight": 336, "rawHeight": 256,
"borderTop": 0, "borderTop": 0,
"borderBottom": 0, "borderBottom": 0,
"borderLeft": 0, "borderLeft": 0,
......
{ {
"ver": "1.1.2", "ver": "1.1.2",
"uuid": "20185448-a1ca-4de2-8b37-7bf6cdfccbae", "uuid": "c5d01bde-d8b6-409d-8d0d-fbba33a46584",
"isBundle": false, "isBundle": false,
"bundleName": "", "bundleName": "",
"priority": 1, "priority": 1,
......
{ {
"ver": "1.1.0", "ver": "1.1.0",
"uuid": "c551970e-b095-45f3-9f1d-25cde8b8deb1", "uuid": "63519b66-f909-4fb0-9f0f-9a611a4d53d8",
"subMetas": {} "subMetas": {}
} }
\ No newline at end of file
{
"ver": "1.1.0",
"uuid": "0767b37d-87b3-420f-a5cc-bc3fcc3f1c9c",
"subMetas": {}
}
\ No newline at end of file
{ {
"ver": "1.1.2", "ver": "1.1.2",
"uuid": "e8bd16b0-3804-45a9-a8ca-f52c02224f55", "uuid": "aa410db6-3454-4766-9453-655026747367",
"isBundle": false, "isBundle": false,
"bundleName": "", "bundleName": "",
"priority": 1, "priority": 1,
......
This diff is collapsed.
{ {
"ver": "1.2.9", "ver": "1.2.9",
"uuid": "0737ce42-24f0-45c6-8e1a-8bdab4f74ba3", "uuid": "bce5b988-3d21-43d0-88a5-7210800bf20a",
"asyncLoadAssets": false, "asyncLoadAssets": false,
"autoReleaseAssets": true, "autoReleaseAssets": false,
"subMetas": {} "subMetas": {}
} }
\ No newline at end of file
This diff is collapsed.
{ {
"ver": "1.0.8", "ver": "1.0.8",
"uuid": "408a67f8-65fa-4cf1-8cf2-83e20e1a0fd5", "uuid": "5e9f9da9-ef12-44f0-bd58-de18e05c712b",
"isPlugin": false, "isPlugin": false,
"loadPluginInWeb": true, "loadPluginInWeb": true,
"loadPluginInNative": true, "loadPluginInNative": true,
......
// export class Option {
// type;
// txt;
// picUrl;
// audioUrl;
// public data;
// public id: number;
// public count: number;
// constructor(data, id) {
// this.id = id;
// this.data = data;
// this.type = data.type;
// this.txt = data.text;
// this.picUrl = data.image;
// this.audioUrl = data.optionAudio;
// }
// }
export class Item {
public page;
public audio;
public audio2;
public image;
public image2;
public text;
public text2;
public isrecord;
public type;
public recordScore;
public recordAudio;
constructor(data, page) {
this.audio = data.audio;
this.audio2 = data.audio2;
this.image = data.image;
this.image2 = data.image2;
this.text = data.text;
this.text2 = data.text2;
this.isrecord = data.isrecord;
this.type = data.type;
this.recordScore = -1;
this.page = page;
}
}
export default class Game {
private static ins: Game;
public static getIns(): Game {
if (!Game.ins) Game.ins = new Game();
return Game.ins;
}
private data: any;
public lists: Array<Item>
constructor() {
//
this.start = false;
this.lists = [];
}
get len() {
return this.lists.length;
}
public init(data) {
this.start = false;
this.lists = [];
this.data = data.questions;
}
public start: boolean;
public page: number;
reset() {
this.page = 1;
this.start = true;
this.lists = [];
for (let i = 0; i < this.data.length; i++) {
let data = this.data[i];
this.lists.push(new Item(data, i));
}
}
getDataByPage(page): Item {
return this.lists.filter(li => li.page == page)[0]
}
getCurrentPage(): Item {
let page = this.page;
return this.lists.filter(li => li.page == page)[0]
}
getTotalPageNum() {
return this.lists.length;
}
getCurrentPageNum() {
return this.page;
}
addPage() {
if (this.page >= this.lists.length) {
return false;
} else {
this.page += 1;
return true
}
}
subPage() {
if (this.page <= 1) {
return false;
} else {
this.page -= 1;
return true
}
}
get isOver() {
return this.page > this.lists.length;
}
}
let win: any = window;
win.Game = Game;
\ No newline at end of file
{ {
"ver": "1.0.8", "ver": "1.0.8",
"uuid": "f8b451ff-857c-4ca8-9870-866bc5154a29", "uuid": "7a67d801-9190-496a-a830-14505c223942",
"isPlugin": false, "isPlugin": false,
"loadPluginInWeb": true, "loadPluginInWeb": true,
"loadPluginInNative": true, "loadPluginInNative": true,
......
This diff is collapsed.
{ {
"ver": "1.0.8", "ver": "1.0.8",
"uuid": "c41b0e51-55d7-443c-af3a-b22c3dd9b9e5", "uuid": "56af21e1-80ba-4d5d-88ad-fdccdd5ed484",
"isPlugin": false, "isPlugin": false,
"loadPluginInWeb": true, "loadPluginInWeb": true,
"loadPluginInNative": true, "loadPluginInNative": true,
......
{ {
"ver": "1.1.2", "ver": "1.1.2",
"uuid": "b0c008bc-cf92-463b-8360-0984e13c2e4d", "uuid": "8e490ccb-f4ef-4ee2-998c-56f838b3d440",
"isBundle": false, "isBundle": false,
"bundleName": "", "bundleName": "",
"priority": 1, "priority": 1,
......
import { defaultData } from "../script/defaultData_JJ_Game_09"; import { defaultData } from "../script/JJ_Game_09_defaultData";
export class MyCocosSceneComponent extends cc.Component { export class MyCocosSceneComponent extends cc.Component {
...@@ -55,7 +55,7 @@ export class MyCocosSceneComponent extends cc.Component { ...@@ -55,7 +55,7 @@ export class MyCocosSceneComponent extends cc.Component {
if (window && (<any>window).courseware && (<any>window).courseware.getData) { if (window && (<any>window).courseware && (<any>window).courseware.getData) {
(<any>window).courseware.getData((data) => { (<any>window).courseware.getData((data) => {
this.log('data:' + data); this.log('data:' + data);
this.data = data || this.getDefaultData(); this.data = this.conversionData(data) || this.getDefaultData();
this.data = JSON.parse(JSON.stringify(this.data)); this.data = JSON.parse(JSON.stringify(this.data));
this.preloadItem(); this.preloadItem();
}) })
...@@ -65,6 +65,46 @@ export class MyCocosSceneComponent extends cc.Component { ...@@ -65,6 +65,46 @@ export class MyCocosSceneComponent extends cc.Component {
} }
} }
conversionData(data) {
const dataTemp = {
"score": 0,
"title": "",
"npcAudio": "",
"npcAudioName": "",
"returnType": "0",
"questionText": "",
"questionType": "read",
"questionTextAudio": "",
"questions": [
]
}
data.pages.forEach(item => {
const dataItem = {
"type": "img",
"isrecord": 1,
"audio": "",
"audio2": "",
"text": "",
"text2": "",
"image": "",
"image2": "",
"time": null,
"audioName": "",
"audio2Name": ""
}
dataItem.text = item.text;
dataItem.audio = item.audio_url;
dataItem.image = item.pic_url;
dataTemp.questions.push(dataItem)
});
}
getDefaultData() { getDefaultData() {
return defaultData; return defaultData;
} }
...@@ -87,20 +127,19 @@ export class MyCocosSceneComponent extends cc.Component { ...@@ -87,20 +127,19 @@ export class MyCocosSceneComponent extends cc.Component {
preload() { preload() {
const preloadArr = this._imageResList.concat(this._audioResList).concat(this._animaResList); const preloadArr = this._imageResList.concat(this._audioResList).concat(this._animaResList);
cc.assetManager.preloadAny(preloadArr, null, null, async (err, data) => { cc.assetManager.loadAny(preloadArr, null, null, (err, data) => {
// if (window && window["air"]) {
if (window && window["air"]) { // // window["air"].onCourseInScreen = (next) => {
// window["air"].onCourseInScreen = (next) => { // // window["air"].isCourseInScreen = true;
// window["air"].isCourseInScreen = true; // // this.onLoadEnd();
// this.onLoadEnd(); // // next();
// next(); // // };
// }; // this.onLoadEnd();
await this.onLoadEnd(); // window["air"].hideAirClassLoading();
window["air"].hideAirClassLoading(); // } else {
} else { // this.onLoadEnd();
await this.onLoadEnd(); // }
} this.onLoadEnd();
cc.debug.setDisplayStats(false); cc.debug.setDisplayStats(false);
}); });
} }
...@@ -114,7 +153,7 @@ export class MyCocosSceneComponent extends cc.Component { ...@@ -114,7 +153,7 @@ export class MyCocosSceneComponent extends cc.Component {
} }
} }
async onLoadEnd() { onLoadEnd() {
} }
......
{ {
"ver": "1.0.8", "ver": "1.0.8",
"uuid": "ade7af40-d56d-4087-bbc6-2888fef55353", "uuid": "7d87bd8c-0f83-4c35-b18c-e4a04bdd3521",
"isPlugin": false, "isPlugin": false,
"loadPluginInWeb": true, "loadPluginInWeb": true,
"loadPluginInNative": true, "loadPluginInNative": true,
......
export const defaultData = {
"score": 0,
"title": "",
"npcAudio": "http://teach.cdn.ireadabc.com/cd5807dc4f318ce04f52385900a0575a.mp3",
"npcAudioName": "",
"questionText": "",
"questionType": "record",
"questionTextAudio": "",
"questions": [
{
"type": "img",
"autoplay": 0,
"isrecord": 0,
"text": "",
"image": "http://teach.cdn.ireadabc.com/4ee9c3b3a5a9d7bae35a657c87af5815.png",
"time": null,
"audio2": "http://teach.cdn.ireadabc.com/cd5807dc4f318ce04f52385900a0575a.mp3",
"audio2Name": "9f r1.mp3",
"text2": "",
"image2": "http://teach.cdn.ireadabc.com/f9749b8e57c8445d942f131b69ddc6ac.png"
},
{
"type": "img",
"audio": "http://teach.cdn.ireadabc.com/9df2b9c073c2225c9bce8b78bd571cbb.mp3",
"autoplay": 1,
"isrecord": 1,
"text": "Carla crocodile Catches a cold Written by Veronica Wild Illustrated by Peter Campbell ",
"image": "http://teach.cdn.ireadabc.com/d072a2ace31c633f3842677c1859cbe2.png",
"time": null,
"audioName": "9f r2.mp3",
"text2": "",
"image2": "http://teach.cdn.ireadabc.com/c16c9b348dbfb1bb7ffbee01040e209e.png"
},
{
"type": "img",
"audio": "http://teach.cdn.ireadabc.com/a4ce6782fc0e69b5509103544588ba0e.mp3",
"autoplay": 1,
"isrecord": 1,
"text": "Carla crocodile Catches a cold Written by Veronica Wild Illustrated by Peter Campbell ",
"image": "http://teach.cdn.ireadabc.com/213670e5aa397dc2139449d7932a6586.png",
"time": null,
"audioName": "9f r3.mp3",
"text2": "",
"image2": "http://teach.cdn.ireadabc.com/fecc3c6666fa01b4f7e01464d89d7ac6.png"
},
{
"type": "img",
"audio": "http://teach.cdn.ireadabc.com/eb6a639e35468f1ddf0dc993cef8fa62.mp3",
"autoplay": 1,
"isrecord": 1,
"text": "Carla Crocodile was waiting for the bus. She was going to dance class with Hippo. ",
"image": "http://teach.cdn.ireadabc.com/56dec655f74b912ad09d853959f71d59.png",
"time": null,
"audioName": "9f r-p6.mp3",
"audio2": "http://teach.cdn.ireadabc.com/823599ec5db714787db9c60a2e6de96d.mp3",
"audio2Name": "9f r-p7.mp3",
"text2": "Carla and Hippo waited. \"I can't see the bus. I hope we get there betore dance class is over,\" said Hippo. \"We can dance now. We can dance here before the bus comes,\" Carla said. ",
"image2": "http://teach.cdn.ireadabc.com/4d0337abeccee33bf9a67f21514b8772.png"
},
{
"type": "img",
"audio": "http://teach.cdn.ireadabc.com/e2af5586b3a755695d97c34897741344.mp3",
"autoplay": 1,
"isrecord": 1,
"text": "\"Are you ready now, Hippo? You count the beats,\" said Carla \"One,two,three, one,two,three,\" Hippo said. ",
"image": "http://teach.cdn.ireadabc.com/9c85fcaae9a1f33877930add6669141f.png",
"time": null,
"audioName": "B-9f p8.mp3",
"audio2": "http://teach.cdn.ireadabc.com/8dbb43f9a2f261bebc2e3a6dbf48bb59.mp3",
"audio2Name": "B-9f p9.mp3",
"text2": "\"We can dance over the grass before the bus comes,\" Carla said. ",
"image2": "http://teach.cdn.ireadabc.com/87721a0b775512b187cbe0a676a10ba9.png"
},
{
"type": "img",
"audio": "http://teach.cdn.ireadabc.com/1820fe93aa8f9b2e9d74017dc32e613b.mp3",
"autoplay": 1,
"isrecord": 1,
"text": "Some clouds came over and it started to rain. \"One,two,three,one,two,three,\" counted Hippo.",
"image": "http://teach.cdn.ireadabc.com/99732923d0d671c43caf28dea90a2cbc.png",
"time": null,
"audioName": "9f r-p10.mp3",
"text2": "",
"image2": "http://teach.cdn.ireadabc.com/98980cab2f293a9a8a312c0388be346d.png"
},
{
"type": "img",
"audio": "http://teach.cdn.ireadabc.com/24713315b7f85912250e72e0d31639e0.mp3",
"autoplay": 1,
"isrecord": 1,
"text": "\"We won't stop now,\" said Carla. ",
"image": "http://teach.cdn.ireadabc.com/18b845aac80787e250d2aa49c9f72bfa.png",
"time": null,
"audioName": "9f r-p12.mp3",
"text2": "",
"image2": "http://teach.cdn.ireadabc.com/6bf2e2f89652ecf7c1c8d042e3944475.png"
},
{
"type": "img",
"audio": "http://teach.cdn.ireadabc.com/9666d9ddee0e072fc33d9d64c1358b55.mp3",
"autoplay": 1,
"isrecord": 1,
"text": "\"We can dance over the puddles before the bus comes,\" Carla said. Carla and Hippo danced all over the park. ",
"image": "http://teach.cdn.ireadabc.com/48d7b86743d3e696a6ac7b4ef99851a7.png",
"time": null,
"audioName": "9f r-p14.mp3",
"audio2": "http://teach.cdn.ireadabc.com/93f6c2d89f486ed9c35976496c9904f6.mp3",
"audio2Name": "9f r-p15.mp3",
"text2": "Then Hippo said, \"Look! There goes our bus! What will we do now?\" ",
"image2": "http://teach.cdn.ireadabc.com/0e390ba2b467faaf423c29de6a350968.png"
},
{
"type": "img",
"audio": "http://teach.cdn.ireadabc.com/f195de2465da6dab5129683161bac6f9.mp3",
"autoplay": 1,
"isrecord": 1,
"text": "\"We will dance all the way home,\" said Carla. \"One,two,three,one,two-achoo!\"",
"image": "http://teach.cdn.ireadabc.com/06a32b74cb97bebafa1a307a563e867c.png",
"time": null,
"audioName": "9f r-p16.mp3",
"audio2": "",
"text2": "",
"image2": "",
"audio2Name": ""
}
],
"returnType": "0"
}
{
"ver": "1.0.8",
"uuid": "071de07f-2459-4e30-b9bc-af34a7fdb7b4",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
import { RandomInt, asyncDelay } from "../script/JJ_Game_09_util";
const { ccclass, property } = cc._decorator;
@ccclass
export default class NewClass extends cc.Component {
@property
type: string = "1"; // 1: 代表亮;2: 代表暗
@property
min: number = 3;
@property
max: number = 20;
basePos: cc.Vec2;
async start() {
}
async onEnable() {
if (this.min == -1) {
// 代表常亮, 按周期缩放就行
this.scaleStar();
} else {
await this.float();
}
}
scaleStar() {
cc.tween(this.node)
.by(.5, { scale: -0.07 }, { easing: 'sineInOut' })
.to(.5, { scale: 1 }, { easing: 'sineInOut' })
.union()
.repeatForever()
.start();
}
async float() {
const delay = RandomInt(this.min, this.max);
await asyncDelay(delay);
cc.tween(this.node)
.to(.5, { scale: this.type == "1" ? 0 : 1 }, { easing: 'sineInOut' })
.to(.5, { scale: this.type == "1" ? 1 : 0 }, { easing: 'sineInOut' })
.call(async () => {
await this.float();
})
.start();
}
}
{
"ver": "1.0.8",
"uuid": "c8f46665-4f64-4500-b6f9-97c178c60174",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
...@@ -71,64 +71,64 @@ export function setSprNodeMaxLen(sprNode, maxW, maxH) { ...@@ -71,64 +71,64 @@ export function setSprNodeMaxLen(sprNode, maxW, maxH) {
} }
export function localPosTolocalPos(baseNode, targetNode) { export function localPosTolocalPos(baseNode, targetNode) {
const worldPos = targetNode.parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y)); const worldPos = targetNode.parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y));
const localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y)); const localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));
return localPos; return localPos;
} }
export function worldPosToLocalPos(worldPos, baseNode) { export function worldPosToLocalPos(worldPos, baseNode) {
const localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y)); const localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));
return localPos; return localPos;
} }
export function getScaleRateBy2Node(baseNode, targetNode, maxFlag = true) { export function getScaleRateBy2Node(baseNode, targetNode, maxFlag = true) {
const worldRect1 = targetNode.getBoundingBoxToWorld(); const worldRect1 = targetNode.getBoundingBoxToWorld();
const worldRect2 = baseNode.getBoundingBoxToWorld(); const worldRect2 = baseNode.getBoundingBoxToWorld();
const sx = worldRect1.width / worldRect2.width; const sx = worldRect1.width / worldRect2.width;
const sy = worldRect1.height / worldRect2.height; const sy = worldRect1.height / worldRect2.height;
if (maxFlag) { if (maxFlag) {
return Math.max(sx, sy); return Math.max(sx, sy);
} else { } else {
return Math.min(sx, sy); return Math.min(sx, sy);
} }
} }
export function getDistance (start, end){ export function getDistance(start, end) {
var pos = cc.v2(start.x - end.x, start.y - end.y); var pos = cc.v2(start.x - end.x, start.y - end.y);
var dis = Math.sqrt(pos.x*pos.x + pos.y*pos.y); var dis = Math.sqrt(pos.x * pos.x + pos.y * pos.y);
return dis; return dis;
} }
export function playAudioByUrl(audio_url, cb=null) { export function playAudioByUrl(audio_url, cb = null) {
if (audio_url) { if (audio_url) {
cc.assetManager.loadRemote(audio_url, (err, audioClip) => { cc.assetManager.loadRemote(audio_url, (err, audioClip) => {
const audioId = cc.audioEngine.play(audioClip, false, 0.8); const audioId = cc.audioEngine.play(audioClip, false, 0.8);
if (cb) { if (cb) {
cc.audioEngine.setFinishCallback(audioId, () => { cc.audioEngine.setFinishCallback(audioId, () => {
cb(); cb();
}); });
} }
}); });
} }
} }
export function btnClickAnima(btn, time=0.15, rate=1.05) { export function btnClickAnima(btn, time = 0.15, rate = 1.05) {
btn.tmpScale = btn.scale; btn.tmpScale = btn.scale;
btn.on(cc.Node.EventType.TOUCH_START, () => { btn.on(cc.Node.EventType.TOUCH_START, () => {
cc.tween(btn) cc.tween(btn)
.to(time / 2, {scale: btn.scale * rate}) .to(time / 2, { scale: btn.scale * rate })
.start() .start()
}) })
btn.on(cc.Node.EventType.TOUCH_CANCEL, () => { btn.on(cc.Node.EventType.TOUCH_CANCEL, () => {
cc.tween(btn) cc.tween(btn)
.to(time / 2, {scale: btn.tmpScale}) .to(time / 2, { scale: btn.tmpScale })
.start() .start()
}) })
btn.on(cc.Node.EventType.TOUCH_END, () => { btn.on(cc.Node.EventType.TOUCH_END, () => {
cc.tween(btn) cc.tween(btn)
.to(time / 2, {scale: btn.tmpScale}) .to(time / 2, { scale: btn.tmpScale })
.start() .start()
}) })
} }
...@@ -179,7 +179,7 @@ export async function asyncDelay(time) { ...@@ -179,7 +179,7 @@ export async function asyncDelay(time) {
try { try {
cc.tween(cc.find('Canvas')) cc.tween(cc.find('Canvas'))
.delay(time) .delay(time)
.call(()=>{ .call(() => {
resolve(null); resolve(null);
}) })
.start(); .start();
...@@ -191,69 +191,69 @@ export async function asyncDelay(time) { ...@@ -191,69 +191,69 @@ export async function asyncDelay(time) {
export async function asyncLoadDragonBoneAnime(node, { skeJsonData: { url: skeJsonDataUrl }, texJsonData: { url: texJsonDataUrl }, texPngData: { url: texPngDataUrl } }) { export async function asyncLoadDragonBoneAnime(node, { skeJsonData: { url: skeJsonDataUrl }, texJsonData: { url: texJsonDataUrl }, texPngData: { url: texPngDataUrl } }) {
if (!texPngDataUrl || !texJsonDataUrl || !texPngDataUrl if (!texPngDataUrl || !texJsonDataUrl || !texPngDataUrl
|| texPngDataUrl == '' || texJsonDataUrl == '' || texPngDataUrl == '') { || texPngDataUrl == '' || texJsonDataUrl == '' || texPngDataUrl == '') {
return; return;
} }
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (node.animaNode) { if (node.animaNode) {
node.animaNode.removeFromParent(); node.animaNode.removeFromParent();
}
const animaNode = new cc.Node();
animaNode.name = 'animaNode';
animaNode.parent = node;
animaNode.active = true;
node.animaNode = animaNode;
const dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);
const loadTexture = new Promise((resolve, reject) => {
cc.assetManager.loadRemote(texPngDataUrl, (error, texture) => {
if (error) {
reject(error);
} }
const animaNode = new cc.Node(); resolve(texture);
animaNode.name = 'animaNode'; });
animaNode.parent = node; });
animaNode.active = true;
node.animaNode = animaNode;
const dragonDisplay = animaNode.addComponent(dragonBones.ArmatureDisplay);
const loadTexture = new Promise((resolve, reject) => {
cc.assetManager.loadRemote(texPngDataUrl, (error, texture) => {
if (error) {
reject(error);
}
resolve(texture);
});
});
const loadTexJsonData = new Promise((resolve, reject) => { const loadTexJsonData = new Promise((resolve, reject) => {
cc.assetManager.loadAny({ url: texJsonDataUrl }, (error, atlasJson) => { cc.assetManager.loadAny({ url: texJsonDataUrl }, (error, atlasJson) => {
if (error) { if (error) {
reject(error); reject(error);
} }
resolve(atlasJson); resolve(atlasJson);
}); });
}); });
const loadSkeJsonData = new Promise((resolve, reject) => { const loadSkeJsonData = new Promise((resolve, reject) => {
cc.assetManager.loadAny({ url: skeJsonDataUrl }, (error, dragonBonesJson) => { cc.assetManager.loadAny({ url: skeJsonDataUrl }, (error, dragonBonesJson) => {
if (error) { if (error) {
reject(error); reject(error);
} }
resolve(dragonBonesJson); resolve(dragonBonesJson);
}); });
}); });
Promise.all([loadTexture, loadTexJsonData, loadSkeJsonData]).then(([texture, atlasJson, dragonBonesJson]) => { Promise.all([loadTexture, loadTexJsonData, loadSkeJsonData]).then(([texture, atlasJson, dragonBonesJson]) => {
const atlas = new dragonBones.DragonBonesAtlasAsset(); const atlas = new dragonBones.DragonBonesAtlasAsset();
atlas.atlasJson = JSON.stringify(atlasJson); atlas.atlasJson = JSON.stringify(atlasJson);
atlas.texture = texture; atlas.texture = texture;
const asset = new dragonBones.DragonBonesAsset(); const asset = new dragonBones.DragonBonesAsset();
asset.dragonBonesJson = JSON.stringify(dragonBonesJson); asset.dragonBonesJson = JSON.stringify(dragonBonesJson);
dragonDisplay.dragonAtlasAsset = atlas; dragonDisplay.dragonAtlasAsset = atlas;
dragonDisplay.dragonAsset = asset; dragonDisplay.dragonAsset = asset;
let armatureNames = dragonBonesJson.armature.map(data => data.name); let armatureNames = dragonBonesJson.armature.map(data => data.name);
if (armatureNames.length > 0) { if (armatureNames.length > 0) {
dragonDisplay.armatureName = armatureNames[0]; dragonDisplay.armatureName = armatureNames[0];
} }
resolve(animaNode); resolve(animaNode);
});
}); });
});
} }
export class FireworkSettings { export class FireworkSettings {
...@@ -411,65 +411,14 @@ export function showTrebleFirework(baseNode, rabbonList) { ...@@ -411,65 +411,14 @@ export function showTrebleFirework(baseNode, rabbonList) {
showFireworks(right); showFireworks(right);
} }
export function httpHeadCall(requsetUrl: string, callback) { export function onHomeworkFinish(data) {
let xhr = new XMLHttpRequest();
console.log("Status: Send Post Request to " + requsetUrl);
try {
xhr.onreadystatechange = () => {
try {
console.log('xhr.readyState: ', xhr.readyState);
if (xhr.readyState == 4) {
if ((xhr.status >= 200 && xhr.status < 400)) {
callback(true);
} else {
callback(false);
}
}
} catch (e) {
console.log(e)
}
};
xhr.open("HEAD", requsetUrl, true);
xhr.send();
xhr.timeout = 15000;
xhr.onerror = (e) => {
callback(false);
};
xhr.ontimeout = (e) => {
callback(false);
};
} catch (e) {
console.log("Send Get Request error: ", e);
}
}
export function onHomeworkFinish(data = "", callback = ()=>{}) {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
middleLayerComponent.onHomeworkFinish(callback, data);
} else {
console.log('onHomeworkFinish', JSON.stringify(data));
}
}
export function callMiddleLayerFunction(apiName: string, data: any, callback: Function) {
const middleLayer = cc.find('middleLayer'); const middleLayer = cc.find('middleLayer');
if (middleLayer) { if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer'); const middleLayerComponent = middleLayer.getComponent('middleLayer');
middleLayerComponent.callMiddleLayerFunction(apiName, data, callback); // if (middleLayerComponent.role == 'student') {
middleLayerComponent.onHomeworkFinish(() => { });
// }
} else { } else {
console.log('callMiddleLayerFunction: ' + apiName); console.log('onHomeworkFinish');
} }
} }
\ No newline at end of file
export function showTips(tips) {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
middleLayer.getComponent('middleLayer').showTips(tips);
} else {
console.log(tips);
}
}
{
"ver": "1.0.8",
"uuid": "d090f9ae-1459-4a04-8035-a861350ab7fa",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
export const defaultData = {
"pic_url": "http://staging-teach.cdn.ireadabc.com/ed94332a503c31e0908bd4c6923a2665.png",
"pic_url_2": "http://staging-teach.cdn.ireadabc.com/5fb60317ade0195d35ad8034d5370a7f.png",
"text": "This is a test label.",
"audio_url": "http://staging-teach.cdn.ireadabc.com/f47f1d7b5c160fe1c59500d180346240.mp3"
}
\ No newline at end of file
{ {
"ver": "1.0.8", "ver": "1.0.8",
"uuid": "b54300af-b8e5-4b4e-aa2f-9ac1cef7b598", "uuid": "a7ad9c2c-144e-4c67-b960-c958f5532b93",
"isPlugin": true, "isPlugin": true,
"loadPluginInWeb": true, "loadPluginInWeb": true,
"loadPluginInNative": true, "loadPluginInNative": true,
......
{ {
"ver": "1.1.2", "ver": "1.1.2",
"uuid": "8ba21262-178f-4fa5-afc9-2c1dd50ba3ab", "uuid": "cb377a3b-c4d2-4ec3-9431-4ef4c7c2112e",
"isBundle": false, "isBundle": false,
"bundleName": "", "bundleName": "",
"priority": 1, "priority": 1,
......
{
"ver": "2.3.5",
"uuid": "6a3c2729-eb69-4b80-9af6-4d23d07b0445",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "point",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1920,
"height": 1080,
"platformSettings": {},
"subMetas": {
"bg_bg": {
"ver": "1.0.4",
"uuid": "214630fe-a13b-47c4-aa3a-789cd1f1f1e6",
"rawTextureUuid": "6a3c2729-eb69-4b80-9af6-4d23d07b0445",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1920,
"height": 1080,
"rawWidth": 1920,
"rawHeight": 1080,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "36bd56d3-5070-43cf-85dc-c69c57c1a110",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "point",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1441,
"height": 514,
"platformSettings": {},
"subMetas": {
"bg_excellent": {
"ver": "1.0.4",
"uuid": "edb2c26b-4450-44f1-8fdc-10e83e2e6918",
"rawTextureUuid": "36bd56d3-5070-43cf-85dc-c69c57c1a110",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -12.5,
"offsetY": -4,
"trimX": 4,
"trimY": 13,
"width": 1408,
"height": 496,
"rawWidth": 1441,
"rawHeight": 514,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "72835f10-2305-419d-a20b-04de20460a0d",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "point",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 394,
"height": 137,
"platformSettings": {},
"subMetas": {
"bg_excellentsmall": {
"ver": "1.0.4",
"uuid": "78d0c330-2659-408c-8982-97669e8f244e",
"rawTextureUuid": "72835f10-2305-419d-a20b-04de20460a0d",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -3,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 388,
"height": 136,
"rawWidth": 394,
"rawHeight": 137,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "32117412-1d38-407f-a160-0cbe84f0b7e9",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "point",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1441,
"height": 514,
"platformSettings": {},
"subMetas": {
"bg_good": {
"ver": "1.0.4",
"uuid": "23c20049-0059-4ef7-8e9d-4024aadf3647",
"rawTextureUuid": "32117412-1d38-407f-a160-0cbe84f0b7e9",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -12.5,
"offsetY": -46.5,
"trimX": 4,
"trimY": 98,
"width": 1408,
"height": 411,
"rawWidth": 1441,
"rawHeight": 514,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "80b4206a-889e-46a1-a01e-4913f30d533b",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "point",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 394,
"height": 137,
"platformSettings": {},
"subMetas": {
"bg_goodsmall": {
"ver": "1.0.4",
"uuid": "8b3cf551-5a21-49f4-8933-7006647a7ca8",
"rawTextureUuid": "80b4206a-889e-46a1-a01e-4913f30d533b",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -3,
"offsetY": -11,
"trimX": 0,
"trimY": 23,
"width": 388,
"height": 113,
"rawWidth": 394,
"rawHeight": 137,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{ {
"ver": "2.3.5", "ver": "2.3.5",
"uuid": "18d07592-51a9-421e-8972-0f67b68d29e1", "uuid": "d5b80fc2-e965-4490-99b3-431c82452523",
"type": "sprite", "type": "sprite",
"wrapMode": "clamp", "wrapMode": "clamp",
"filterMode": "bilinear", "filterMode": "point",
"premultiplyAlpha": false, "premultiplyAlpha": false,
"genMipmaps": false, "genMipmaps": false,
"packable": true, "packable": true,
"width": 144, "width": 213,
"height": 144, "height": 89,
"platformSettings": {}, "platformSettings": {},
"subMetas": { "subMetas": {
"icon": { "bg_number": {
"ver": "1.0.4", "ver": "1.0.4",
"uuid": "6fbc30a8-3c49-44ae-8ba4-7f56f385b78a", "uuid": "f9920240-3292-4e24-af19-c4066221d56e",
"rawTextureUuid": "18d07592-51a9-421e-8972-0f67b68d29e1", "rawTextureUuid": "d5b80fc2-e965-4490-99b3-431c82452523",
"trimType": "auto", "trimType": "auto",
"trimThreshold": 1, "trimThreshold": 1,
"rotated": false, "rotated": false,
"offsetX": 0, "offsetX": 0,
"offsetY": -0.5, "offsetY": 0.5,
"trimX": 3, "trimX": 4,
"trimY": 2, "trimY": 4,
"width": 138, "width": 205,
"height": 141, "height": 80,
"rawWidth": 144, "rawWidth": 213,
"rawHeight": 144, "rawHeight": 89,
"borderTop": 0, "borderTop": 0,
"borderBottom": 0, "borderBottom": 0,
"borderLeft": 0, "borderLeft": 0,
......
{
"ver": "2.3.5",
"uuid": "fe0057bd-2500-4303-9e17-7d5d742637ce",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "point",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 398,
"height": 172,
"platformSettings": {},
"subMetas": {
"bg_tip": {
"ver": "1.0.4",
"uuid": "dd7d23e4-01e9-4bbc-aefd-cc66da2e441d",
"rawTextureUuid": "fe0057bd-2500-4303-9e17-7d5d742637ce",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 398,
"height": 172,
"rawWidth": 398,
"rawHeight": 172,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "b8822e20-c769-45e5-afa2-74a7fad8429b",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "point",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 1441,
"height": 514,
"platformSettings": {},
"subMetas": {
"bg_tryagain": {
"ver": "1.0.4",
"uuid": "6959f464-2e7f-47a5-8358-51cf5dd1f9bf",
"rawTextureUuid": "b8822e20-c769-45e5-afa2-74a7fad8429b",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 6,
"offsetY": -46.5,
"trimX": 17,
"trimY": 98,
"width": 1419,
"height": 411,
"rawWidth": 1441,
"rawHeight": 514,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "7ea9abd4-8f53-4e03-b5d1-99d8ea6c1ad5",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "point",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 394,
"height": 137,
"platformSettings": {},
"subMetas": {
"bg_tryagainsmall": {
"ver": "1.0.4",
"uuid": "b8490407-4e98-4c70-802c-239e13e6e705",
"rawTextureUuid": "7ea9abd4-8f53-4e03-b5d1-99d8ea6c1ad5",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 2,
"offsetY": -12,
"trimX": 4,
"trimY": 24,
"width": 390,
"height": 113,
"rawWidth": 394,
"rawHeight": 137,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment