Initial commit
|
@ -0,0 +1,2 @@
|
|||
[InternetShortcut]
|
||||
URL=https://docs.cocos.com/creator/manual/en/scripting/setup.html#custom-script-template
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"image": {
|
||||
"type": "sprite-frame"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
#///////////////////////////
|
||||
# Cocos Creator 3D Project
|
||||
#///////////////////////////
|
||||
library/
|
||||
temp/
|
||||
local/
|
||||
build/
|
||||
profiles/
|
||||
native
|
||||
#//////////////////////////
|
||||
# NPM
|
||||
#//////////////////////////
|
||||
node_modules/
|
||||
|
||||
#//////////////////////////
|
||||
# VSCode
|
||||
#//////////////////////////
|
||||
.vscode/
|
||||
|
||||
#//////////////////////////
|
||||
# WebStorm
|
||||
#//////////////////////////
|
||||
.idea/
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "78b85539-ce17-48d8-b265-ae4db4c51cc0",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 297 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "ebc7ce3b-e6fd-4be1-a6a3-c54ff2e5db87",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "ebc7ce3b-e6fd-4be1-a6a3-c54ff2e5db87@6c48a",
|
||||
"displayName": "BG",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "ebc7ce3b-e6fd-4be1-a6a3-c54ff2e5db87",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "ebc7ce3b-e6fd-4be1-a6a3-c54ff2e5db87@f9941",
|
||||
"displayName": "BG",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"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,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-960,
|
||||
-540,
|
||||
0,
|
||||
960,
|
||||
-540,
|
||||
0,
|
||||
-960,
|
||||
540,
|
||||
0,
|
||||
960,
|
||||
540,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
1080,
|
||||
1920,
|
||||
1080,
|
||||
0,
|
||||
0,
|
||||
1920,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-960,
|
||||
-540,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
960,
|
||||
540,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "ebc7ce3b-e6fd-4be1-a6a3-c54ff2e5db87@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "ebc7ce3b-e6fd-4be1-a6a3-c54ff2e5db87@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 82 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "39e019fb-5f0a-4620-9772-63da8db7d311",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "39e019fb-5f0a-4620-9772-63da8db7d311@6c48a",
|
||||
"displayName": "Gameover_Board",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "39e019fb-5f0a-4620-9772-63da8db7d311",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "39e019fb-5f0a-4620-9772-63da8db7d311@f9941",
|
||||
"displayName": "Gameover_Board",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 981,
|
||||
"height": 590,
|
||||
"rawWidth": 981,
|
||||
"rawHeight": 590,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-490.5,
|
||||
-295,
|
||||
0,
|
||||
490.5,
|
||||
-295,
|
||||
0,
|
||||
-490.5,
|
||||
295,
|
||||
0,
|
||||
490.5,
|
||||
295,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
590,
|
||||
981,
|
||||
590,
|
||||
0,
|
||||
0,
|
||||
981,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-490.5,
|
||||
-295,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
490.5,
|
||||
295,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "39e019fb-5f0a-4620-9772-63da8db7d311@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "39e019fb-5f0a-4620-9772-63da8db7d311@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 31 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "ff046972-01bd-4d20-b27d-92120e050ca3",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "ff046972-01bd-4d20-b27d-92120e050ca3@6c48a",
|
||||
"displayName": "Play_Button",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "ff046972-01bd-4d20-b27d-92120e050ca3",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "ff046972-01bd-4d20-b27d-92120e050ca3@f9941",
|
||||
"displayName": "Play_Button",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 478,
|
||||
"height": 194,
|
||||
"rawWidth": 478,
|
||||
"rawHeight": 194,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-239,
|
||||
-97,
|
||||
0,
|
||||
239,
|
||||
-97,
|
||||
0,
|
||||
-239,
|
||||
97,
|
||||
0,
|
||||
239,
|
||||
97,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
194,
|
||||
478,
|
||||
194,
|
||||
0,
|
||||
0,
|
||||
478,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-239,
|
||||
-97,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
239,
|
||||
97,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "ff046972-01bd-4d20-b27d-92120e050ca3@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "ff046972-01bd-4d20-b27d-92120e050ca3@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 21 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "2ee842e1-bb95-48f7-b919-59aadb8e138a",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "2ee842e1-bb95-48f7-b919-59aadb8e138a@6c48a",
|
||||
"displayName": "T_goal",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "2ee842e1-bb95-48f7-b919-59aadb8e138a",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "2ee842e1-bb95-48f7-b919-59aadb8e138a@f9941",
|
||||
"displayName": "T_goal",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0.5,
|
||||
"trimX": 10,
|
||||
"trimY": 15,
|
||||
"width": 236,
|
||||
"height": 88,
|
||||
"rawWidth": 256,
|
||||
"rawHeight": 119,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-118,
|
||||
-44,
|
||||
0,
|
||||
118,
|
||||
-44,
|
||||
0,
|
||||
-118,
|
||||
44,
|
||||
0,
|
||||
118,
|
||||
44,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
10,
|
||||
104,
|
||||
246,
|
||||
104,
|
||||
10,
|
||||
16,
|
||||
246,
|
||||
16
|
||||
],
|
||||
"nuv": [
|
||||
0.0390625,
|
||||
0.13445378151260504,
|
||||
0.9609375,
|
||||
0.13445378151260504,
|
||||
0.0390625,
|
||||
0.8739495798319328,
|
||||
0.9609375,
|
||||
0.8739495798319328
|
||||
],
|
||||
"minPos": [
|
||||
-118,
|
||||
-44,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
118,
|
||||
44,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "2ee842e1-bb95-48f7-b919-59aadb8e138a@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "2ee842e1-bb95-48f7-b919-59aadb8e138a@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 4.5 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "b32b8e37-0a90-4a56-ad3a-060cb0e83298",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "b32b8e37-0a90-4a56-ad3a-060cb0e83298@6c48a",
|
||||
"displayName": "Yes_Button",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "b32b8e37-0a90-4a56-ad3a-060cb0e83298",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "b32b8e37-0a90-4a56-ad3a-060cb0e83298@f9941",
|
||||
"displayName": "Yes_Button",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 377,
|
||||
"height": 114,
|
||||
"rawWidth": 377,
|
||||
"rawHeight": 114,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-188.5,
|
||||
-57,
|
||||
0,
|
||||
188.5,
|
||||
-57,
|
||||
0,
|
||||
-188.5,
|
||||
57,
|
||||
0,
|
||||
188.5,
|
||||
57,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
114,
|
||||
377,
|
||||
114,
|
||||
0,
|
||||
0,
|
||||
377,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-188.5,
|
||||
-57,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
188.5,
|
||||
57,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "b32b8e37-0a90-4a56-ad3a-060cb0e83298@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "b32b8e37-0a90-4a56-ad3a-060cb0e83298@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 4.1 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "4f72234d-abd9-4cef-acf2-bd453ad42c8d",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "4f72234d-abd9-4cef-acf2-bd453ad42c8d@6c48a",
|
||||
"displayName": "ball1",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "4f72234d-abd9-4cef-acf2-bd453ad42c8d",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "4f72234d-abd9-4cef-acf2-bd453ad42c8d@f9941",
|
||||
"displayName": "ball1",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 200,
|
||||
"height": 200,
|
||||
"rawWidth": 200,
|
||||
"rawHeight": 200,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-100,
|
||||
-100,
|
||||
0,
|
||||
100,
|
||||
-100,
|
||||
0,
|
||||
-100,
|
||||
100,
|
||||
0,
|
||||
100,
|
||||
100,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
200,
|
||||
200,
|
||||
200,
|
||||
0,
|
||||
0,
|
||||
200,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-100,
|
||||
-100,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
100,
|
||||
100,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "4f72234d-abd9-4cef-acf2-bd453ad42c8d@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "4f72234d-abd9-4cef-acf2-bd453ad42c8d@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 713 B |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "8bc52c2c-7db5-4951-9bf1-a38f1914bf0e",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "8bc52c2c-7db5-4951-9bf1-a38f1914bf0e@6c48a",
|
||||
"displayName": "characterRed",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "8bc52c2c-7db5-4951-9bf1-a38f1914bf0e",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "8bc52c2c-7db5-4951-9bf1-a38f1914bf0e@f9941",
|
||||
"displayName": "characterRed",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 21,
|
||||
"height": 31,
|
||||
"rawWidth": 21,
|
||||
"rawHeight": 31,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-10.5,
|
||||
-15.5,
|
||||
0,
|
||||
10.5,
|
||||
-15.5,
|
||||
0,
|
||||
-10.5,
|
||||
15.5,
|
||||
0,
|
||||
10.5,
|
||||
15.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
31,
|
||||
21,
|
||||
31,
|
||||
0,
|
||||
0,
|
||||
21,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-10.5,
|
||||
-15.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
10.5,
|
||||
15.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "8bc52c2c-7db5-4951-9bf1-a38f1914bf0e@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "8bc52c2c-7db5-4951-9bf1-a38f1914bf0e@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 5.7 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "99965ba1-0be3-4b32-be47-131eaac4b520",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "99965ba1-0be3-4b32-be47-131eaac4b520@6c48a",
|
||||
"displayName": "flipper",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "99965ba1-0be3-4b32-be47-131eaac4b520",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "99965ba1-0be3-4b32-be47-131eaac4b520@f9941",
|
||||
"displayName": "flipper",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 328,
|
||||
"height": 90,
|
||||
"rawWidth": 328,
|
||||
"rawHeight": 90,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-164,
|
||||
-45,
|
||||
0,
|
||||
164,
|
||||
-45,
|
||||
0,
|
||||
-164,
|
||||
45,
|
||||
0,
|
||||
164,
|
||||
45,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
90,
|
||||
328,
|
||||
90,
|
||||
0,
|
||||
0,
|
||||
328,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-164,
|
||||
-45,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
164,
|
||||
45,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "99965ba1-0be3-4b32-be47-131eaac4b520@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "99965ba1-0be3-4b32-be47-131eaac4b520@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 4.9 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "ed7b6eb5-9598-4de9-bb0d-acd3fabe4867",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "ed7b6eb5-9598-4de9-bb0d-acd3fabe4867@6c48a",
|
||||
"displayName": "slingshot",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "ed7b6eb5-9598-4de9-bb0d-acd3fabe4867",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "ed7b6eb5-9598-4de9-bb0d-acd3fabe4867@f9941",
|
||||
"displayName": "slingshot",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 197,
|
||||
"height": 301,
|
||||
"rawWidth": 197,
|
||||
"rawHeight": 301,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-98.5,
|
||||
-150.5,
|
||||
0,
|
||||
98.5,
|
||||
-150.5,
|
||||
0,
|
||||
-98.5,
|
||||
150.5,
|
||||
0,
|
||||
98.5,
|
||||
150.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
301,
|
||||
197,
|
||||
301,
|
||||
0,
|
||||
0,
|
||||
197,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-98.5,
|
||||
-150.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
98.5,
|
||||
150.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "ed7b6eb5-9598-4de9-bb0d-acd3fabe4867@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "ed7b6eb5-9598-4de9-bb0d-acd3fabe4867@f9941"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "808f6a72-4905-4684-b0ef-a138191db715",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"__type__": "cc.PhysicsMaterial",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"_friction": 2,
|
||||
"_rollingFriction": 0,
|
||||
"_spinningFriction": 0,
|
||||
"_restitution": 0.5
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.0.1",
|
||||
"importer": "physics-material",
|
||||
"imported": true,
|
||||
"uuid": "e48b2190-6e7f-4293-99c7-18cdcc00d3c3",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
After Width: | Height: | Size: 1.5 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "f72f1770-f28c-4784-a68e-83a814c5af3d",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "f72f1770-f28c-4784-a68e-83a814c5af3d@6c48a",
|
||||
"displayName": "wall",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "f72f1770-f28c-4784-a68e-83a814c5af3d",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "f72f1770-f28c-4784-a68e-83a814c5af3d@f9941",
|
||||
"displayName": "wall",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 351,
|
||||
"height": 69,
|
||||
"rawWidth": 351,
|
||||
"rawHeight": 69,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-175.5,
|
||||
-34.5,
|
||||
0,
|
||||
175.5,
|
||||
-34.5,
|
||||
0,
|
||||
-175.5,
|
||||
34.5,
|
||||
0,
|
||||
175.5,
|
||||
34.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
69,
|
||||
351,
|
||||
69,
|
||||
0,
|
||||
0,
|
||||
351,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-175.5,
|
||||
-34.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
175.5,
|
||||
34.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "f72f1770-f28c-4784-a68e-83a814c5af3d@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "f72f1770-f28c-4784-a68e-83a814c5af3d@f9941"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "730ca6ee-2864-4f40-a17c-4eb910458473",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,267 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "Ball",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"data": {
|
||||
"__id__": 1
|
||||
},
|
||||
"optimizationPolicy": 0,
|
||||
"persistent": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Ball",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 2
|
||||
},
|
||||
{
|
||||
"__id__": 4
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
},
|
||||
{
|
||||
"__id__": 8
|
||||
},
|
||||
{
|
||||
"__id__": 10
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 12
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0.3,
|
||||
"y": 0.3,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 200,
|
||||
"height": 200
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "beBPBHPMpEJraWP8VptTuG"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Sprite",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 5
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "4f72234d-abd9-4cef-acf2-bd453ad42c8d@f9941",
|
||||
"__expectedType__": "cc.SpriteFrame"
|
||||
},
|
||||
"_type": 0,
|
||||
"_fillType": 0,
|
||||
"_sizeMode": 1,
|
||||
"_fillCenter": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_fillStart": 0,
|
||||
"_fillRange": 0,
|
||||
"_isTrimmedMode": true,
|
||||
"_useGrayscale": false,
|
||||
"_atlas": null,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "bbNUf7fcREKbdMzeD2KyNQ"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CircleCollider2D",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 7
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 1,
|
||||
"_density": 1,
|
||||
"_sensor": false,
|
||||
"_friction": 0,
|
||||
"_restitution": 0.5,
|
||||
"_offset": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_radius": 100,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "1dqSoMImdC0rB01Xr+HmI/"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RigidBody2D",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 9
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": true,
|
||||
"awakeOnLoad": true,
|
||||
"_group": 1,
|
||||
"_type": 2,
|
||||
"_allowSleep": true,
|
||||
"_gravityScale": 1,
|
||||
"_linearDamping": 0,
|
||||
"_angularDamping": 0,
|
||||
"_linearVelocity": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_angularVelocity": 0,
|
||||
"_fixedRotation": false,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "9crXsAtjdEQIcD0a2IceFl"
|
||||
},
|
||||
{
|
||||
"__type__": "cad12cEubBIXb2NvvCon5Ge",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 11
|
||||
},
|
||||
"maxSpeed": 2,
|
||||
"rigidbody": {
|
||||
"__id__": 8
|
||||
},
|
||||
"collider": {
|
||||
"__id__": 6
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "c1lmpQL0VK3q2DI79nkPRA"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "ecwvc2xHdIf6kSfbLqrETl",
|
||||
"instance": null,
|
||||
"targetOverrides": [
|
||||
{
|
||||
"__id__": 13
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetOverrideInfo",
|
||||
"source": {
|
||||
"__id__": 10
|
||||
},
|
||||
"sourceInfo": null,
|
||||
"propertyPath": [
|
||||
"goalParticle"
|
||||
],
|
||||
"target": null,
|
||||
"targetInfo": {
|
||||
"__id__": 14
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"74gD9Y10BHHIFl8LKXE/Rx"
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "9b471c78-2e1d-4db8-ab08-b3df7c938d64",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Ball"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,748 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "Goal Particle",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"data": {
|
||||
"__id__": 1
|
||||
},
|
||||
"optimizationPolicy": 0,
|
||||
"persistent": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Goal Particle",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 2
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 59
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 1073741824,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ParticleSystem",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_materials": [
|
||||
{
|
||||
"__uuid__": "ea7478b0-408d-4052-b703-f0d2355e095f",
|
||||
"__expectedType__": "cc.Material"
|
||||
}
|
||||
],
|
||||
"_visFlags": 0,
|
||||
"startColor": {
|
||||
"__id__": 4
|
||||
},
|
||||
"scaleSpace": 1,
|
||||
"startSize3D": true,
|
||||
"startSizeX": {
|
||||
"__id__": 9
|
||||
},
|
||||
"startSize": {
|
||||
"__id__": 9
|
||||
},
|
||||
"startSizeY": {
|
||||
"__id__": 10
|
||||
},
|
||||
"startSizeZ": {
|
||||
"__id__": 11
|
||||
},
|
||||
"startSpeed": {
|
||||
"__id__": 12
|
||||
},
|
||||
"startRotation3D": true,
|
||||
"startRotationX": {
|
||||
"__id__": 13
|
||||
},
|
||||
"startRotationY": {
|
||||
"__id__": 14
|
||||
},
|
||||
"startRotationZ": {
|
||||
"__id__": 15
|
||||
},
|
||||
"startRotation": {
|
||||
"__id__": 15
|
||||
},
|
||||
"startDelay": {
|
||||
"__id__": 16
|
||||
},
|
||||
"startLifetime": {
|
||||
"__id__": 17
|
||||
},
|
||||
"duration": 1.5,
|
||||
"loop": false,
|
||||
"simulationSpeed": 1,
|
||||
"playOnAwake": true,
|
||||
"gravityModifier": {
|
||||
"__id__": 18
|
||||
},
|
||||
"rateOverTime": {
|
||||
"__id__": 19
|
||||
},
|
||||
"rateOverDistance": {
|
||||
"__id__": 20
|
||||
},
|
||||
"bursts": [],
|
||||
"_renderCulling": false,
|
||||
"_cullingMode": 0,
|
||||
"_aabbHalfX": 0,
|
||||
"_aabbHalfY": 0,
|
||||
"_aabbHalfZ": 0,
|
||||
"_dataCulling": false,
|
||||
"enableCulling": false,
|
||||
"_colorOverLifetimeModule": {
|
||||
"__id__": 21
|
||||
},
|
||||
"_shapeModule": {
|
||||
"__id__": 23
|
||||
},
|
||||
"_sizeOvertimeModule": {
|
||||
"__id__": 25
|
||||
},
|
||||
"_velocityOvertimeModule": {
|
||||
"__id__": 30
|
||||
},
|
||||
"_forceOvertimeModule": {
|
||||
"__id__": 35
|
||||
},
|
||||
"_limitVelocityOvertimeModule": {
|
||||
"__id__": 39
|
||||
},
|
||||
"_rotationOvertimeModule": {
|
||||
"__id__": 44
|
||||
},
|
||||
"_textureAnimationModule": {
|
||||
"__id__": 48
|
||||
},
|
||||
"_noiseModule": {
|
||||
"__id__": 52
|
||||
},
|
||||
"_trailModule": {
|
||||
"__id__": 53
|
||||
},
|
||||
"renderer": {
|
||||
"__id__": 58
|
||||
},
|
||||
"_prewarm": false,
|
||||
"_capacity": 100,
|
||||
"_simulationSpace": 1,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "74gD9Y10BHHIFl8LKXE/Rx"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 1,
|
||||
"gradient": {
|
||||
"__id__": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Gradient",
|
||||
"colorKeys": [
|
||||
{
|
||||
"__id__": 6
|
||||
},
|
||||
{
|
||||
"__id__": 7
|
||||
},
|
||||
{
|
||||
"__id__": 8
|
||||
}
|
||||
],
|
||||
"alphaKeys": [],
|
||||
"mode": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ColorKey",
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 0,
|
||||
"b": 0,
|
||||
"a": 255
|
||||
},
|
||||
"time": 0.25
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ColorKey",
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 0,
|
||||
"g": 255,
|
||||
"b": 51,
|
||||
"a": 255
|
||||
},
|
||||
"time": 0.5
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ColorKey",
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 0,
|
||||
"g": 173,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"time": 0.75
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 3,
|
||||
"constantMin": 0.1,
|
||||
"constantMax": 0.3,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 3,
|
||||
"constantMin": 0.1,
|
||||
"constantMax": 0.3,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 3,
|
||||
"constantMin": 5,
|
||||
"constantMax": 10,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 3,
|
||||
"constantMin": 0,
|
||||
"constantMax": 0.015230877516916316,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 3,
|
||||
"constantMin": 0,
|
||||
"constantMax": 0.015230877516916316,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 3,
|
||||
"constantMin": 0,
|
||||
"constantMax": 0.0003046123143505703,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 3,
|
||||
"constantMin": 0.3,
|
||||
"constantMax": 1.5,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ColorOvertimeModule",
|
||||
"_enable": false,
|
||||
"color": {
|
||||
"__id__": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 0,
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ShapeModule",
|
||||
"_enable": true,
|
||||
"_shapeType": 4,
|
||||
"shapeType": 4,
|
||||
"emitFrom": 3,
|
||||
"alignToDirection": false,
|
||||
"randomDirectionAmount": 0,
|
||||
"sphericalDirectionAmount": 0,
|
||||
"randomPositionAmount": 0,
|
||||
"radius": 0.05,
|
||||
"radiusThickness": 0,
|
||||
"arcMode": 0,
|
||||
"arcSpread": 0,
|
||||
"arcSpeed": {
|
||||
"__id__": 24
|
||||
},
|
||||
"length": 5,
|
||||
"boxThickness": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_position": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_rotation": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_scale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_arc": 6.283185307179586,
|
||||
"_angle": 0.4363323129985824
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.SizeOvertimeModule",
|
||||
"_enable": false,
|
||||
"separateAxes": false,
|
||||
"size": {
|
||||
"__id__": 26
|
||||
},
|
||||
"x": {
|
||||
"__id__": 27
|
||||
},
|
||||
"y": {
|
||||
"__id__": 28
|
||||
},
|
||||
"z": {
|
||||
"__id__": 29
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.VelocityOvertimeModule",
|
||||
"_enable": false,
|
||||
"x": {
|
||||
"__id__": 31
|
||||
},
|
||||
"y": {
|
||||
"__id__": 32
|
||||
},
|
||||
"z": {
|
||||
"__id__": 33
|
||||
},
|
||||
"speedModifier": {
|
||||
"__id__": 34
|
||||
},
|
||||
"space": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 3,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ForceOvertimeModule",
|
||||
"_enable": false,
|
||||
"x": {
|
||||
"__id__": 36
|
||||
},
|
||||
"y": {
|
||||
"__id__": 37
|
||||
},
|
||||
"z": {
|
||||
"__id__": 38
|
||||
},
|
||||
"space": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.LimitVelocityOvertimeModule",
|
||||
"_enable": false,
|
||||
"limitX": {
|
||||
"__id__": 40
|
||||
},
|
||||
"limitY": {
|
||||
"__id__": 41
|
||||
},
|
||||
"limitZ": {
|
||||
"__id__": 42
|
||||
},
|
||||
"limit": {
|
||||
"__id__": 43
|
||||
},
|
||||
"dampen": 3,
|
||||
"separateAxes": false,
|
||||
"space": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RotationOvertimeModule",
|
||||
"_enable": false,
|
||||
"_separateAxes": false,
|
||||
"x": {
|
||||
"__id__": 45
|
||||
},
|
||||
"y": {
|
||||
"__id__": 46
|
||||
},
|
||||
"z": {
|
||||
"__id__": 47
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TextureAnimationModule",
|
||||
"_enable": false,
|
||||
"_numTilesX": 0,
|
||||
"numTilesX": 0,
|
||||
"_numTilesY": 0,
|
||||
"numTilesY": 0,
|
||||
"_mode": 0,
|
||||
"animation": 0,
|
||||
"frameOverTime": {
|
||||
"__id__": 49
|
||||
},
|
||||
"startFrame": {
|
||||
"__id__": 51
|
||||
},
|
||||
"cycleCount": 0,
|
||||
"_flipU": 0,
|
||||
"_flipV": 0,
|
||||
"_uvChannelMask": -1,
|
||||
"randomRow": false,
|
||||
"rowIndex": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 1,
|
||||
"spline": {
|
||||
"__id__": 50
|
||||
},
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 0,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 0,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 0,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 0,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.NoiseModule",
|
||||
"_enable": false,
|
||||
"_strengthX": 10,
|
||||
"_strengthY": 10,
|
||||
"_strengthZ": 10,
|
||||
"_noiseSpeedX": 0,
|
||||
"_noiseSpeedY": 0,
|
||||
"_noiseSpeedZ": 0,
|
||||
"_noiseFrequency": 1,
|
||||
"_remapX": 0,
|
||||
"_remapY": 0,
|
||||
"_remapZ": 0,
|
||||
"_octaves": 1,
|
||||
"_octaveMultiplier": 0.5,
|
||||
"_octaveScale": 2
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TrailModule",
|
||||
"_enable": false,
|
||||
"mode": 0,
|
||||
"lifeTime": {
|
||||
"__id__": 54
|
||||
},
|
||||
"_minParticleDistance": 0.1,
|
||||
"existWithParticles": true,
|
||||
"textureMode": 0,
|
||||
"widthFromParticle": true,
|
||||
"widthRatio": {
|
||||
"__id__": 55
|
||||
},
|
||||
"colorFromParticle": false,
|
||||
"colorOverTrail": {
|
||||
"__id__": 56
|
||||
},
|
||||
"colorOvertime": {
|
||||
"__id__": 57
|
||||
},
|
||||
"_space": 0,
|
||||
"_particleSystem": {
|
||||
"__id__": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 0,
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 0,
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ParticleSystemRenderer",
|
||||
"_renderMode": 0,
|
||||
"_velocityScale": 1,
|
||||
"_lengthScale": 1,
|
||||
"_mesh": null,
|
||||
"_cpuMaterial": {
|
||||
"__uuid__": "ea7478b0-408d-4052-b703-f0d2355e095f",
|
||||
"__expectedType__": "cc.Material"
|
||||
},
|
||||
"_gpuMaterial": null,
|
||||
"_mainTexture": {
|
||||
"__uuid__": "b5b27ab1-e740-4398-b407-848fc2b2c897@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
},
|
||||
"_useGPU": false,
|
||||
"_alignSpace": 2
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "65yusfkDBDE68dh4sqPVS4",
|
||||
"targetOverrides": null
|
||||
}
|
||||
]
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "f54a7c19-37d5-4255-9336-f6df0e956be7",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Goal Particle"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "4b7ba894-d27b-4472-9a6b-5a08f677f44f",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,611 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "Easy Obstacle 1",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"data": {
|
||||
"__id__": 1
|
||||
},
|
||||
"optimizationPolicy": 0,
|
||||
"persistent": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Easy Obstacle 1",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 2
|
||||
},
|
||||
{
|
||||
"__id__": 4
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
},
|
||||
{
|
||||
"__id__": 14
|
||||
},
|
||||
{
|
||||
"__id__": 22
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 30
|
||||
},
|
||||
{
|
||||
"__id__": 32
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 34
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Waypoint L",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [],
|
||||
"_prefab": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -75,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "de8VqIuyVFIJIRj77PlLqI",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Waypoint R",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [],
|
||||
"_prefab": {
|
||||
"__id__": 5
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 75,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "8ezI4xD7dPB7nmq1CTcPMa",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 7
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 6
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "f49ff774-8d49-42fd-81de-aeb7f53d03f5",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "a0kYAhzm5AAa3h8r/fe/j5",
|
||||
"instance": {
|
||||
"__id__": 8
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "e633jfzBlG8YZuWVy1ieV8",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 9
|
||||
},
|
||||
{
|
||||
"__id__": 11
|
||||
},
|
||||
{
|
||||
"__id__": 12
|
||||
},
|
||||
{
|
||||
"__id__": 13
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 10
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Obstacle"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"a0kYAhzm5AAa3h8r/fe/j5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 10
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 75,
|
||||
"y": -80,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 10
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -0.7071067811865475,
|
||||
"w": 0.7071067811865476
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 10
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -90
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 15
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 14
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "f49ff774-8d49-42fd-81de-aeb7f53d03f5",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "a0kYAhzm5AAa3h8r/fe/j5",
|
||||
"instance": {
|
||||
"__id__": 16
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "369FaOtYlAMoSc+EHcwivl",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 17
|
||||
},
|
||||
{
|
||||
"__id__": 19
|
||||
},
|
||||
{
|
||||
"__id__": 20
|
||||
},
|
||||
{
|
||||
"__id__": 21
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 18
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Obstacle"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"a0kYAhzm5AAa3h8r/fe/j5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 18
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -75,
|
||||
"y": -80,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 18
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -0.7071067811865475,
|
||||
"w": 0.7071067811865476
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 18
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -90
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 23
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 22
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "f49ff774-8d49-42fd-81de-aeb7f53d03f5",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "a0kYAhzm5AAa3h8r/fe/j5",
|
||||
"instance": {
|
||||
"__id__": 24
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "c5w6eyXR5HprwDgmS1eEzX",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 25
|
||||
},
|
||||
{
|
||||
"__id__": 27
|
||||
},
|
||||
{
|
||||
"__id__": 28
|
||||
},
|
||||
{
|
||||
"__id__": 29
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 26
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Obstacle"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"a0kYAhzm5AAa3h8r/fe/j5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 26
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 26
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -0.7071067811865475,
|
||||
"w": 0.7071067811865476
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 26
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -90
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 31
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 100,
|
||||
"height": 100
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "95+Xig555LLYmKXCqZB+hR"
|
||||
},
|
||||
{
|
||||
"__type__": "c8e705yAJlBEKcUg/gyt/xJ",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 33
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"__id__": 6
|
||||
},
|
||||
{
|
||||
"__id__": 14
|
||||
},
|
||||
{
|
||||
"__id__": 22
|
||||
}
|
||||
],
|
||||
"waypoints": [
|
||||
{
|
||||
"__id__": 4
|
||||
},
|
||||
{
|
||||
"__id__": 2
|
||||
}
|
||||
],
|
||||
"speed": 1,
|
||||
"selectedObstacle": null,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "9d9KKHmPlB6JUx7ketBzxb"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "8bAB5AG0pEMal3JgTX45pf",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 22
|
||||
},
|
||||
{
|
||||
"__id__": 14
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "f30b309a-4220-4c22-b3d5-ac450258eb77",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Easy Obstacle 1"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,601 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "Easy Obstacle 2",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"data": {
|
||||
"__id__": 1
|
||||
},
|
||||
"optimizationPolicy": 0,
|
||||
"persistent": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Easy Obstacle 2",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 2
|
||||
},
|
||||
{
|
||||
"__id__": 4
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
},
|
||||
{
|
||||
"__id__": 14
|
||||
},
|
||||
{
|
||||
"__id__": 22
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 30
|
||||
},
|
||||
{
|
||||
"__id__": 32
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 34
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 200,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Waypoint L",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [],
|
||||
"_prefab": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -60,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "de8VqIuyVFIJIRj77PlLqI",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Waypoint R",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [],
|
||||
"_prefab": {
|
||||
"__id__": 5
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 60,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "8ezI4xD7dPB7nmq1CTcPMa",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 7
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 6
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "f49ff774-8d49-42fd-81de-aeb7f53d03f5",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "a0kYAhzm5AAa3h8r/fe/j5",
|
||||
"instance": {
|
||||
"__id__": 8
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "d5MUuJhTtHPqoYxWAJkdvs",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 9
|
||||
},
|
||||
{
|
||||
"__id__": 11
|
||||
},
|
||||
{
|
||||
"__id__": 12
|
||||
},
|
||||
{
|
||||
"__id__": 13
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 10
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Obstacle"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"a0kYAhzm5AAa3h8r/fe/j5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 10
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 60,
|
||||
"y": -90,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 10
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -0.7071067811865475,
|
||||
"w": 0.7071067811865476
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 10
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -90
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 15
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 14
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "f49ff774-8d49-42fd-81de-aeb7f53d03f5",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "a0kYAhzm5AAa3h8r/fe/j5",
|
||||
"instance": {
|
||||
"__id__": 16
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "e1NT6f+hhFro0n3pDSh9q8",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 17
|
||||
},
|
||||
{
|
||||
"__id__": 19
|
||||
},
|
||||
{
|
||||
"__id__": 20
|
||||
},
|
||||
{
|
||||
"__id__": 21
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 18
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Obstacle"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"a0kYAhzm5AAa3h8r/fe/j5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 18
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 60,
|
||||
"y": -170,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 18
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -0.7071067811865475,
|
||||
"w": 0.7071067811865476
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 18
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -90
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 23
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 22
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "f49ff774-8d49-42fd-81de-aeb7f53d03f5",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "a0kYAhzm5AAa3h8r/fe/j5",
|
||||
"instance": {
|
||||
"__id__": 24
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "80I6iQCNhH2LFLQwLhSOR/",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 25
|
||||
},
|
||||
{
|
||||
"__id__": 27
|
||||
},
|
||||
{
|
||||
"__id__": 28
|
||||
},
|
||||
{
|
||||
"__id__": 29
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 26
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Obstacle"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"a0kYAhzm5AAa3h8r/fe/j5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 26
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 60,
|
||||
"y": -250,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 26
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -0.7071067811865475,
|
||||
"w": 0.7071067811865476
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 26
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -90
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 31
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 100,
|
||||
"height": 100
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "95+Xig555LLYmKXCqZB+hR"
|
||||
},
|
||||
{
|
||||
"__type__": "c8e705yAJlBEKcUg/gyt/xJ",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 33
|
||||
},
|
||||
"targets": [],
|
||||
"waypoints": [
|
||||
{
|
||||
"__id__": 4
|
||||
},
|
||||
{
|
||||
"__id__": 2
|
||||
}
|
||||
],
|
||||
"speed": 1,
|
||||
"selectedObstacle": null,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "9d9KKHmPlB6JUx7ketBzxb"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "8bAB5AG0pEMal3JgTX45pf",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 22
|
||||
},
|
||||
{
|
||||
"__id__": 14
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "36df1e3d-a2ea-4b8d-8a5c-fc97275927ed",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Easy Obstacle 2"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,605 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "Easy Obstacle 3",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"data": {
|
||||
"__id__": 1
|
||||
},
|
||||
"optimizationPolicy": 0,
|
||||
"persistent": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Easy Obstacle 3",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 2
|
||||
},
|
||||
{
|
||||
"__id__": 4
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
},
|
||||
{
|
||||
"__id__": 14
|
||||
},
|
||||
{
|
||||
"__id__": 22
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 30
|
||||
},
|
||||
{
|
||||
"__id__": 32
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 34
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 200,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Waypoint L",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [],
|
||||
"_prefab": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -60,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "de8VqIuyVFIJIRj77PlLqI",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Waypoint R",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [],
|
||||
"_prefab": {
|
||||
"__id__": 5
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 60,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "8ezI4xD7dPB7nmq1CTcPMa",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 7
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 6
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "f49ff774-8d49-42fd-81de-aeb7f53d03f5",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "a0kYAhzm5AAa3h8r/fe/j5",
|
||||
"instance": {
|
||||
"__id__": 8
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "d5MUuJhTtHPqoYxWAJkdvs",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 9
|
||||
},
|
||||
{
|
||||
"__id__": 11
|
||||
},
|
||||
{
|
||||
"__id__": 12
|
||||
},
|
||||
{
|
||||
"__id__": 13
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 10
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Obstacle"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"a0kYAhzm5AAa3h8r/fe/j5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 10
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -120,
|
||||
"y": 120,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 10
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -0.7071067811865475,
|
||||
"w": 0.7071067811865476
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 10
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -90
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 15
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 14
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "f49ff774-8d49-42fd-81de-aeb7f53d03f5",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "a0kYAhzm5AAa3h8r/fe/j5",
|
||||
"instance": {
|
||||
"__id__": 16
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "e1NT6f+hhFro0n3pDSh9q8",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 17
|
||||
},
|
||||
{
|
||||
"__id__": 19
|
||||
},
|
||||
{
|
||||
"__id__": 20
|
||||
},
|
||||
{
|
||||
"__id__": 21
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 18
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Obstacle"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"a0kYAhzm5AAa3h8r/fe/j5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 18
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -60,
|
||||
"y": -20,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 18
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -0.7071067811865475,
|
||||
"w": 0.7071067811865476
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 18
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -90
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 23
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 22
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "f49ff774-8d49-42fd-81de-aeb7f53d03f5",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "a0kYAhzm5AAa3h8r/fe/j5",
|
||||
"instance": {
|
||||
"__id__": 24
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "80I6iQCNhH2LFLQwLhSOR/",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 25
|
||||
},
|
||||
{
|
||||
"__id__": 27
|
||||
},
|
||||
{
|
||||
"__id__": 28
|
||||
},
|
||||
{
|
||||
"__id__": 29
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 26
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Obstacle"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"a0kYAhzm5AAa3h8r/fe/j5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 26
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -50,
|
||||
"y": -150,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 26
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -0.7071067811865475,
|
||||
"w": 0.7071067811865476
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 26
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -90
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 31
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 100,
|
||||
"height": 100
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "95+Xig555LLYmKXCqZB+hR"
|
||||
},
|
||||
{
|
||||
"__type__": "c8e705yAJlBEKcUg/gyt/xJ",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 33
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"__id__": 14
|
||||
}
|
||||
],
|
||||
"waypoints": [
|
||||
{
|
||||
"__id__": 4
|
||||
},
|
||||
{
|
||||
"__id__": 2
|
||||
}
|
||||
],
|
||||
"speed": 1,
|
||||
"selectedObstacle": null,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "9d9KKHmPlB6JUx7ketBzxb"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "8bAB5AG0pEMal3JgTX45pf",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 22
|
||||
},
|
||||
{
|
||||
"__id__": 14
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "1f197242-be22-45c5-8050-73114637003e",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Easy Obstacle 3"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,216 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "Obstacle",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"data": {
|
||||
"__id__": 1
|
||||
},
|
||||
"optimizationPolicy": 0,
|
||||
"persistent": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Obstacle",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 2
|
||||
},
|
||||
{
|
||||
"__id__": 4
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
},
|
||||
{
|
||||
"__id__": 8
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 10
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -175,
|
||||
"y": 380,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -0.7071067811865475,
|
||||
"w": 0.7071067811865476
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -90
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 21,
|
||||
"height": 31
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "45QTNNbC9OUYDRRzKHu6WV"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Sprite",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 5
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "8bc52c2c-7db5-4951-9bf1-a38f1914bf0e@f9941",
|
||||
"__expectedType__": "cc.SpriteFrame"
|
||||
},
|
||||
"_type": 0,
|
||||
"_fillType": 0,
|
||||
"_sizeMode": 1,
|
||||
"_fillCenter": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_fillStart": 0,
|
||||
"_fillRange": 0,
|
||||
"_isTrimmedMode": true,
|
||||
"_useGrayscale": false,
|
||||
"_atlas": null,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "08nypWEwZI2pSnaYoRCRKW"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.BoxCollider2D",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 7
|
||||
},
|
||||
"tag": 3,
|
||||
"_group": 1,
|
||||
"_density": 1,
|
||||
"_sensor": false,
|
||||
"_friction": 0.2,
|
||||
"_restitution": 0,
|
||||
"_offset": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_size": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 20,
|
||||
"height": 32
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "7egu3Zm5tHjb52E6fmax1G"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RigidBody2D",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 9
|
||||
},
|
||||
"enabledContactListener": false,
|
||||
"bullet": false,
|
||||
"awakeOnLoad": false,
|
||||
"_group": 1,
|
||||
"_type": 0,
|
||||
"_allowSleep": true,
|
||||
"_gravityScale": 0,
|
||||
"_linearDamping": 0,
|
||||
"_angularDamping": 0,
|
||||
"_linearVelocity": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_angularVelocity": 0,
|
||||
"_fixedRotation": true,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "39ENf+Cn1O95ZEF7CNhWT+"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "a0kYAhzm5AAa3h8r/fe/j5",
|
||||
"instance": null,
|
||||
"targetOverrides": null
|
||||
}
|
||||
]
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "f49ff774-8d49-42fd-81de-aeb7f53d03f5",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Obstacle"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "0eceae98-c740-447e-a39b-70f6d695ceb6",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "scene",
|
||||
"imported": true,
|
||||
"uuid": "3ce41ed6-6584-40b1-94f9-8464439aa57d",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "scene",
|
||||
"imported": true,
|
||||
"uuid": "4c16bf85-f009-4abe-b793-f3a1924392e4",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "8008f10e-fa35-4d25-84e2-e3f6ab2b470f",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,190 @@
|
|||
import { _decorator } from 'cc';
|
||||
import * as CryptoES from "crypto-es";
|
||||
import { GameplayController } from './GameplayController';
|
||||
export let CryptoESDefault = CryptoES.default;
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
|
||||
@ccclass('BEConnector')
|
||||
export default class BEConnector {
|
||||
public static _instance: BEConnector = null;
|
||||
|
||||
private token: string;
|
||||
private skinId: string;
|
||||
private tournamentId: string;
|
||||
private key: string;
|
||||
private deviceInfo: string;
|
||||
|
||||
// Ticket infors
|
||||
public numberTicket: number;
|
||||
public maxScore: number;
|
||||
private mileStone: string;
|
||||
|
||||
private gameURL: string = "";
|
||||
|
||||
public static get instance() {
|
||||
if (null == this._instance) {
|
||||
this._instance = new BEConnector();
|
||||
}
|
||||
return this._instance;
|
||||
}
|
||||
|
||||
constructor() {
|
||||
this.getGameData();
|
||||
}
|
||||
|
||||
public getGameData() {
|
||||
let url = new URLSearchParams(window.location.search);
|
||||
|
||||
this.token = url.get('token')
|
||||
this.skinId = url.get('skinId')
|
||||
this.tournamentId = url.get('tournamentId')
|
||||
this.deviceInfo = url.get('deviceInfo')
|
||||
|
||||
this.numberTicket = parseInt(url.get('numberTicket'));
|
||||
this.maxScore = parseInt(url.get('maxScore'));
|
||||
this.mileStone = url.get("mileStone");
|
||||
this.gameURL = ENV_CONFIG[url.get('env')];
|
||||
}
|
||||
|
||||
public async authenticate() {
|
||||
await fetch(`${this.gameURL}/promotions/authenticate-tournament?token=${this.token}&tournamentId=${this.tournamentId}&skinId=${this.skinId}&deviceInfo=${this.deviceInfo}`)
|
||||
.then((response) => {
|
||||
if (response.ok) {
|
||||
return response.json();
|
||||
}
|
||||
})
|
||||
.then(data => {
|
||||
if (data.ResultCode == 1) {
|
||||
this.key = data.Data.Key;
|
||||
console.log("authen success", this.key);
|
||||
}
|
||||
else {
|
||||
throw new Error("");
|
||||
}
|
||||
})
|
||||
.catch(err => console.log("authen failed"));
|
||||
}
|
||||
|
||||
public ticketMinus(type: "auth" | "revive") {
|
||||
let numberTicket = type === "auth" ? 1 : this.getTicketCanBeMinus();
|
||||
let dataEncrypted: string = this.getDataEncrypted({ type: type, total: numberTicket });
|
||||
|
||||
fetch(`${this.gameURL}/promotions/ticket-minus/${this.tournamentId}/${this.skinId}?cocos=1`, {
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json',
|
||||
'x-access-refactor-token': this.token,
|
||||
},
|
||||
method: "POST",
|
||||
body: JSON.stringify({ data: dataEncrypted })
|
||||
})
|
||||
.then(() => {
|
||||
this.numberTicket -= numberTicket;
|
||||
})
|
||||
}
|
||||
|
||||
public calculatingTicketToContinue(scoreRange: object, yourScore: number) {
|
||||
let closestMilestone: number = 0;
|
||||
for (const milestone in scoreRange) {
|
||||
if (parseInt(milestone) <= yourScore) {
|
||||
closestMilestone = scoreRange[milestone];
|
||||
}
|
||||
}
|
||||
if (!closestMilestone) {
|
||||
const minValue = Math.min(...Object.values(scoreRange));
|
||||
closestMilestone = minValue;
|
||||
}
|
||||
return closestMilestone
|
||||
}
|
||||
|
||||
public async checkGameScoreTicket() {
|
||||
let totalScore: number = GameplayController.Instance().score;
|
||||
let dataEncrypted: string = this.getDataEncrypted({ score: totalScore, ticket: this.getTicketCanBeMinus() })
|
||||
|
||||
await fetch(`${this.gameURL}/promotions/check-game-score-ticket/${this.tournamentId}/${this.skinId}?cocos=1`, {
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json',
|
||||
'x-access-refactor-token': this.token,
|
||||
},
|
||||
method: "POST",
|
||||
body: JSON.stringify({ data: dataEncrypted })
|
||||
})
|
||||
}
|
||||
|
||||
public postMessage() {
|
||||
let totalScore: number = GameplayController.Instance().score;
|
||||
// window.parent.postMessage(
|
||||
// JSON.stringify({
|
||||
// error: false,
|
||||
// message: "Hello World",
|
||||
// score: totalScore,
|
||||
// type: "paypal_modal",
|
||||
// }),
|
||||
// "*"
|
||||
// );
|
||||
setTimeout(() => {
|
||||
BEConnector.instance.numberTicket += 5
|
||||
GameplayController.Instance().OnRevive();
|
||||
}, 2000);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public postScoreToServer(score: number) {
|
||||
let dataEncrypted: string = this.getDataEncrypted({ Score: score, TournamentId: this.tournamentId, SkinId: this.skinId });
|
||||
|
||||
fetch(`${this.gameURL}/promotions/store-score-tournament?tournamentId=${this.tournamentId}&skinId=${this.skinId}&cocos=1`, {
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json',
|
||||
'x-access-refactor-token': this.token,
|
||||
},
|
||||
method: "POST",
|
||||
body: JSON.stringify({ data: dataEncrypted })
|
||||
|
||||
|
||||
})
|
||||
.catch(err => console.log(err));
|
||||
console.log("send score to server: " + score);
|
||||
|
||||
window.parent.postMessage(
|
||||
JSON.stringify({
|
||||
error: false,
|
||||
message: "Hello World",
|
||||
score: score,
|
||||
type: "game_tournament",
|
||||
}),
|
||||
"*"
|
||||
);
|
||||
}
|
||||
|
||||
private getDataEncrypted(data: any): string {
|
||||
return CryptoESDefault.AES.encrypt(JSON.stringify(data), this.key, {
|
||||
iv: CryptoESDefault.enc.Utf8.parse('16'),
|
||||
mode: CryptoESDefault.mode.CBC,
|
||||
padding: CryptoESDefault.pad.Pkcs7
|
||||
}).toString();
|
||||
}
|
||||
|
||||
public getTicketCanBeMinus() {
|
||||
let mileStone = JSON.parse(this.mileStone);
|
||||
let currentScore = GameplayController.Instance().score;
|
||||
let total = this.calculatingTicketToContinue(mileStone, currentScore);
|
||||
return total;
|
||||
}
|
||||
|
||||
public canRelive() {
|
||||
return this.numberTicket > this.getTicketCanBeMinus();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const ENV_CONFIG = {
|
||||
"development": "http://192.168.1.144:3009/api",
|
||||
"staging": "https://api.play4promote.com/api",
|
||||
"production": "https://api.play4promo.com/api"
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "28d9c88b-9c32-4adf-96e3-00872db954da",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
import { _decorator, CCFloat, Collider, Collider2D, Component, Contact2DType, director, EventTarget, IPhysics2DContact, ParticleSystem, RigidBody2D, Vec2, } from 'cc';
|
||||
import { GameplayController } from './GameplayController';
|
||||
import { SoundManager } from './SoundManager';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('Ball')
|
||||
export class Ball extends Component {
|
||||
@property({ visible: true, type: CCFloat })
|
||||
public maxSpeed: number;
|
||||
@property({ visible: true, type: RigidBody2D })
|
||||
public rigidbody: RigidBody2D;
|
||||
@property(Collider2D)
|
||||
public collider: Collider2D;
|
||||
public isActive: boolean;
|
||||
|
||||
public eventHitObstacle = new EventTarget();
|
||||
public eventGoal = new EventTarget();
|
||||
|
||||
protected start(): void {
|
||||
if (this.getComponent(Collider2D)) {
|
||||
this.collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
|
||||
this.collider.on(Contact2DType.END_CONTACT, this.onEndContact, this);
|
||||
}
|
||||
}
|
||||
protected update(dt: number): void {
|
||||
// if (this.rigidbody.linearVelocity.length() > this.maxSpeed) {
|
||||
// //this.rigidbody.linearVelocity.set(this.rigidbody.linearVelocity.normalize().multiplyScalar(this.maxSpeed));
|
||||
// this.rigidbody.applyLinearImpulseToCenter(this.rigidbody.linearVelocity.normalize().multiplyScalar(this.maxSpeed), true);
|
||||
// }
|
||||
}
|
||||
|
||||
private onBeginContact(selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
|
||||
// Hit boundary
|
||||
if (otherCollider.tag == 1) {
|
||||
this.node.active = false;
|
||||
// GameplayController.Instance().SpawnBallInTime(1);
|
||||
GameplayController.Instance().LoseStreak();
|
||||
SoundManager.Instance().PlayOneShot(SoundManager.Instance().hitGround);
|
||||
return;
|
||||
}
|
||||
|
||||
// Hit goal
|
||||
if (otherCollider.tag == 2) {
|
||||
this.node.active = false;
|
||||
GameplayController.Instance().AddScore(1);
|
||||
// GameplayController.Instance().SpawnBallInTime(1);
|
||||
SoundManager.Instance().PlayOneShot(SoundManager.Instance().goal);
|
||||
|
||||
this.eventGoal.emit("Goal");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Hit obstacle
|
||||
if (otherCollider.tag == 3) {
|
||||
this.eventHitObstacle.emit("HitObstacle", otherCollider.node);
|
||||
return;
|
||||
}
|
||||
|
||||
SoundManager.Instance().PlayOneShot(SoundManager.Instance().hitPlayer);
|
||||
}
|
||||
|
||||
private onEndContact(selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
|
||||
// console.log(otherCollider.tag, otherCollider.node.name);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "cad12704-b9b0-485d-bd8d-bef0a89f919e",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,148 @@
|
|||
import { _decorator, bezier, Button, CCInteger, Component, EventTarget, Label, log, Node, EventTouch } from 'cc';
|
||||
import { GameplayController } from './GameplayController';
|
||||
import BEConnector from './BEConnector';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
export enum PanelState {
|
||||
NotShowing,
|
||||
CompareScore,
|
||||
Continue,
|
||||
ShowResult
|
||||
}
|
||||
@ccclass('EndGameUIController')
|
||||
export class EndGameUIController extends Component {
|
||||
@property(CCInteger)
|
||||
private countdownTime: number = 15;
|
||||
private currentCD: number = 15;
|
||||
|
||||
private isContinuable: boolean = true;
|
||||
private isEndGameByTime: boolean = false;
|
||||
private currentState: PanelState = PanelState.NotShowing;
|
||||
|
||||
// Texts
|
||||
@property(Label)
|
||||
private yourScoreTxt: Label = null;
|
||||
@property(Label)
|
||||
private topScoreTxt: Label = null;
|
||||
@property(Label)
|
||||
private continueTxt: Label = null;
|
||||
@property(Label)
|
||||
private countdownToReplayTxt: Label = null;
|
||||
|
||||
// Buttons
|
||||
@property(Button)
|
||||
private yesBtn: Label = null;
|
||||
@property(Button)
|
||||
private noBtn: Label = null;
|
||||
|
||||
// Panel
|
||||
@property(Node)
|
||||
private compareScorePnl: Node = null;
|
||||
@property(Node)
|
||||
private continuePnl: Node = null;
|
||||
@property(Node)
|
||||
private finalResultPnl: Node = null;
|
||||
|
||||
private eventRevive = new EventTarget();
|
||||
|
||||
//#region Cocos methods
|
||||
protected onEnable(): void {
|
||||
this.Setup();
|
||||
this.currentCD = this.countdownTime;
|
||||
}
|
||||
protected update(dt: number): void {
|
||||
if (this.isEndGameByTime == true) return;
|
||||
|
||||
this.currentCD -= dt;
|
||||
this.countdownToReplayTxt.string = Math.round(this.currentCD).toString();
|
||||
|
||||
if (this.currentCD <= 0 && !this.isEndGameByTime) {
|
||||
this.currentCD = 0;
|
||||
this.ChangeState(PanelState.ShowResult);
|
||||
this.isEndGameByTime = true;
|
||||
}
|
||||
}
|
||||
//#endregion
|
||||
|
||||
private Setup(): void {
|
||||
if (this.isContinuable)
|
||||
this.ChangeState(PanelState.CompareScore);
|
||||
else
|
||||
this.ChangeState(PanelState.ShowResult);
|
||||
}
|
||||
|
||||
private ChangeState(newState: PanelState): void {
|
||||
if (this.currentState == newState) return;
|
||||
|
||||
this.currentState = newState;
|
||||
switch (this.currentState) {
|
||||
case PanelState.CompareScore:
|
||||
this.TurnOffAllPanels(this.compareScorePnl);
|
||||
var totalScore = GameplayController.Instance().score + GameplayController.Instance().highestStreak * 2;
|
||||
this.yourScoreTxt.string = "Your score: " + totalScore;
|
||||
|
||||
/// Todo: set top score here
|
||||
break;
|
||||
case PanelState.Continue:
|
||||
this.TurnOffAllPanels(this.continuePnl);
|
||||
var ticket = BEConnector.instance.numberTicket;
|
||||
|
||||
if (ticket >= BEConnector.instance.getTicketCanBeMinus()) {
|
||||
this.continueTxt.string = "To continue playing, you will be deducted " + ticket +
|
||||
" Extras. Do you want to proceed?";
|
||||
}
|
||||
else {
|
||||
this.continueTxt.string =
|
||||
"You don't have enough Extras to continue playing. Would you like to buy more tickets?";
|
||||
}
|
||||
break;
|
||||
case PanelState.ShowResult:
|
||||
this.yesBtn.node.active = false;
|
||||
this.noBtn.node.active = false;
|
||||
this.countdownToReplayTxt.node.active = false;
|
||||
|
||||
this.TurnOffAllPanels(this.finalResultPnl);
|
||||
BEConnector.instance.postScoreToServer(GameplayController.Instance().score);
|
||||
break;
|
||||
}
|
||||
}
|
||||
private TurnOffAllPanels(activePnl: Node): void {
|
||||
this.compareScorePnl.active = false;
|
||||
this.continuePnl.active = false;
|
||||
this.finalResultPnl.active = false;
|
||||
if (activePnl != null)
|
||||
activePnl.active = true;
|
||||
}
|
||||
|
||||
public YesNoClick(e: EventTouch, yesNoString: string): void {
|
||||
var isYesClick = true;
|
||||
if (yesNoString == "true")
|
||||
isYesClick = true;
|
||||
else isYesClick = false;
|
||||
|
||||
switch (this.currentState) {
|
||||
case PanelState.CompareScore:
|
||||
if (isYesClick)
|
||||
this.ChangeState(PanelState.Continue);
|
||||
else
|
||||
this.ChangeState(PanelState.ShowResult);
|
||||
break;
|
||||
case PanelState.Continue:
|
||||
if (isYesClick) {
|
||||
var ticket = BEConnector.instance.getTicketCanBeMinus();
|
||||
if (BEConnector.instance.numberTicket >= ticket) {
|
||||
GameplayController.Instance().OnRevive();
|
||||
BEConnector.instance.ticketMinus("revive");
|
||||
this.isContinuable = false;
|
||||
}
|
||||
else
|
||||
BEConnector.instance.postMessage();
|
||||
}
|
||||
else {
|
||||
this.ChangeState(PanelState.CompareScore);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "27b91595-c9a1-43da-9109-716b0dd7b6ee",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
export enum EventType {
|
||||
MainMenu = "MainMenu",
|
||||
StartGame = "StartGame",
|
||||
PlayGame = "Playgame",
|
||||
UpdateScore = "SendScore",
|
||||
UpdateStreak = "UpdateSteak",
|
||||
UpdateHighestStreak = "UpdateHighestStreak",
|
||||
UpdateBall = "UpdateBall",
|
||||
EndGame = "EndGame"
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "ed2d5377-8be4-48b3-87bd-af395745c81d",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
import { _decorator, Component, HingeJoint2D, Node, input, Input, EventMouse, CCFloat } from 'cc';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('Flipper')
|
||||
export class Flipper extends Component {
|
||||
@property({ visible: true, type: HingeJoint2D })
|
||||
public _hingeJoint: HingeJoint2D;
|
||||
@property({ visible: true, type: CCFloat })
|
||||
public _motorSpeedActive: number;
|
||||
@property({ visible: true, type: CCFloat })
|
||||
public _motorSpeedDeActive: number;
|
||||
|
||||
public ActiveFlipper(): void {
|
||||
this._hingeJoint.motorSpeed = this._motorSpeedActive;
|
||||
}
|
||||
public DeActiveFlipper(): void {
|
||||
this._hingeJoint.motorSpeed = this._motorSpeedDeActive;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "c3f2b353-5fa6-4517-93b8-9ec8c8ff0006",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
import { _decorator, Component, EventKeyboard, EventMouse, EventTouch, Input, input, KeyCode, log, Node, view } from 'cc';
|
||||
import { Flipper } from './Flipper';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('FlipperController')
|
||||
export class FlipperController extends Component {
|
||||
@property(Flipper)
|
||||
public lFlipper: Flipper;
|
||||
@property(Flipper)
|
||||
public rFlipper: Flipper;
|
||||
|
||||
protected onLoad(): void {
|
||||
// Mouse input
|
||||
// input.on(Input.EventType.MOUSE_DOWN, this.HandleFlipperActive, this);
|
||||
// input.on(Input.EventType.MOUSE_UP, this.HandleFlipperDeActive, this);
|
||||
|
||||
// Keyboard
|
||||
input.on(Input.EventType.KEY_DOWN, this.OnKeyDown, this);
|
||||
input.on(Input.EventType.KEY_UP, this.OnKeyUp, this);
|
||||
|
||||
// Touch
|
||||
input.on(Input.EventType.TOUCH_START, this.HandleFlipperActiveTouch, this);
|
||||
input.on(Input.EventType.TOUCH_END, this.HandleFlipperDeActiveTouch, this);
|
||||
}
|
||||
//#region Handle mouse/touch input
|
||||
private HandleFlipperActive(params: EventMouse): void {
|
||||
if (params.getLocationX() > screen.width / 2)
|
||||
this.rFlipper.ActiveFlipper();
|
||||
else this.lFlipper.ActiveFlipper();
|
||||
}
|
||||
private HandleFlipperDeActive(params: EventMouse): void {
|
||||
this.rFlipper.DeActiveFlipper();
|
||||
this.lFlipper.DeActiveFlipper();
|
||||
}
|
||||
private HandleFlipperActiveTouch(params: EventTouch): void {
|
||||
if (params.getLocationX() > view.getFrameSize().x) {
|
||||
console.log("right");
|
||||
this.rFlipper.ActiveFlipper();
|
||||
}
|
||||
|
||||
else {
|
||||
console.log("left");
|
||||
this.lFlipper.ActiveFlipper();
|
||||
}
|
||||
}
|
||||
private HandleFlipperDeActiveTouch(params: EventTouch): void {
|
||||
this.rFlipper.DeActiveFlipper();
|
||||
this.lFlipper.DeActiveFlipper();
|
||||
}
|
||||
//#endregion
|
||||
|
||||
private OnKeyDown(event: EventKeyboard) {
|
||||
switch (event.keyCode) {
|
||||
case KeyCode.KEY_A:
|
||||
this.lFlipper.ActiveFlipper();
|
||||
break;
|
||||
case KeyCode.KEY_D:
|
||||
this.rFlipper.ActiveFlipper();
|
||||
break;
|
||||
}
|
||||
}
|
||||
private OnKeyUp(event: EventKeyboard) {
|
||||
switch (event.keyCode) {
|
||||
case KeyCode.KEY_A:
|
||||
this.lFlipper.DeActiveFlipper();
|
||||
break;
|
||||
case KeyCode.KEY_D:
|
||||
this.rFlipper.DeActiveFlipper();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "e458ed52-5d28-471b-aae5-0916cb2cc344",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,226 @@
|
|||
import { _decorator, CCInteger, Component, Enum, EventTarget, instantiate, Node, ParticleSystem2D, Prefab, randomRange, randomRangeInt, RigidBody2D, Vec2 } from 'cc';
|
||||
import { Ball } from './Ball';
|
||||
import { EventType } from './Enums';
|
||||
import { SoundManager } from './SoundManager';
|
||||
import BEConnector from './BEConnector';
|
||||
import { UIController } from './UIController';
|
||||
import { LevelController } from './LevelController';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
|
||||
window.addEventListener("message", (data) => {
|
||||
const { data: res } = data
|
||||
const objectRes = JSON.parse(res)
|
||||
const { type, value } = objectRes
|
||||
if (type === "newTicket") {
|
||||
BEConnector.instance.numberTicket += value
|
||||
GameplayController.Instance().OnRevive();
|
||||
}
|
||||
})
|
||||
export enum GameState {
|
||||
MainMenu,
|
||||
StartGame,
|
||||
PlayGame,
|
||||
EndGame
|
||||
}
|
||||
@ccclass('GameplayController')
|
||||
export class GameplayController extends Component {
|
||||
//#region Singleton
|
||||
private static instance: GameplayController;
|
||||
public static Instance(): GameplayController {
|
||||
if (!GameplayController.instance) {
|
||||
GameplayController.instance = new Node().addComponent(GameplayController);
|
||||
}
|
||||
|
||||
return GameplayController.instance;
|
||||
}
|
||||
protected onLoad(): void {
|
||||
GameplayController.instance = this;
|
||||
}
|
||||
//#endregion
|
||||
//#region Properties
|
||||
@property(Prefab)
|
||||
private ballPrefab: Prefab;
|
||||
@property([Vec2])
|
||||
private startPositions: Vec2[] = [];
|
||||
@property({ readonly: true, type: Node })
|
||||
private controllingBall: Node = null;
|
||||
@property(UIController)
|
||||
public uiController: UIController = null;
|
||||
@property(LevelController)
|
||||
private levelController: LevelController = null;
|
||||
|
||||
@property({ readonly: true, type: CCInteger })
|
||||
public score: number = 0;
|
||||
@property({ readonly: true, type: CCInteger })
|
||||
private streak: number = 0;
|
||||
@property({ readonly: true, type: CCInteger })
|
||||
public highestStreak: number = 0;
|
||||
// @property({ readonly: true, type: CCInteger })
|
||||
@property(CCInteger)
|
||||
private ball: number = 10;
|
||||
@property(CCInteger)
|
||||
private scoreToSpawnObstacle: number = 5;
|
||||
|
||||
@property({ type: Enum(GameState) })
|
||||
public currentGameState: GameState = GameState.MainMenu;
|
||||
|
||||
@property(ParticleSystem2D)
|
||||
public particle: ParticleSystem2D = null;
|
||||
|
||||
@property(CCInteger)
|
||||
public startGameCountDown: number = 3;
|
||||
//#endregion
|
||||
|
||||
public eventMenuGame = new EventTarget();
|
||||
|
||||
public eventStartGame = new EventTarget();
|
||||
public eventPlayGame = new EventTarget();
|
||||
public eventEndGame = new EventTarget();
|
||||
|
||||
public eventSpawnObstacle = new EventTarget();
|
||||
|
||||
public eventUpdateScore = new EventTarget();
|
||||
public eventUpdateStreak = new EventTarget();
|
||||
public eventUpdateHighestStreak = new EventTarget();
|
||||
public eventUpdateBall = new EventTarget();
|
||||
|
||||
protected start(): void {
|
||||
BEConnector.instance.authenticate();
|
||||
this.ChangeGameState(GameState.MainMenu);
|
||||
|
||||
}
|
||||
|
||||
private SpawnBall(): void {
|
||||
if (this.currentGameState == GameState.EndGame) return;
|
||||
|
||||
if (this.controllingBall == null) {
|
||||
this.controllingBall = instantiate(this.ballPrefab);
|
||||
this.controllingBall.parent = this.node;
|
||||
|
||||
let randonPos = randomRangeInt(0, this.startPositions.length);
|
||||
this.controllingBall.setPosition(this.startPositions[randonPos].x, this.startPositions[randonPos].y, 0);
|
||||
this.controllingBall.active = true;
|
||||
|
||||
this.controllingBall.getComponent(Ball).eventHitObstacle.on("HitObstacle", this.ObstacleHitControl, this);
|
||||
this.controllingBall.getComponent(Ball).eventGoal.on("Goal", this.GoalControl, this);
|
||||
return;
|
||||
} else {
|
||||
this.controllingBall.getComponent(RigidBody2D).linearVelocity = Vec2.ZERO;
|
||||
let randonPos = randomRangeInt(0, this.startPositions.length);
|
||||
this.controllingBall.parent = this.node;
|
||||
|
||||
this.controllingBall.setPosition(this.startPositions[randonPos].x, this.startPositions[randonPos].y, 0);
|
||||
this.controllingBall.active = true;
|
||||
}
|
||||
SoundManager.Instance().PlayOneShot(SoundManager.Instance().whistle);
|
||||
}
|
||||
public SpawnBallInTime(time: number): void {
|
||||
if (this.ball <= 0) return;
|
||||
if (this.currentGameState == GameState.EndGame) return;
|
||||
//this.unscheduleAllCallbacks();
|
||||
console.log(this.currentGameState.toString());
|
||||
|
||||
this.scheduleOnce(() => {
|
||||
this.SpawnBall();
|
||||
}, time);
|
||||
this.SetupObstacle();
|
||||
}
|
||||
//#region Events
|
||||
public AddScore(score: number): void {
|
||||
this.score += score;
|
||||
this.streak++;
|
||||
this.eventUpdateStreak.emit(EventType.UpdateStreak, this.streak);
|
||||
this.ball--;
|
||||
|
||||
if (this.streak > 2) {
|
||||
let addBall = this.streak - 2;
|
||||
this.ball += addBall;
|
||||
}
|
||||
|
||||
if (this.highestStreak < this.streak) {
|
||||
this.highestStreak = this.streak;
|
||||
this.eventUpdateHighestStreak.emit(EventType.UpdateHighestStreak, this.highestStreak);
|
||||
}
|
||||
this.eventUpdateBall.emit(EventType.UpdateBall, this.ball);
|
||||
|
||||
this.eventUpdateScore.emit(EventType.UpdateScore, this.score);
|
||||
|
||||
SoundManager.Instance().PlayOneShot(SoundManager.Instance().sfxGoal);
|
||||
|
||||
if (this.ball <= 0)
|
||||
this.ChangeGameState(GameState.EndGame);
|
||||
else this.SpawnBallInTime(1);
|
||||
}
|
||||
public LoseStreak(): void {
|
||||
this.streak = 0;
|
||||
this.eventUpdateStreak.emit(EventType.UpdateStreak, this.streak);
|
||||
this.ball--;
|
||||
this.eventUpdateBall.emit(EventType.UpdateBall, this.ball);
|
||||
if (this.ball <= 0)
|
||||
this.ChangeGameState(GameState.EndGame);
|
||||
else this.SpawnBallInTime(1);
|
||||
|
||||
}
|
||||
public ChangeGameState(newState: GameState): void {
|
||||
if (this.currentGameState == newState) return;
|
||||
|
||||
this.currentGameState = newState;
|
||||
this.StateChangeHandle();
|
||||
}
|
||||
private StateChangeHandle(): void {
|
||||
switch (this.currentGameState) {
|
||||
case GameState.MainMenu:
|
||||
this.eventMenuGame.emit(EventType.MainMenu);
|
||||
|
||||
break;
|
||||
case GameState.StartGame:
|
||||
|
||||
this.eventStartGame.emit(EventType.StartGame);
|
||||
this.SpawnBallInTime(this.startGameCountDown);
|
||||
this.levelController.LevelUp();
|
||||
BEConnector.instance.ticketMinus("auth");
|
||||
|
||||
break;
|
||||
case GameState.PlayGame:
|
||||
this.eventUpdateBall.emit(EventType.UpdateBall, this.ball);
|
||||
this.eventPlayGame.emit(EventType.PlayGame);
|
||||
break;
|
||||
case GameState.EndGame:
|
||||
this.eventEndGame.emit(EventType.EndGame);
|
||||
BEConnector.instance.postScoreToServer(this.score);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public SetBall(ball: number): void {
|
||||
this.ball = ball;
|
||||
this.eventUpdateBall.emit(EventType.UpdateBall, this.ball);
|
||||
}
|
||||
//#endregion
|
||||
|
||||
|
||||
private SetupObstacle(): void {
|
||||
if (this.score < this.scoreToSpawnObstacle + 2)
|
||||
return;
|
||||
this.eventSpawnObstacle.emit("SpawnObstacle");
|
||||
// this.harderObstacle.active = true;
|
||||
}
|
||||
private ObstacleHitControl(node: Node): void {
|
||||
node.active = false;
|
||||
this.scheduleOnce(function () {
|
||||
node.active = true;
|
||||
}, 3);
|
||||
}
|
||||
private GoalControl(): void {
|
||||
this.particle.node.setPosition(this.controllingBall.position);
|
||||
this.particle.resetSystem();
|
||||
}
|
||||
|
||||
public OnRevive(): void {
|
||||
this.uiController.ShutEndPnl();
|
||||
this.ball += 5;
|
||||
this.eventUpdateBall.emit(EventType.UpdateBall, this.ball);
|
||||
this.SpawnBallInTime(1);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "b343e78a-054d-4d1a-89b7-a80ea1ae6ef2",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
import { _decorator, CCInteger, Component, Node, randomRangeInt } from 'cc';
|
||||
import { GameplayController } from './GameplayController';
|
||||
import { EventType } from './Enums';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('LevelController')
|
||||
export class LevelController extends Component {
|
||||
@property(CCInteger)
|
||||
private maxLevel: number = 5;
|
||||
@property({ type: CCInteger, readonly: true })
|
||||
private currentLevel: number = 0;
|
||||
@property([Node])
|
||||
private levelObstacles: Node[] = [];
|
||||
@property([CCInteger])
|
||||
private levelBalls: number[] = [];
|
||||
@property([CCInteger])
|
||||
private scoreToLevelUp: number[] = [];
|
||||
|
||||
private isLeveledUp: boolean = false;
|
||||
protected start(): void {
|
||||
this.maxLevel=5;
|
||||
GameplayController.Instance().eventUpdateScore.on(EventType.UpdateScore, this.HandleLevelUp, this);
|
||||
}
|
||||
|
||||
public HandleLevelUp(score: number): void {
|
||||
for (let i = this.scoreToLevelUp.length - 1; i >= 0; i--) {
|
||||
if (score == this.scoreToLevelUp[i] && !this.isLeveledUp) {
|
||||
this.LevelUp();
|
||||
this.isLeveledUp = true;
|
||||
}
|
||||
}
|
||||
if (this.currentLevel >= this.maxLevel) {
|
||||
console.log("Current level is: " + this.currentLevel + " while max level is: " + this.maxLevel);
|
||||
|
||||
}
|
||||
|
||||
this.scoreToLevelUp.forEach(scoreCheck => {
|
||||
if (score == scoreCheck) return;
|
||||
this.isLeveledUp = false;
|
||||
});
|
||||
}
|
||||
public LevelUp(): void {
|
||||
if (this.currentLevel >= this.maxLevel) return;
|
||||
|
||||
this.currentLevel++;
|
||||
|
||||
GameplayController.Instance().SetBall(this.levelBalls[this.currentLevel - 1]);
|
||||
|
||||
this.ObstacleControl();
|
||||
|
||||
GameplayController.Instance().uiController.currentLevelTxt.string = "Level: " + this.currentLevel;
|
||||
}
|
||||
public GetCurrentLevel(): number {
|
||||
return this.currentLevel;
|
||||
}
|
||||
|
||||
private ObstacleControl(): void {
|
||||
switch (this.currentLevel) {
|
||||
case 1:
|
||||
this.levelObstacles.forEach(obstacle => {
|
||||
obstacle.active = false;
|
||||
});
|
||||
break;
|
||||
case 2:
|
||||
this.levelObstacles.forEach(obstacle => {
|
||||
obstacle.active = false;
|
||||
});
|
||||
this.levelObstacles[0].active = true;
|
||||
break;
|
||||
case 3:
|
||||
this.levelObstacles.forEach(obstacle => {
|
||||
obstacle.active = false;
|
||||
});
|
||||
this.levelObstacles[1].active = true;
|
||||
break;
|
||||
case 4:
|
||||
this.levelObstacles.forEach(obstacle => {
|
||||
obstacle.active = false;
|
||||
});
|
||||
this.levelObstacles[2].active = true;
|
||||
break;
|
||||
case 5:
|
||||
this.RandomSetObstacle();
|
||||
break;
|
||||
}
|
||||
}
|
||||
private RandomSetObstacle(): void {
|
||||
setTimeout(() => {
|
||||
let random = randomRangeInt(0, this.levelObstacles.length);
|
||||
this.levelObstacles.forEach(element => {
|
||||
element.active = false;
|
||||
});
|
||||
this.levelObstacles[random].active = true;
|
||||
}, 200);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "f88557af-13ae-4526-a423-6e54702ec00e",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
import { _decorator, CCFloat, Component, log, Node, randomRange, Tween, tween, Vec2, Vec3 } from 'cc';
|
||||
const { ccclass, property, float } = _decorator;
|
||||
|
||||
@ccclass('ObstacleController')
|
||||
export class ObstacleController extends Component {
|
||||
@property(Node)
|
||||
private target: Node;
|
||||
@property([Node])
|
||||
private waypoints: Node[] = [];
|
||||
@property(CCFloat)
|
||||
private speed: number = 0;
|
||||
|
||||
protected start() {
|
||||
//if (this.target !== null)
|
||||
this.target.setPosition(this.waypoints[this.waypoints.length - 1].position);
|
||||
|
||||
this.followPath();
|
||||
}
|
||||
|
||||
private followPath() {
|
||||
const tweenPath = tween(this.target);
|
||||
|
||||
for (let i = 0; i < this.waypoints.length; i++) {
|
||||
let a = tween(this.target).to(this.speed,{position: this.waypoints[i].getPosition()})
|
||||
tweenPath.then(a)
|
||||
}
|
||||
// tweenPath.union().repeat(10)
|
||||
tweenPath.union().repeatForever()
|
||||
tweenPath.start();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "2fd1fad8-05e9-4615-a7b0-fd8bc8acf50f",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "892a9e6d-ef47-4bf6-94bb-c2f393500fdf",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
import { _decorator, CCFloat, Component, Node, randomRangeInt, tween, Vec3 } from 'cc';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('ObstacleBehaviour')
|
||||
export class ObstacleBehaviour extends Component {
|
||||
@property([Node])
|
||||
private targets: Node[] = [];
|
||||
@property([Node])
|
||||
private waypoints: Node[] = [];
|
||||
@property(CCFloat)
|
||||
private speed: number = 0;
|
||||
@property({ type: Node, readonly: true })
|
||||
private selectedObstacle: Node = null;
|
||||
|
||||
protected onEnable() {
|
||||
if (this.targets == null || this.targets.length <= 0) return;
|
||||
|
||||
let randomInt = randomRangeInt(0, this.targets.length);
|
||||
this.selectedObstacle = this.targets[randomInt];
|
||||
this.waypoints.forEach(element => {
|
||||
element.setPosition(element.position.x, this.selectedObstacle.position.y, element.position.z);
|
||||
});
|
||||
this.selectedObstacle.setPosition(this.waypoints[this.waypoints.length - 1].position);
|
||||
|
||||
this.followPath(this.selectedObstacle);
|
||||
}
|
||||
|
||||
private followPath(target: Node) {
|
||||
const tweenPath = tween(target);
|
||||
|
||||
for (let i = 0; i < this.waypoints.length; i++) {
|
||||
|
||||
let a = tween(target).to(this.speed, { position: this.waypoints[i].getPosition() })
|
||||
tweenPath.then(a)
|
||||
}
|
||||
// tweenPath.union().repeat(10)
|
||||
tweenPath.union().repeatForever()
|
||||
tweenPath.start();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "c8e70e72-0099-4110-a714-83f832b7fc49",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
import { _decorator, Component, log, Node, randomRangeInt } from 'cc';
|
||||
import { ObstacleBehaviour } from './ObstacleBehaviour';
|
||||
import { GameplayController } from '../GameplayController';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('ObstaclesController')
|
||||
export class ObstaclesController extends Component {
|
||||
// @property([ObstacleBehaviour])
|
||||
// private easyObstacle: ObstacleBehaviour[] = [];
|
||||
// @property([ObstacleBehaviour])
|
||||
// private mediumObstacle: ObstacleBehaviour[] = [];
|
||||
// @property([ObstacleBehaviour])
|
||||
// private hardObstacle: ObstacleBehaviour[] = [];
|
||||
@property([Node])
|
||||
private obstaclesSet: Node[] = [];
|
||||
protected onEnable(): void {
|
||||
GameplayController.Instance().eventSpawnObstacle.on("SpawnObstacle", this.RandomSetObstacle, this);
|
||||
// this.RandomSetObstacle();
|
||||
}
|
||||
|
||||
private RandomSetObstacle(): void {
|
||||
//let random = randomRangeInt(0, this.obstaclesSet.length);
|
||||
setTimeout(() => {
|
||||
let random = randomRangeInt(0, this.obstaclesSet.length);
|
||||
this.obstaclesSet.forEach(element => {
|
||||
element.active = false;
|
||||
});
|
||||
this.obstaclesSet[random].active = true;
|
||||
}, 200);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "139dc437-8ddb-409c-b0e9-9fc41ddc4ac3",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
import { _decorator, AudioClip, AudioSource, Component, Node } from 'cc';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('SoundManager')
|
||||
export class SoundManager extends Component {
|
||||
private static instance: SoundManager;
|
||||
public static Instance(): SoundManager {
|
||||
if (!SoundManager.instance) {
|
||||
SoundManager.instance = new Node().addComponent(SoundManager);
|
||||
}
|
||||
|
||||
return SoundManager.instance;
|
||||
}
|
||||
protected onLoad(): void {
|
||||
SoundManager.instance = this;
|
||||
}
|
||||
|
||||
|
||||
@property(AudioSource)
|
||||
private audioSource: AudioSource;
|
||||
@property(AudioClip)
|
||||
public hitGround: AudioClip;
|
||||
@property(AudioClip)
|
||||
public hitPlayer: AudioClip;
|
||||
@property(AudioClip)
|
||||
public goal: AudioClip;
|
||||
@property(AudioClip)
|
||||
public menuTap: AudioClip;
|
||||
@property(AudioClip)
|
||||
public sfxGoal: AudioClip;
|
||||
@property(AudioClip)
|
||||
public whistle: AudioClip;
|
||||
|
||||
public PlayOneShot(clip: AudioClip): void {
|
||||
this.audioSource.playOneShot(clip);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "f4bdc5e2-afd5-4307-8700-da3026204fe9",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
import { _decorator, Component, Input, input, instantiate, Node, Prefab } from 'cc';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('Test')
|
||||
export class Test extends Component {
|
||||
|
||||
@property(Prefab)
|
||||
private someThing: Prefab;
|
||||
|
||||
someNode: Node;
|
||||
|
||||
protected start(): void {
|
||||
input.on(Input.EventType.MOUSE_DOWN, this.ActiveNode, this);
|
||||
input.on(Input.EventType.MOUSE_UP, this.DeActiveNode, this);
|
||||
}
|
||||
private ActiveNode(): void {
|
||||
if (this.someNode == null) {
|
||||
this.someNode = instantiate(this.someThing);
|
||||
|
||||
this.someNode.parent = this.node;
|
||||
this.someNode.setPosition(0, 0, 0);
|
||||
}
|
||||
else this.someNode.active = true;
|
||||
}
|
||||
|
||||
private DeActiveNode(): void {
|
||||
this.someNode.active = false;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "4ae0c49c-cfd9-44b1-91ac-b15cd8280af6",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,127 @@
|
|||
import { _decorator, Button, Component, director, Label, log, Node, view, View } from 'cc';
|
||||
import { GameplayController, GameState } from './GameplayController';
|
||||
import { EventType } from './Enums';
|
||||
import { SoundManager } from './SoundManager';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('UIController')
|
||||
export class UIController extends Component {
|
||||
|
||||
@property(Node)
|
||||
private mainMenuPnl: Node;
|
||||
@property(Button)
|
||||
private startGameBtn: Button;
|
||||
|
||||
@property(Node)
|
||||
private countdownPnl: Node;
|
||||
@property(Label)
|
||||
private countdownTxt: Label;
|
||||
|
||||
@property(Node)
|
||||
private inGamePnl: Node;
|
||||
@property(Label)
|
||||
private goalTxt: Label;
|
||||
@property(Label)
|
||||
private currentStreakTxt: Label;
|
||||
@property(Label)
|
||||
private highestStreakTxt: Label;
|
||||
@property(Label)
|
||||
private ballTxt: Label;
|
||||
@property(Label)
|
||||
public currentLevelTxt: Label;
|
||||
|
||||
@property(Node)
|
||||
public endGamePnl: Node;
|
||||
@property(Label)
|
||||
private yourScoreTxt: Label;
|
||||
@property(Button)
|
||||
private replayBtn: Button;
|
||||
|
||||
private isGameStarted: boolean;
|
||||
private countdownTime: number;
|
||||
|
||||
private score: number;
|
||||
private hStreak: number;
|
||||
|
||||
protected start(): void {
|
||||
this.countdownTime = GameplayController.Instance().startGameCountDown;
|
||||
|
||||
this.startGameBtn.node.on(Button.EventType.CLICK, this.StartGameClicked, this);
|
||||
this.replayBtn.node.on(Button.EventType.CLICK, this.RestartClicked, this);
|
||||
|
||||
GameplayController.Instance().eventMenuGame.on(EventType.MainMenu, this.ShowGameMenu, this);
|
||||
GameplayController.Instance().eventStartGame.on(EventType.StartGame, this.StartCountdownEvent, this);
|
||||
GameplayController.Instance().eventPlayGame.on(EventType.PlayGame, this.StartGameEvent, this);
|
||||
GameplayController.Instance().eventEndGame.on(EventType.EndGame, this.EndGameEvent, this);
|
||||
|
||||
GameplayController.Instance().eventUpdateScore.on(EventType.UpdateScore, this.UpdateScore, this);
|
||||
GameplayController.Instance().eventUpdateStreak.on(EventType.UpdateStreak, this.UpdateStreak, this);
|
||||
GameplayController.Instance().eventUpdateHighestStreak.on(EventType.UpdateHighestStreak, this.UpdateHighestStreak, this);
|
||||
GameplayController.Instance().eventUpdateBall.on(EventType.UpdateBall, this.UpdateBall, this);
|
||||
}
|
||||
|
||||
protected update(dt: number): void {
|
||||
if (!this.isGameStarted) return;
|
||||
if (this.countdownTime < 0) {
|
||||
if (GameplayController.Instance().currentGameState != GameState.PlayGame)
|
||||
GameplayController.Instance().ChangeGameState(GameState.PlayGame);
|
||||
return;
|
||||
}
|
||||
|
||||
this.countdownTime -= dt;
|
||||
this.countdownTxt.string = Math.round(this.countdownTime).toString();
|
||||
}
|
||||
|
||||
//#region Event listeners
|
||||
|
||||
private ShowGameMenu(): void {
|
||||
this.mainMenuPnl.active = true;
|
||||
}
|
||||
private StartCountdownEvent(): void {
|
||||
this.mainMenuPnl.active = false;
|
||||
this.countdownPnl.active = true;
|
||||
this.isGameStarted = true;
|
||||
}
|
||||
private StartGameEvent(): void {
|
||||
this.countdownPnl.active = false;
|
||||
this.inGamePnl.active = true;
|
||||
}
|
||||
private UpdateScore(score: number): void {
|
||||
console.log("Score: " + score);
|
||||
this.score = score;
|
||||
this.goalTxt.string = "Goal: " + score.toString();
|
||||
}
|
||||
private UpdateStreak(streak: number): void {
|
||||
console.log("Streak: " + streak);
|
||||
this.currentStreakTxt.string = "Streak: " + streak.toString();
|
||||
}
|
||||
private UpdateHighestStreak(streak: number): void {
|
||||
console.log("Highest Streak: " + streak);
|
||||
this.hStreak = streak;
|
||||
this.highestStreakTxt.string = "Highest Streak: " + streak.toString();
|
||||
}
|
||||
private UpdateBall(ball: number): void {
|
||||
console.log("Ball: " + ball);
|
||||
this.ballTxt.string = "Ball: " + ball.toString();
|
||||
}
|
||||
private EndGameEvent(): void {
|
||||
this.inGamePnl.active = false;
|
||||
this.endGamePnl.active = true;
|
||||
if ((this.score + this.hStreak * 2) > 0)
|
||||
this.yourScoreTxt.string = (this.score + this.hStreak * 2).toString();
|
||||
else this.yourScoreTxt.string = "0";
|
||||
}
|
||||
public ShutEndPnl(): void {
|
||||
this.endGamePnl.active = false;
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
private StartGameClicked(): void {
|
||||
GameplayController.Instance().ChangeGameState(GameState.StartGame);
|
||||
SoundManager.Instance().PlayOneShot(SoundManager.Instance().menuTap);
|
||||
}
|
||||
private RestartClicked(): void {
|
||||
director.loadScene(director.getScene().name)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "575edf24-cdba-4302-91b1-8a89441ce7a4",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "2f95ff08-f9dc-4a09-8173-d3844886c858",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "6a432293-3852-4267-be19-c671f36fe9f0",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "97c8a166-c717-41bd-837f-bd1733e2ee1c",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "b8e26fea-3d75-4254-8fe6-4a57c40d6121",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "5318386a-c072-4982-b604-d79513736912",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "d93b45ca-fea1-4d38-b460-170b6b65ae08",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "6452248b-259c-4844-b0e1-70f47d69955e",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "7beb751f-720d-4d3f-b404-7130c61a1dea",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "907fcdde-1d95-4780-8f0d-1d5756cab63e",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "7e65366b-dce8-4c7a-9e6f-52fd3e9cad8d",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
import { _decorator, Component, Game, Label, Node } from 'cc';
|
||||
import BEConnector from '../../../Scripts/BEConnector';
|
||||
import { GameplayController, GameState } from '../../../Scripts/GameplayController';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('ConfirmPanel')
|
||||
export class ConfirmPanel extends Component {
|
||||
@property(Label) ticketWaringText : Label = null;
|
||||
|
||||
protected onEnable(): void {
|
||||
this.ticketWaringText.string = `To continue playing, you will be deducted ${BEConnector.instance.getTicketCanBeMinus()} ticket`;
|
||||
}
|
||||
|
||||
onClickYesButton()
|
||||
{
|
||||
if(BEConnector.instance.canRelive()){
|
||||
BEConnector.instance.checkGameScoreTicket()
|
||||
.then(()=>{
|
||||
GameplayController.Instance().OnRevive();
|
||||
})
|
||||
.catch(()=>{
|
||||
GameplayController.Instance().ChangeGameState(GameState.EndGame);
|
||||
})
|
||||
}else{
|
||||
BEConnector.instance.postMessage();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
onClickNoButton(){
|
||||
this.node.active = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"ver":"4.0.23","importer":"typescript","imported":true,"uuid":"09897cf3-e99a-4576-b79d-4bd1ef15db44","files":[],"subMetas":{},"userData":{}}
|
|
@ -0,0 +1,37 @@
|
|||
import { _decorator, Component, Label, Node } from 'cc';
|
||||
import BEConnector from '../../../Scripts/BEConnector';
|
||||
import { GameplayController, GameState } from '../../../Scripts/GameplayController';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('GameOverPanel')
|
||||
export class GameOverPanel extends Component {
|
||||
@property(Label) private topScore: Label = null;
|
||||
@property(Label) private yourScore: Label = null;
|
||||
|
||||
|
||||
protected onEnable(): void {
|
||||
let currentScore = GameplayController.Instance().score;
|
||||
this.topScore.string = BEConnector.instance.maxScore.toString();
|
||||
this.yourScore.string = currentScore.toString();
|
||||
this.scheduleOnce(this.endGame,60);
|
||||
}
|
||||
|
||||
onClickYesButton(){
|
||||
let confirmPanel = this.node.getChildByName("ConfirmPanel");
|
||||
confirmPanel.active = true;
|
||||
}
|
||||
|
||||
onClickNoButton(){
|
||||
GameplayController.Instance().ChangeGameState(GameState.EndGame);
|
||||
}
|
||||
|
||||
protected onDisable(): void {
|
||||
this.unschedule(this.endGame);
|
||||
}
|
||||
|
||||
private endGame(){
|
||||
GameplayController.Instance().ChangeGameState(GameState.EndGame);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "d43dbb30-5ec5-42fe-8230-f9c39b8b852f",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"name": "PinBallTCC",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "PinBallTCC",
|
||||
"dependencies": {
|
||||
"crypto-es": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/crypto-es": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/crypto-es/-/crypto-es-2.1.0.tgz",
|
||||
"integrity": "sha512-C5Dbuv4QTPGuloy5c5Vv/FZHtmK+lobLAypFfuRaBbwCsk3qbCWWESCH3MUcBsrgXloRNMrzwUAiPg4U6+IaKA=="
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"name": "PinBallTCC",
|
||||
"uuid": "1dc6dfe4-8871-44d8-881e-f7fee9494679",
|
||||
"creator": {
|
||||
"version": "3.7.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"crypto-es": "^2.1.0"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"__version__": "1.3.4"
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"__version__": "3.0.7",
|
||||
"game": {
|
||||
"name": "UNKNOW GAME",
|
||||
"app_id": "UNKNOW",
|
||||
"c_id": "0"
|
||||
},
|
||||
"appConfigMaps": [
|
||||
{
|
||||
"app_id": "UNKNOW",
|
||||
"config_id": "098859"
|
||||
}
|
||||
],
|
||||
"configs": [
|
||||
{
|
||||
"app_id": "UNKNOW",
|
||||
"config_id": "098859",
|
||||
"config_name": "Default",
|
||||
"config_remarks": "",
|
||||
"services": []
|
||||
}
|
||||
]
|
||||
}
|