rp_11009新项目
This commit is contained in:
commit
39bd0646c4
@ -0,0 +1,2 @@
|
|||||||
|
[InternetShortcut]
|
||||||
|
URL=https://docs.cocos.com/creator/manual/en/scripting/setup.html#custom-script-template
|
||||||
5
.creator/default-meta.json
Normal file
5
.creator/default-meta.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"image": {
|
||||||
|
"type": "sprite-frame"
|
||||||
|
}
|
||||||
|
}
|
||||||
24
.gitignore
vendored
Normal file
24
.gitignore
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
|
||||||
|
#///////////////////////////
|
||||||
|
# Cocos Creator 3D Project
|
||||||
|
#///////////////////////////
|
||||||
|
library/
|
||||||
|
temp/
|
||||||
|
local/
|
||||||
|
build/
|
||||||
|
profiles/
|
||||||
|
native
|
||||||
|
#//////////////////////////
|
||||||
|
# NPM
|
||||||
|
#//////////////////////////
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
#//////////////////////////
|
||||||
|
# VSCode
|
||||||
|
#//////////////////////////
|
||||||
|
.vscode/
|
||||||
|
|
||||||
|
#//////////////////////////
|
||||||
|
# WebStorm
|
||||||
|
#//////////////////////////
|
||||||
|
.idea/
|
||||||
11
assets/Game.meta
Normal file
11
assets/Game.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.2.0",
|
||||||
|
"importer": "directory",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "0c826003-fe58-4d0d-8099-9be2a0972aad",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"isBundle": true
|
||||||
|
}
|
||||||
|
}
|
||||||
9
assets/Game/Prefab.meta
Normal file
9
assets/Game/Prefab.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.2.0",
|
||||||
|
"importer": "directory",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "5427ea11-870c-4700-aaa9-4fe3e91963e9",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
2671
assets/Game/Prefab/AutoSpinPanel.prefab
Normal file
2671
assets/Game/Prefab/AutoSpinPanel.prefab
Normal file
File diff suppressed because it is too large
Load Diff
13
assets/Game/Prefab/AutoSpinPanel.prefab.meta
Normal file
13
assets/Game/Prefab/AutoSpinPanel.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "32b017f6-967c-4c17-b111-f72a3cdc43a4",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "AutoSpinPanel"
|
||||||
|
}
|
||||||
|
}
|
||||||
1664
assets/Game/Prefab/BigWin.prefab
Normal file
1664
assets/Game/Prefab/BigWin.prefab
Normal file
File diff suppressed because it is too large
Load Diff
13
assets/Game/Prefab/BigWin.prefab.meta
Normal file
13
assets/Game/Prefab/BigWin.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "e1b8a2d2-c5a4-43aa-a490-c60bdddd289e",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "BigWin"
|
||||||
|
}
|
||||||
|
}
|
||||||
3132
assets/Game/Prefab/FeatureBuyPopUp.prefab
Normal file
3132
assets/Game/Prefab/FeatureBuyPopUp.prefab
Normal file
File diff suppressed because it is too large
Load Diff
13
assets/Game/Prefab/FeatureBuyPopUp.prefab.meta
Normal file
13
assets/Game/Prefab/FeatureBuyPopUp.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "2f52a91f-dec8-46c6-a597-979871abf1ed",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "FeatureBuyPopUp"
|
||||||
|
}
|
||||||
|
}
|
||||||
947
assets/Game/Prefab/FreeSpinAgain.prefab
Normal file
947
assets/Game/Prefab/FreeSpinAgain.prefab
Normal file
@ -0,0 +1,947 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "FreeSpinAgain",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "FreeSpinAgain",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 40
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 42
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 44
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "grayBg",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 1080,
|
||||||
|
"height": 2360
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "d48HFw0exHHrhO5vkyNHfe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 6
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 0,
|
||||||
|
"g": 0,
|
||||||
|
"b": 0,
|
||||||
|
"a": 155
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "7d8f9b89-4fd1-4c9f-a3ab-38ec7cded7ca@f9941",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
"_type": 0,
|
||||||
|
"_fillType": 0,
|
||||||
|
"_sizeMode": 0,
|
||||||
|
"_fillCenter": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"_fillStart": 0,
|
||||||
|
"_fillRange": 0,
|
||||||
|
"_isTrimmedMode": true,
|
||||||
|
"_useGrayscale": false,
|
||||||
|
"_atlas": null,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "06BHCnN7pIp557w+KTYx2g"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Widget",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
"_alignFlags": 45,
|
||||||
|
"_target": null,
|
||||||
|
"_left": 0,
|
||||||
|
"_right": 0,
|
||||||
|
"_top": -220,
|
||||||
|
"_bottom": -220,
|
||||||
|
"_horizontalCenter": 0,
|
||||||
|
"_verticalCenter": 0,
|
||||||
|
"_isAbsLeft": true,
|
||||||
|
"_isAbsRight": true,
|
||||||
|
"_isAbsTop": true,
|
||||||
|
"_isAbsBottom": true,
|
||||||
|
"_isAbsHorizontalCenter": true,
|
||||||
|
"_isAbsVerticalCenter": true,
|
||||||
|
"_originalWidth": 100,
|
||||||
|
"_originalHeight": 100,
|
||||||
|
"_alignMode": 2,
|
||||||
|
"_lockFlags": 0,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "83iVwwcL5Hp6moEkFDYZ0b"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.BlockInputEvents",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "89jqYbgAFMu5vPJ5ryJaKq"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "0955KYb6tJ04D/Wz0X6H4e",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "main",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 19
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 27
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 33
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 35
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 37
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "FS_FS",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 18
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 120,
|
||||||
|
"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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 1091.43994140625,
|
||||||
|
"height": 1920
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5052408121796527,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "deyloGOyRLd6jqka78w50r"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "48a56e4b-f8b0-424c-af81-4de65acce65d",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "animation",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": true,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c3CG9MNoNMAptUGh9Y2Omj"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "df6n7rI/hOw4LddwPwIlWI",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "FreeSpins",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 26
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": -60.588,
|
||||||
|
"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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 19
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 21
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 892,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "156oVcvppNprvUS3GgPlcK"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 19
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "b49684e2-0e67-4e98-a708-70f92b698c48@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": "73ubQHgltL4L2U5nTp5t9l"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "e6c8d4szahIuLbtf6yx+hH6",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 19
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
"spriteName": "14",
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f4/fhvZiRI66QH43cKaita"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "b1BBoA61BOC51kAUW6Kk7P",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "freeSpinCount",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 28
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 30
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 32
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 131.944,
|
||||||
|
"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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 29
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 394.29,
|
||||||
|
"height": 200
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "034ufY7QJMLIZTDX6xSjK3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Label",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 31
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_string": "+10",
|
||||||
|
"_horizontalAlign": 1,
|
||||||
|
"_verticalAlign": 1,
|
||||||
|
"_actualFontSize": 200,
|
||||||
|
"_fontSize": 200,
|
||||||
|
"_fontFamily": "Arial",
|
||||||
|
"_lineHeight": 200,
|
||||||
|
"_overflow": 0,
|
||||||
|
"_enableWrapText": true,
|
||||||
|
"_font": {
|
||||||
|
"__uuid__": "9bec16c5-3466-4622-bbf1-23bf512c7970",
|
||||||
|
"__expectedType__": "cc.BitmapFont"
|
||||||
|
},
|
||||||
|
"_isSystemFontUsed": false,
|
||||||
|
"_spacingX": -35,
|
||||||
|
"_isItalic": false,
|
||||||
|
"_isBold": false,
|
||||||
|
"_isUnderline": false,
|
||||||
|
"_underlineHeight": 2,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_enableOutline": false,
|
||||||
|
"_outlineColor": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 0,
|
||||||
|
"g": 0,
|
||||||
|
"b": 0,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_outlineWidth": 2,
|
||||||
|
"_enableShadow": false,
|
||||||
|
"_shadowColor": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 0,
|
||||||
|
"g": 0,
|
||||||
|
"b": 0,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_shadowOffset": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 2,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
"_shadowBlur": 2,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "deYVV3GFtNI5a8JUjiwI2U"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "72u1qqbeJALKQBtDCODQE6",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 34
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 1080,
|
||||||
|
"height": 1920
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "0bhGioeeNAXKgu7jx99Pkx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UIOpacity",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 36
|
||||||
|
},
|
||||||
|
"_opacity": 255,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "3epN3SRYNBS6hLncqEd2By"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "230PaGVZJHsqzm9nO43h3K",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 39
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 1080,
|
||||||
|
"height": 1920
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "69ldsq76pG65UGflgQCZoD"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "10e74Zqew1AE6OXMdjFfxq3",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 41
|
||||||
|
},
|
||||||
|
"grayNode": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"mainNode": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"freeSpinCount": {
|
||||||
|
"__id__": 30
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "42b7eqMM5KZIkShd8AIHeA"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Widget",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 43
|
||||||
|
},
|
||||||
|
"_alignFlags": 45,
|
||||||
|
"_target": null,
|
||||||
|
"_left": 0,
|
||||||
|
"_right": 0,
|
||||||
|
"_top": 0,
|
||||||
|
"_bottom": 0,
|
||||||
|
"_horizontalCenter": 0,
|
||||||
|
"_verticalCenter": 0,
|
||||||
|
"_isAbsLeft": true,
|
||||||
|
"_isAbsRight": true,
|
||||||
|
"_isAbsTop": true,
|
||||||
|
"_isAbsBottom": true,
|
||||||
|
"_isAbsHorizontalCenter": true,
|
||||||
|
"_isAbsVerticalCenter": true,
|
||||||
|
"_originalWidth": 100,
|
||||||
|
"_originalHeight": 100,
|
||||||
|
"_alignMode": 2,
|
||||||
|
"_lockFlags": 0,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "47j03R/bdJHrHO+NEhkLoS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/FreeSpinAgain.prefab.meta
Normal file
13
assets/Game/Prefab/FreeSpinAgain.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "833933cc-f0f2-40c0-8cfe-cbfaa056bd07",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "FreeSpinAgain"
|
||||||
|
}
|
||||||
|
}
|
||||||
1866
assets/Game/Prefab/FreeSpinEnter.prefab
Normal file
1866
assets/Game/Prefab/FreeSpinEnter.prefab
Normal file
File diff suppressed because it is too large
Load Diff
13
assets/Game/Prefab/FreeSpinEnter.prefab.meta
Normal file
13
assets/Game/Prefab/FreeSpinEnter.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "244cbe46-c76d-42d8-9415-437e94a3cc91",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "FreeSpinEnter"
|
||||||
|
}
|
||||||
|
}
|
||||||
9
assets/Game/Prefab/Icons.meta
Normal file
9
assets/Game/Prefab/Icons.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.2.0",
|
||||||
|
"importer": "directory",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "281290fc-cc65-481c-9e4d-cb76a9bbeeaa",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
823
assets/Game/Prefab/Icons/0.prefab
Normal file
823
assets/Game/Prefab/Icons/0.prefab
Normal file
@ -0,0 +1,823 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "0",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "0",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 34
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 36
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "normalNode",
|
||||||
|
"_objFlags": 512,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_0",
|
||||||
|
"_objFlags": 512,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 164
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "b4NnpHpMNBRozO8aGxYhWt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "86564f14-2141-473e-a30a-95764acd225b@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": "acU/HFbFNKWr5Mk+r8tyvV"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "d288b8aCtOeZUrtucFI0mp",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "98NN9wdYtMOqDWwyb+XpUq"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "82AF1AN35HSYPuCgpAe7y8",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "fastNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": false,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 19
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 21
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_0",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 18
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 172,
|
||||||
|
"height": 179
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c3P6lCsHBLmofrjZ98gKNN"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "11b28e2b-4fbc-4df7-abac-6b3196a0b834@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": "b5rvZisjZLxZP6TgMZwyc5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "f05icvgYxD9a3nmMs+goyI",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "1d3TT5XOZIg63zqZp3fPYe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "0541dqYctIKLW4d0hHsiqe",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "spineNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 23
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 29
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 31
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 26
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 28
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 179,
|
||||||
|
"height": 159
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5027932960893855,
|
||||||
|
"y": 0.48427672955974843
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "7aGytXA7BGAZEFqPcwKwHQ"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "efed9a44-2375-4566-abdf-bf5e5d28f36f",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "chixu",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": true,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "53O3Jn+mVBRZQDjw8J12Ex"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "64xsQkl19GxraabpCVNJwf",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 30
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "399Mg7nk5PZ5kqlPqyTUI5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "bcmJf8+P1KN6PRzMG7nJO6",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 33
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f7+JyYG01IWKu+7ry7GVmh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "1d4d2CSg3xDlJYbCdB7Jtn1",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 35
|
||||||
|
},
|
||||||
|
"normalNode": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"fastNode": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"spineNode": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c16WOtl2BJ8ZbnqIeJtky2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/Icons/0.prefab.meta
Normal file
13
assets/Game/Prefab/Icons/0.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "d83c2d3b-8b26-4845-b957-cfc7eb3a38c5",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "0"
|
||||||
|
}
|
||||||
|
}
|
||||||
823
assets/Game/Prefab/Icons/1.prefab
Normal file
823
assets/Game/Prefab/Icons/1.prefab
Normal file
@ -0,0 +1,823 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "1",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "1",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 34
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 36
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "normalNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_1",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 132,
|
||||||
|
"height": 170
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "24s/yyRlBK7JAOfit3SrAk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "78c79826-58cb-4f14-b886-52f8b35794b6@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": "adtSkKUHdGz7IHPG6CNFbE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "dfe1NB04ZD87zMvlaScYcP",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "98NN9wdYtMOqDWwyb+XpUq"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "82AF1AN35HSYPuCgpAe7y8",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "fastNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": false,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 19
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 21
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_1",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 18
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 167,
|
||||||
|
"height": 164
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "dapmJGgqBNDYHVbLrdWlJU"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "1572cce3-4243-4b00-9ed6-aeeb86a0e9a3@f9941",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
"_type": 0,
|
||||||
|
"_fillType": 0,
|
||||||
|
"_sizeMode": 0,
|
||||||
|
"_fillCenter": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"_fillStart": 0,
|
||||||
|
"_fillRange": 0,
|
||||||
|
"_isTrimmedMode": true,
|
||||||
|
"_useGrayscale": false,
|
||||||
|
"_atlas": null,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "17FIqakAlNZ7VZKugxLoLb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "8eKweqXkhMn7Fz+90O3aJw",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "25I/FEWO5MPIIZdMMJNhaF"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "5dbhPF/DhBR5j6pPX95o84",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "spineNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 23
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 29
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 31
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 26
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 28
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": -1.864,
|
||||||
|
"y": 1.143,
|
||||||
|
"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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 1080,
|
||||||
|
"height": 1920
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "bbl6/v0P1OerzmDNdz4KYa"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "16e1163d-09f7-49d8-b5b8-a0047ed28b8a",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "chixu",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": false,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "3fPVsQVVxJfpr8F7rFBzj3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "137jVXAbFD3oZeHAGqJ71m",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 30
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "00Rt5L0dBG2avrUYFTFaz5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "11edi6EitMroaP0C+pG4s6",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 33
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f7+JyYG01IWKu+7ry7GVmh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "1d4d2CSg3xDlJYbCdB7Jtn1",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 35
|
||||||
|
},
|
||||||
|
"normalNode": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"fastNode": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"spineNode": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c16WOtl2BJ8ZbnqIeJtky2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/Icons/1.prefab.meta
Normal file
13
assets/Game/Prefab/Icons/1.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "f71a5e7a-0230-4ec6-8614-02c14675ad2b",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "1"
|
||||||
|
}
|
||||||
|
}
|
||||||
823
assets/Game/Prefab/Icons/10.prefab
Normal file
823
assets/Game/Prefab/Icons/10.prefab
Normal file
@ -0,0 +1,823 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "10",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "10",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 34
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 36
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "normalNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine-002",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 1080,
|
||||||
|
"height": 1920
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "63OhA3vBpDKbznC3B7Lb53"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "8ad4927f-0241-492c-b02c-d27cce6be7dd",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "<None>",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": false,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c5Ad096ytAcZWtCcQcEda2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "66msD1eq1OaK2eZjEygKa5",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "36n0izZe1KUYQwEAHmHt9G"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "e728mpoJdLarHUtVz1LsYl",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "fastNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": false,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 19
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 21
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine-001",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 18
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 1080,
|
||||||
|
"height": 1920
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "eaE9cn1ptBW4SH5UAmDUSS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "8ad4927f-0241-492c-b02c-d27cce6be7dd",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "<None>",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": false,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "4eLnY1ZVhBjqsygR779pMW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "75t+WEfVpE3JXQNSMKx6Wp",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "e8oLnK9opHyoQ6XK65fve6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "37jSgFgKpBcKqtWSPHyS3t",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "spineNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 23
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 29
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 31
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 26
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 28
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 1080,
|
||||||
|
"height": 1920
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "141FlItE9NVYcSGnezZjDI"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "8ad4927f-0241-492c-b02c-d27cce6be7dd",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "animation",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": false,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "d2PfhgmWhPFI0ca8e8wG0Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "09D44Ea5dAP6SGU+4jYiuw",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 30
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "83ydrtbVBP1a0KeLPSWJ7z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "fe0xqrJ9FE65XbHRx9d22A",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 33
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f7+JyYG01IWKu+7ry7GVmh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "1d4d2CSg3xDlJYbCdB7Jtn1",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 35
|
||||||
|
},
|
||||||
|
"normalNode": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"fastNode": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"spineNode": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c16WOtl2BJ8ZbnqIeJtky2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/Icons/10.prefab.meta
Normal file
13
assets/Game/Prefab/Icons/10.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "3a12b3d4-afbc-42ab-989d-77e8098f6c57",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "10"
|
||||||
|
}
|
||||||
|
}
|
||||||
823
assets/Game/Prefab/Icons/2.prefab
Normal file
823
assets/Game/Prefab/Icons/2.prefab
Normal file
@ -0,0 +1,823 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "2",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "2",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 34
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 36
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "normalNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_2",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 140,
|
||||||
|
"height": 146
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "cfn3nxDBhDaL2APMjYJxaX"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "9637eb41-fd3a-41cf-a8a7-d4c69c117e92@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": "b9YBJgKtlKLLnaU6CB5lNm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "6cIqxNDURFa6zZ89P5G1d5",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "bbIdNvNXRMkLUNiF2WVbZB"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "5aPCLXkeNHNLd6HYx13ZbF",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "fastNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": false,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 19
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 21
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_2",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 18
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 138,
|
||||||
|
"height": 164
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "67qdNDIaNGG45kC1UnszwU"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "ac2556dc-83d2-4f49-a82f-8196d2cf9f49@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": "a4PfsaadZPUa9QPzG8IMkC"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "87RVdBtb1Bb7TkoWvlmFZ4",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "d5VK3IHuhNUpGK1LcwUv++"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "adksV0ArJAiqdUuh62kLT4",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "spineNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 23
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 29
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 31
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 2,
|
||||||
|
"y": 9,
|
||||||
|
"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.Node",
|
||||||
|
"_name": "spine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 26
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 28
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": -2.177,
|
||||||
|
"y": -3.567,
|
||||||
|
"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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 139,
|
||||||
|
"height": 142.1300048828125
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5035971223021583,
|
||||||
|
"y": 0.5004572912810726
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "53ZLCQjeJA57nvFSfpjp/n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "d556dd0c-b8e8-4ddd-af3c-256ea7f0fcac",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "tan",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": true,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "9e3rdH2a1KQoOa5WNsjzA3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "3aSrUPJZVKsrK149qKKf1D",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 30
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "e0GFthjRtBzrC08P0PniKg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "fdC/cgXixGsINhUw54Bvmt",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 33
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f7+JyYG01IWKu+7ry7GVmh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "1d4d2CSg3xDlJYbCdB7Jtn1",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 35
|
||||||
|
},
|
||||||
|
"normalNode": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"fastNode": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"spineNode": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c16WOtl2BJ8ZbnqIeJtky2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/Icons/2.prefab.meta
Normal file
13
assets/Game/Prefab/Icons/2.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "4ab9580f-7d0c-4a5e-adb5-f15811b676b3",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "2"
|
||||||
|
}
|
||||||
|
}
|
||||||
823
assets/Game/Prefab/Icons/3.prefab
Normal file
823
assets/Game/Prefab/Icons/3.prefab
Normal file
@ -0,0 +1,823 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "3",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "3",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 34
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 36
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "normalNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_3",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 145,
|
||||||
|
"height": 144
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "daJnFYAY9FOI/s34GcMUpk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "88ce72d3-76c8-4667-991f-bfb38afee26c@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": "51reKqka1Oja5PznoRbxi3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "f1iSEyLv1PrbtFeiuJKKlA",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "84WPnmw61NXrchR8n/yKHV"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "7d+Fpo6JVGDKDbdlDo469w",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "fastNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": false,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 19
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 21
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_3",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 18
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 138,
|
||||||
|
"height": 164
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "9cxd1lOKJDtLg+BoOr/HTm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "ac2556dc-83d2-4f49-a82f-8196d2cf9f49@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": "f5y4V8B4FPubVibA4evkLy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "58NpX4CXRKopv6z2y55UqH",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "05THPbdQZI+pnE7iEDMNJK"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "986SkNVnRKtKTn6EkP2HUc",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "spineNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 23
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 29
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 31
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 26
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 28
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0.123,
|
||||||
|
"y": 0.096,
|
||||||
|
"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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 180,
|
||||||
|
"height": 170
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "cerewO2clEfrdLB6iDzqn2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "e900288a-3049-4145-bb39-a0dd81a75198",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "chixu",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": true,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "9dJidfgLBFvpV/XbP4NGI7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "65eqkvwJxGKLqtRDMxECzA",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 30
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "27ZbNZZpxDjbEZ397KEsun"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "f80UswLVxJaIKu51s5fgjR",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 33
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f7+JyYG01IWKu+7ry7GVmh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "1d4d2CSg3xDlJYbCdB7Jtn1",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 35
|
||||||
|
},
|
||||||
|
"normalNode": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"fastNode": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"spineNode": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c16WOtl2BJ8ZbnqIeJtky2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/Icons/3.prefab.meta
Normal file
13
assets/Game/Prefab/Icons/3.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "3d6ede65-0026-4281-8572-569e42eea9a0",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "3"
|
||||||
|
}
|
||||||
|
}
|
||||||
823
assets/Game/Prefab/Icons/4.prefab
Normal file
823
assets/Game/Prefab/Icons/4.prefab
Normal file
@ -0,0 +1,823 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "4",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "4",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 34
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 36
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "normalNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_4",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 145,
|
||||||
|
"height": 138
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "dbShe6rAVCPphd5yHFnVsU"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "c2c2b989-00c4-491e-b1b0-c5ecbaa6a436@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": "94iGqVhjxF+p07OKcSB7eE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "52PqflbmFMGqK7WnaQfqk7",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "8cCoS8nwZB2avgphT+qtho"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "68iivCEaVAdbgg1vzuz3Wc",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "fastNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": false,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 19
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 21
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_4",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 18
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 144,
|
||||||
|
"height": 156
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "85u0sg5WZJgorsk5d2CzAr"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "d9b57f71-caec-4e2e-804d-3fbb0226fb3f@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": "0b2B2Pgs9Ly6nZsJRpxV/D"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "3bhTDY0ARLoJH1gQukEtSd",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "adsu9hL4BLjZijN2umHAHC"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "9crx/FHhVA6qUDOVjM8J1G",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "spineNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 23
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 29
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 31
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 26
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 28
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": -1,
|
||||||
|
"y": 1,
|
||||||
|
"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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 180,
|
||||||
|
"height": 170
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "77YNREi01EB7dbc7IrREji"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "b460ef59-931d-4911-bd81-6a46547405fe",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "chixu",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": true,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "502CIEEgNArr3FOMdfA2XF"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "b22zjV/jxKO7KkWWBpYKt6",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 30
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "1391ji/UZFDIWwFqgr280u"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "a3x3gh4+lKvJw8mXe9Qdo7",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 33
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f7+JyYG01IWKu+7ry7GVmh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "1d4d2CSg3xDlJYbCdB7Jtn1",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 35
|
||||||
|
},
|
||||||
|
"normalNode": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"fastNode": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"spineNode": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c16WOtl2BJ8ZbnqIeJtky2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/Icons/4.prefab.meta
Normal file
13
assets/Game/Prefab/Icons/4.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "e0928cff-6e84-4aa5-a100-826094cfbce6",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "4"
|
||||||
|
}
|
||||||
|
}
|
||||||
823
assets/Game/Prefab/Icons/5.prefab
Normal file
823
assets/Game/Prefab/Icons/5.prefab
Normal file
@ -0,0 +1,823 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "5",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "5",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 34
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 36
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "normalNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_5",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 149,
|
||||||
|
"height": 149
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f4zrWymCpEzbvXra2Oe2fV"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "0db27033-aac1-4b55-a19f-c9e9ef28b548@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": "4fB1rJunBDVYNHM7jrWqTg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "e1hXKGxPhHTbaUDYOKPLRk",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "7eawxbv9BMv7eh8PqOWGaL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "0dGjDogSZCKrZ9XsdXN0fD",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "fastNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": false,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 19
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 21
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_5",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 18
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 149,
|
||||||
|
"height": 167
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "bcxFhYInNDzY3ObGJk+OVj"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "9d44a0a8-70d1-4582-b5ee-19aa9a9727be@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": "3d7Zlau4tOAaRLmxHZt6uW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "e1NUFvzIxMAJNz2fqhKEDt",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f2QXVEx9dLK5wLMjZiG1Dg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "8eHY2TDedDopwEW8hm7rLZ",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "spineNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 23
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 29
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 31
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 26
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 28
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0.073,
|
||||||
|
"y": 1.366,
|
||||||
|
"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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 155.30999755859375,
|
||||||
|
"height": 149.72999572753906
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.49777862838113196,
|
||||||
|
"y": 0.49241972524395666
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "84qirWmndCtJH5kDxep83c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "b9bfe6f4-deaf-4ea2-bdf6-36e62fa46d48",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "chixu",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": true,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "ecckipIKZDTq8ZxF/DdLOg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "2aEbLzYXZEmZCRBoWe67BM",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 30
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "0b91EKwJBEsJEhgqX4mmev"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "32Cn3OgBNMSZvVmrtOOqPO",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 33
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f7+JyYG01IWKu+7ry7GVmh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "1d4d2CSg3xDlJYbCdB7Jtn1",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 35
|
||||||
|
},
|
||||||
|
"normalNode": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"fastNode": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"spineNode": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c16WOtl2BJ8ZbnqIeJtky2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/Icons/5.prefab.meta
Normal file
13
assets/Game/Prefab/Icons/5.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "5e3c6a81-0213-4db7-8682-237dab87b17b",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "5"
|
||||||
|
}
|
||||||
|
}
|
||||||
823
assets/Game/Prefab/Icons/6.prefab
Normal file
823
assets/Game/Prefab/Icons/6.prefab
Normal file
@ -0,0 +1,823 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "6",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "6",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 34
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 36
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "normalNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_6",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 137,
|
||||||
|
"height": 130
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "5a9vb/eTpI/p85wl6IKeMn"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "e75d96d5-64a4-4894-a143-31d2be080bdd@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": "cbxeMcCoVE+4cpEjnfYGru"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "19ExsfkV5Bp7puCW6CgeAd",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "7ecZKbdnJGxJ03qRcu9N8e"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "a1F3iCaxpN1YM79v+/b6uN",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "fastNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": false,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 19
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 21
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_6",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 18
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 137,
|
||||||
|
"height": 148
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "34Zfbrsp9LcaJ1xuhtLdIQ"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "4f8e1a1e-5645-40aa-b1f2-11b6f26148dd@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": "ecAEZMOJpBqKb2A8BtGThv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "3019oRQ5pIGoSTQMF1i1X9",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "61Oz7x1l9E27NDZncP/5BB"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "acpaMgT8dFMJMmqTt6o6+g",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "spineNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 23
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 29
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 31
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 26
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 28
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": -7.326,
|
||||||
|
"y": 4.049,
|
||||||
|
"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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 140.1199951171875,
|
||||||
|
"height": 131.57000732421875
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.45618041961453587,
|
||||||
|
"y": 0.5213954142685037
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "b2QqXCMBlNeokZcCN8qGA6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "6b7881ba-216f-484f-8bd2-337397032d48",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "chixu",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": false,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "03vu8AR+ZDm4oVx7EQenzb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "a5T5I9adFD7LtntumIG+qr",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 30
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "52fpj7iZNGXJSpCjvgDZ7r"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "f6iPnAYZ1OR7XSSyxmrRk3",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 33
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f7+JyYG01IWKu+7ry7GVmh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "1d4d2CSg3xDlJYbCdB7Jtn1",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 35
|
||||||
|
},
|
||||||
|
"normalNode": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"fastNode": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"spineNode": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c16WOtl2BJ8ZbnqIeJtky2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/Icons/6.prefab.meta
Normal file
13
assets/Game/Prefab/Icons/6.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "c0f436e9-b870-4064-8135-2b15c16c8a08",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "6"
|
||||||
|
}
|
||||||
|
}
|
||||||
823
assets/Game/Prefab/Icons/7.prefab
Normal file
823
assets/Game/Prefab/Icons/7.prefab
Normal file
@ -0,0 +1,823 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "7",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "7",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 34
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 36
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "normalNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_7",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 140,
|
||||||
|
"height": 138
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "e62/7R5XtOnKOHXpWyFEHc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "eef144cd-e67b-4414-a1ff-66ac339c12c4@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": "6dckWNqctJiZap/hZTzCJS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "f5jPErNHdIyZ1jGuyfE+uY",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c5gnjAvolGRp34QK9+AUK9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "343Vp23t5HZZQSWLIpD4o8",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "fastNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": false,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 19
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 21
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_7",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 18
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 138,
|
||||||
|
"height": 155
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "49Zm8mAWBCFZFBuEfVK1z9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "33a40300-9819-410e-9082-f9782606f62d@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": "ea89ArMKBEtJ9GWHaO36pq"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "75DdFe1D5M7Ja8x+im3S5m",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f4BRa35BpPTYY9u0iwpNwN"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c3keA68c9CmKhPF3M0U/Ws",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "spineNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 23
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 29
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 31
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 26
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 28
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 180,
|
||||||
|
"height": 170
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "52J9ogegdKTK8NZJJ/uAMM"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "ea79e0b9-181d-45be-99eb-ace2d68dc6eb",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "chixu",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": false,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "79VPm+DiVJdZ5TWrWUVOCb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "384gF5U2tAFKawubqQYOxX",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 30
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "79pGvBHZ9PhL3nj6bODJ2f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "0bO7LL1llC26Hicgqkc6hx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 33
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f7+JyYG01IWKu+7ry7GVmh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "1d4d2CSg3xDlJYbCdB7Jtn1",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 35
|
||||||
|
},
|
||||||
|
"normalNode": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"fastNode": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"spineNode": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c16WOtl2BJ8ZbnqIeJtky2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/Icons/7.prefab.meta
Normal file
13
assets/Game/Prefab/Icons/7.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "4e3beddd-2d76-4352-9a2a-843c0ea26164",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "7"
|
||||||
|
}
|
||||||
|
}
|
||||||
823
assets/Game/Prefab/Icons/8.prefab
Normal file
823
assets/Game/Prefab/Icons/8.prefab
Normal file
@ -0,0 +1,823 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "8",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "8",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 34
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 36
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "normalNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_8",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 153,
|
||||||
|
"height": 132
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "a44EpSoLRIo7849E4vetch"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "3eeb71a9-598c-44d6-b865-8984ab986f13@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": "7cZHP+yblDKrP+TSut6um/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "588Yu/08RFwJYzbgE7e8WA",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "36n0izZe1KUYQwEAHmHt9G"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "e728mpoJdLarHUtVz1LsYl",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "fastNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": false,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 19
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 21
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_8",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 18
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 151,
|
||||||
|
"height": 149
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "81hvRol69DwaaLaV2hpooc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "40bdcfa1-9c15-4f75-a914-64cedf3ce2fc@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": "5eewd+qvxN+JBJuUGSOqHO"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "45isBYvmRFgbOr82FkGa5K",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "e8oLnK9opHyoQ6XK65fve6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "37jSgFgKpBcKqtWSPHyS3t",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "spineNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 23
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 29
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 31
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 26
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 28
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 180,
|
||||||
|
"height": 170
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "25/uhfLV9LUrVYZErguIYs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "cba827dd-9530-4549-a7bb-92423337454f",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "chixu",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": false,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "6fxpgZA9hBF7qHCyf467Wh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "31y+l2RdNFOL9HxCUwigC7",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 30
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "00eIbMY6tGXZVz3HUcmNEd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "f96w8PJVJDj4tI6UlLm7qu",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 33
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f7+JyYG01IWKu+7ry7GVmh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "1d4d2CSg3xDlJYbCdB7Jtn1",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 35
|
||||||
|
},
|
||||||
|
"normalNode": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"fastNode": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"spineNode": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c16WOtl2BJ8ZbnqIeJtky2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/Icons/8.prefab.meta
Normal file
13
assets/Game/Prefab/Icons/8.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "c2ff920f-4cea-4f5d-9ebc-f3d4c4aab3af",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "8"
|
||||||
|
}
|
||||||
|
}
|
||||||
823
assets/Game/Prefab/Icons/9.prefab
Normal file
823
assets/Game/Prefab/Icons/9.prefab
Normal file
@ -0,0 +1,823 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "9",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "9",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 34
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 36
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "normalNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_9",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 146,
|
||||||
|
"height": 137
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "3c6vLyAn5HSZS49d+t1FK+"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "ae29128a-6a38-45bf-b575-4f0d1f6b53f3@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": "b2k3GmYQZGOrsrAE1iDR2G"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "7bg/7jxwBGZa0o1RomBGkO",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "36n0izZe1KUYQwEAHmHt9G"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "e728mpoJdLarHUtVz1LsYl",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "fastNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": false,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 19
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 21
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "symbol_9",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 18
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 144,
|
||||||
|
"height": 155
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "b4L+h47mRKjbMSiUD+iskl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "578a67cc-aaa9-4b51-bc22-1185b4f85832@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": "bcNmF28DhPd4xIXutHyDMq"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "b6XVku5dNFEKNRyKF5Zf3e",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "e8oLnK9opHyoQ6XK65fve6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "37jSgFgKpBcKqtWSPHyS3t",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "spineNode",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 23
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 29
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 31
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 26
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 28
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 180,
|
||||||
|
"height": 170
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "141FlItE9NVYcSGnezZjDI"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 27
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "b434f100-92d9-4414-99c9-0d0fd235c213",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": false,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "d2PfhgmWhPFI0ca8e8wG0Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "09D44Ea5dAP6SGU+4jYiuw",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 30
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "83ydrtbVBP1a0KeLPSWJ7z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "fe0xqrJ9FE65XbHRx9d22A",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 33
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 176,
|
||||||
|
"height": 178
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f7+JyYG01IWKu+7ry7GVmh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "1d4d2CSg3xDlJYbCdB7Jtn1",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 35
|
||||||
|
},
|
||||||
|
"normalNode": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"fastNode": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"spineNode": {
|
||||||
|
"__id__": 22
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c16WOtl2BJ8ZbnqIeJtky2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/Icons/9.prefab.meta
Normal file
13
assets/Game/Prefab/Icons/9.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "c9f3dd9e-da32-4d66-800c-ac6ebc8385fe",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "9"
|
||||||
|
}
|
||||||
|
}
|
||||||
9
assets/Game/Prefab/Others.meta
Normal file
9
assets/Game/Prefab/Others.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.2.0",
|
||||||
|
"importer": "directory",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "30e0d714-3e2e-4d74-a690-8315f21ad483",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
5817
assets/Game/Prefab/Others/IconMsg.prefab
Normal file
5817
assets/Game/Prefab/Others/IconMsg.prefab
Normal file
File diff suppressed because it is too large
Load Diff
13
assets/Game/Prefab/Others/IconMsg.prefab.meta
Normal file
13
assets/Game/Prefab/Others/IconMsg.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "64753d8d-4fe5-4eb9-aa4f-2fccd0958de8",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "IconMsg"
|
||||||
|
}
|
||||||
|
}
|
||||||
239
assets/Game/Prefab/Others/winSpine.prefab
Normal file
239
assets/Game/Prefab/Others/winSpine.prefab
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "winSpine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "winSpine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 8
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"_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.Node",
|
||||||
|
"_name": "spine",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_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.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 1080,
|
||||||
|
"height": 1920
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5808888753255208,
|
||||||
|
"y": 0.5676666895548502
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "10fhSccFdJL7EBc4O2O0U1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "sp.Skeleton",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 6
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_skeletonData": {
|
||||||
|
"__uuid__": "994758bd-57ff-4409-b2bc-ff85b72467df",
|
||||||
|
"__expectedType__": "sp.SkeletonData"
|
||||||
|
},
|
||||||
|
"defaultSkin": "default",
|
||||||
|
"defaultAnimation": "animation",
|
||||||
|
"_premultipliedAlpha": false,
|
||||||
|
"_timeScale": 1,
|
||||||
|
"_preCacheMode": 0,
|
||||||
|
"_cacheMode": 0,
|
||||||
|
"_sockets": [],
|
||||||
|
"_useTint": false,
|
||||||
|
"_debugMesh": false,
|
||||||
|
"_debugBones": false,
|
||||||
|
"_debugSlots": false,
|
||||||
|
"_enableBatch": false,
|
||||||
|
"loop": true,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "f5a7vpRUhIWqhomONXbcY8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "bbdegj/RhBKJG5QiV5LmlV",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 9
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 100,
|
||||||
|
"height": 100
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c3oJ6W2r1OToaRQ3kF2gyo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/Game/Prefab/Others/winSpine.prefab.meta
Normal file
13
assets/Game/Prefab/Others/winSpine.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "3c2fa1b8-7168-4d39-bdca-73ef0d8fc8ed",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "winSpine"
|
||||||
|
}
|
||||||
|
}
|
||||||
4298
assets/Game/Prefab/SysGift.prefab
Normal file
4298
assets/Game/Prefab/SysGift.prefab
Normal file
File diff suppressed because it is too large
Load Diff
13
assets/Game/Prefab/SysGift.prefab.meta
Normal file
13
assets/Game/Prefab/SysGift.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "29fb0a1e-a12f-4c41-9000-815327a25730",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "SysGift"
|
||||||
|
}
|
||||||
|
}
|
||||||
1468
assets/Game/Prefab/TotalWinSpine.prefab
Normal file
1468
assets/Game/Prefab/TotalWinSpine.prefab
Normal file
File diff suppressed because it is too large
Load Diff
13
assets/Game/Prefab/TotalWinSpine.prefab.meta
Normal file
13
assets/Game/Prefab/TotalWinSpine.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "1e867f9c-517f-48fd-b291-ba4492c52337",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "TotalWinSpine"
|
||||||
|
}
|
||||||
|
}
|
||||||
2027
assets/Game/Prefab/WebView.prefab
Normal file
2027
assets/Game/Prefab/WebView.prefab
Normal file
File diff suppressed because it is too large
Load Diff
13
assets/Game/Prefab/WebView.prefab.meta
Normal file
13
assets/Game/Prefab/WebView.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "5e0464f6-c7ac-40ec-9dfd-59fb349108d0",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "WebView"
|
||||||
|
}
|
||||||
|
}
|
||||||
9
assets/Game/Scripts.meta
Normal file
9
assets/Game/Scripts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.2.0",
|
||||||
|
"importer": "directory",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "b840c36d-7ed0-4ad3-adca-371f944635f4",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
133
assets/Game/Scripts/AutoSpinPanel.ts
Normal file
133
assets/Game/Scripts/AutoSpinPanel.ts
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
import { _decorator, BlockInputEvents, Component, easing, Label, Node, Slider, tween, UITransform, v3 } from 'cc';
|
||||||
|
import { GameDataManager } from '../../Main/Scripts/managers/GameDataManager';
|
||||||
|
import { AudioManager } from '../../Main/Scripts/managers/AudioManager'; import { NodePoolManager } from '../../Main/Scripts/managers/NodePoolManager';
|
||||||
|
let { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('AutoSpinPanel')
|
||||||
|
export class AutoSpinPanel extends Component {
|
||||||
|
|
||||||
|
@property(Slider)
|
||||||
|
private autoSlider: Slider = null;
|
||||||
|
|
||||||
|
@property(Label)
|
||||||
|
private autoCountLabel: Label = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
private mainNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
private barFill: Node = null;
|
||||||
|
|
||||||
|
private countArr: number[] = [10, 20, 30, 50, 70, 100, 500, 1000];
|
||||||
|
private curIndex: number = 0;
|
||||||
|
|
||||||
|
private closeCallback: Function = null;
|
||||||
|
|
||||||
|
protected onLoad(): void {
|
||||||
|
this.updateSliderAndLabel(0);
|
||||||
|
this.setCount(100);
|
||||||
|
this.autoSlider.node.on('slide', this.onSliderChange, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
onDestroy() {
|
||||||
|
// 清理事件监听
|
||||||
|
this.autoSlider.node.off('slide', this.onSliderChange, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
showTween() {
|
||||||
|
this.mainNode.active = false;
|
||||||
|
this.mainNode.setScale(v3(0.1, 0.1, 0.1));
|
||||||
|
this.mainNode.active = true;
|
||||||
|
tween(this.mainNode)
|
||||||
|
.to(0.1, { scale: v3(1, 1, 1) }, { easing: easing.quadOut })
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置关闭回调,并允许传递参数
|
||||||
|
* @param callback 回调函数
|
||||||
|
* @param args 回调参数
|
||||||
|
*/
|
||||||
|
setCloseCallback(callback: Function) {
|
||||||
|
// 包装回调,使其带参数
|
||||||
|
this.closeCallback = callback;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
onSliderChange() {
|
||||||
|
let progress = this.autoSlider.progress;
|
||||||
|
// 计算最近的档位
|
||||||
|
let totalSteps = this.countArr.length - 1;
|
||||||
|
let targetIndex = Math.round(progress * totalSteps);
|
||||||
|
// 立即更新滑动条位置到目标档位
|
||||||
|
let targetProgress = targetIndex / totalSteps;
|
||||||
|
this.autoSlider.progress = targetProgress;
|
||||||
|
if (targetIndex !== this.curIndex) {
|
||||||
|
this.curIndex = targetIndex;
|
||||||
|
// 立即更新滑动条位置到目标档位
|
||||||
|
let targetProgress = targetIndex / totalSteps;
|
||||||
|
this.autoSlider.progress = targetProgress;
|
||||||
|
this.updateBarFill(targetProgress);
|
||||||
|
this.updateLabel(targetIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
updateBarFill(progress: number) {
|
||||||
|
if (this.barFill) {
|
||||||
|
// 获取 UITransform 组件
|
||||||
|
const transform = this.barFill.getComponent(UITransform);
|
||||||
|
if (transform) {
|
||||||
|
// 获取原始宽度(可以在 onLoad 中缓存)
|
||||||
|
const maxWidth = this.autoSlider.node.getComponent(UITransform).width;
|
||||||
|
// 更新填充条宽度
|
||||||
|
transform.width = maxWidth * progress;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
updateSliderAndLabel(index: number) {
|
||||||
|
// 直接更新滑动条位置
|
||||||
|
let totalSteps = this.countArr.length - 1;
|
||||||
|
let progress = index / totalSteps;
|
||||||
|
this.autoSlider.progress = progress;
|
||||||
|
|
||||||
|
// 更新显示的值
|
||||||
|
this.updateBarFill(progress);
|
||||||
|
this.updateLabel(index);
|
||||||
|
this.curIndex = index;
|
||||||
|
}
|
||||||
|
|
||||||
|
updateLabel(index: number) {
|
||||||
|
// 确保索引在有效范围内
|
||||||
|
index = Math.min(Math.max(index, 0), this.countArr.length - 1);
|
||||||
|
|
||||||
|
// 更新显示的值
|
||||||
|
let value = this.countArr[index];
|
||||||
|
if (this.autoCountLabel) {
|
||||||
|
this.autoCountLabel.string = value.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
closeBtnClick() {
|
||||||
|
AudioManager.instance.playSFX('Click_Menu');
|
||||||
|
NodePoolManager.instance.putNodeToPool("AutoSpinPanel", this.node);
|
||||||
|
}
|
||||||
|
|
||||||
|
onBtnStartAutoSpin() {
|
||||||
|
GameDataManager.instance.autoCount = this.countArr[this.curIndex];
|
||||||
|
if (this.closeCallback) this.closeCallback();
|
||||||
|
NodePoolManager.instance.putNodeToPool("AutoSpinPanel", this.node);
|
||||||
|
}
|
||||||
|
|
||||||
|
setCount(count: number) {
|
||||||
|
let index = this.countArr.findIndex((v, i) => {
|
||||||
|
if (i === this.countArr.length - 1) return true;
|
||||||
|
return count <= v;
|
||||||
|
});
|
||||||
|
|
||||||
|
this.updateSliderAndLabel(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
9
assets/Game/Scripts/AutoSpinPanel.ts.meta
Normal file
9
assets/Game/Scripts/AutoSpinPanel.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "d1cfe917-33b0-4cf9-9a24-ec9389813953",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
335
assets/Game/Scripts/BigWin.ts
Normal file
335
assets/Game/Scripts/BigWin.ts
Normal file
@ -0,0 +1,335 @@
|
|||||||
|
import { _decorator, Component, Label, Node, Tween, tween, UIOpacity, v3, sp } from 'cc';
|
||||||
|
import { WIN_TYPE } from './Define';
|
||||||
|
import { UIManager } from '../../Main/Scripts/managers/UIManager';
|
||||||
|
import { gold2cash } from '../../Main/Scripts/main/comm';
|
||||||
|
import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('BigWin')
|
||||||
|
export class BigWin extends Component {
|
||||||
|
@property(Node)
|
||||||
|
grayoNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
mainNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
bigWinNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
megaWinNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
superMegaWinNode: Node = null;
|
||||||
|
|
||||||
|
@property(Label)
|
||||||
|
winCount: Label = null;
|
||||||
|
|
||||||
|
isScrolling: boolean = false;
|
||||||
|
winTypeMultis: number[] = [35, 50];
|
||||||
|
betAmount: number = 0;
|
||||||
|
winCounts: number[] = [];
|
||||||
|
curType: WIN_TYPE = WIN_TYPE.NONE;
|
||||||
|
endWinType: WIN_TYPE = WIN_TYPE.NONE;
|
||||||
|
numHolder: any = null;
|
||||||
|
isFreeSpin: boolean = false;
|
||||||
|
callBack: () => void = null;
|
||||||
|
|
||||||
|
bubbleTween: Tween<Node> = null;
|
||||||
|
bubbleNode: Node = null;
|
||||||
|
|
||||||
|
isClosing: boolean = false;
|
||||||
|
|
||||||
|
open(winType: WIN_TYPE, winCount: number, betAmount: number, callBack: () => void, isFreeSpin: boolean) {
|
||||||
|
this.isScrolling = true;
|
||||||
|
this.isFreeSpin = isFreeSpin;
|
||||||
|
this.callBack = callBack;
|
||||||
|
this.isClosing = false;
|
||||||
|
|
||||||
|
if (winType <= WIN_TYPE.NORMAL_WIN) {
|
||||||
|
this.isScrolling = false;
|
||||||
|
if (callBack) callBack();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.grayoNode.on(Node.EventType.TOUCH_START, this.onClickGrayBg, this);
|
||||||
|
let bigWinCount = this.winTypeMultis[0] * betAmount;
|
||||||
|
let megaWinCount = this.winTypeMultis[1] * betAmount;
|
||||||
|
|
||||||
|
if (winCount <= bigWinCount) {
|
||||||
|
this.winCounts = [0, 0, winCount];
|
||||||
|
this.endWinType = WIN_TYPE.BIG_WIN;
|
||||||
|
} else if (bigWinCount < winCount && winCount <= megaWinCount) {
|
||||||
|
this.winCounts = [0, 0, bigWinCount, winCount];
|
||||||
|
this.endWinType = WIN_TYPE.MEGA_WIN;
|
||||||
|
} else if (megaWinCount < winCount) {
|
||||||
|
this.winCounts = [0, 0, bigWinCount, megaWinCount, winCount];
|
||||||
|
this.endWinType = WIN_TYPE.SUPER_MEGA_WIN;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.winCount.string = '0';
|
||||||
|
this.tweenOpen(WIN_TYPE.BIG_WIN);
|
||||||
|
this.startScrolling(true, WIN_TYPE.BIG_WIN, 0, this.winCounts[WIN_TYPE.BIG_WIN], callBack);
|
||||||
|
|
||||||
|
tween(this.winCount.node)
|
||||||
|
.set({ scale: v3(0, 0, 0) })
|
||||||
|
.to(0.5, { scale: v3(1, 1, 1) }, { easing: 'quadIn' })
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
tweenOpen(winType: WIN_TYPE) {
|
||||||
|
this.bigWinNode.active = winType == WIN_TYPE.BIG_WIN;
|
||||||
|
this.megaWinNode.active = winType == WIN_TYPE.MEGA_WIN;
|
||||||
|
this.superMegaWinNode.active = winType == WIN_TYPE.SUPER_MEGA_WIN;
|
||||||
|
|
||||||
|
if (winType == WIN_TYPE.BIG_WIN) {
|
||||||
|
AudioManager.instance.playBGM('Big_Win_Bgm');
|
||||||
|
} else if (winType == WIN_TYPE.MEGA_WIN) {
|
||||||
|
AudioManager.instance.playBGM('Mega_Win_Bgm');
|
||||||
|
} else if (winType == WIN_TYPE.SUPER_MEGA_WIN) {
|
||||||
|
AudioManager.instance.playBGM('Super_Mega_Win_Bgm');
|
||||||
|
}
|
||||||
|
|
||||||
|
this.bigWinNode.children[0].active = winType == WIN_TYPE.BIG_WIN;
|
||||||
|
this.megaWinNode.children[0].active = winType == WIN_TYPE.MEGA_WIN;
|
||||||
|
this.superMegaWinNode.children[0].active = winType == WIN_TYPE.SUPER_MEGA_WIN;
|
||||||
|
|
||||||
|
this.curType = winType;
|
||||||
|
|
||||||
|
let opacity, actionNode;
|
||||||
|
if (winType == WIN_TYPE.BIG_WIN) {
|
||||||
|
opacity = this.bigWinNode.getComponent(UIOpacity);
|
||||||
|
actionNode = this.bigWinNode;
|
||||||
|
} else if (winType == WIN_TYPE.MEGA_WIN) {
|
||||||
|
opacity = this.megaWinNode.getComponent(UIOpacity);
|
||||||
|
actionNode = this.megaWinNode;
|
||||||
|
} else if (winType == WIN_TYPE.SUPER_MEGA_WIN) {
|
||||||
|
opacity = this.superMegaWinNode.getComponent(UIOpacity);
|
||||||
|
actionNode = this.superMegaWinNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
opacity.opacity = 0;
|
||||||
|
tween(opacity)
|
||||||
|
.to(0.5, { opacity: 255 }, { easing: 'quadIn' })
|
||||||
|
.start();
|
||||||
|
|
||||||
|
actionNode.scale = v3(1.1, 1.1, 1.1);
|
||||||
|
tween(actionNode)
|
||||||
|
.to(0.5, { scale: v3(1, 1, 1) }, { easing: 'quadIn' })
|
||||||
|
.start();
|
||||||
|
|
||||||
|
this.startBubbleAnimation(actionNode);
|
||||||
|
this.playSpineAnimation(actionNode, 'ruchang', false, () => {
|
||||||
|
this.playSpineAnimation(actionNode, 'chixu', true);
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
startScrolling(isFirst: boolean, curType: WIN_TYPE, startValue: number, targetValue: number, callBack: () => void) {
|
||||||
|
if (curType === this.endWinType && !isFirst) {
|
||||||
|
if (this.numHolder && this.numHolder.holder) Tween.stopAllByTarget(this.numHolder.holder);
|
||||||
|
this.winCount.string = gold2cash(targetValue);
|
||||||
|
this.isScrolling = false;
|
||||||
|
if (curType == WIN_TYPE.SUPER_MEGA_WIN) {
|
||||||
|
AudioManager.instance.playBGM('Super_Mega_Win_Bgm');
|
||||||
|
}
|
||||||
|
tween(this.winCount.node)
|
||||||
|
.to(0.1, { scale: v3(1.1, 1.1, 1.1) }, { easing: 'quadIn' })
|
||||||
|
.to(0.1, { scale: v3(1, 1, 1) }, { easing: 'quadOut' })
|
||||||
|
.call(() => {
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.stopBubbleAnimation();
|
||||||
|
this.playXiaoshiAndClose(callBack);
|
||||||
|
}, 5);
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
} else {
|
||||||
|
// 还没到最终级别,继续升级
|
||||||
|
this.numHolder = UIManager.instance.tweenScorelinear(startValue, targetValue, 5)
|
||||||
|
.onUpdate((v: number) => {
|
||||||
|
this.winCount.string = gold2cash(v);
|
||||||
|
})
|
||||||
|
.onComplete(() => {
|
||||||
|
this.winCount.string = gold2cash(targetValue);
|
||||||
|
|
||||||
|
if (this.curType !== this.endWinType) {
|
||||||
|
let nextType = curType + 1;
|
||||||
|
this.stopBubbleAnimation();
|
||||||
|
|
||||||
|
this.playCurrentXiaoshi(() => {
|
||||||
|
if (this.bigWinNode.active) this.bigWinNode.active = false;
|
||||||
|
if (this.megaWinNode.active) this.megaWinNode.active = false;
|
||||||
|
if (this.superMegaWinNode.active) this.superMegaWinNode.active = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
this.tweenOpen(nextType);
|
||||||
|
this.startScrolling(false, nextType, this.winCounts[curType], this.winCounts[nextType], callBack);
|
||||||
|
} else {
|
||||||
|
this.startScrolling(false, this.endWinType, this.winCounts[curType], this.winCounts[this.endWinType], callBack);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickGrayBg() {
|
||||||
|
if (this.isClosing) return;
|
||||||
|
|
||||||
|
if (this.isScrolling) {
|
||||||
|
this.isScrolling = false;
|
||||||
|
|
||||||
|
if (this.numHolder && this.numHolder.holder) {
|
||||||
|
Tween.stopAllByTarget(this.numHolder.holder);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.endWinType !== this.curType) {
|
||||||
|
this.stopBubbleAnimation();
|
||||||
|
this.playCurrentXiaoshi(() => {
|
||||||
|
if (this.bigWinNode.active) this.bigWinNode.active = false;
|
||||||
|
if (this.megaWinNode.active) this.megaWinNode.active = false;
|
||||||
|
if (this.superMegaWinNode.active) this.superMegaWinNode.active = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
this.tweenOpen(this.endWinType);
|
||||||
|
this.winCount.string = gold2cash(this.winCounts[this.endWinType]);
|
||||||
|
|
||||||
|
tween(this.winCount.node)
|
||||||
|
.to(0.1, { scale: v3(1.1, 1.1, 1.1) }, { easing: 'quadIn' })
|
||||||
|
.to(0.1, { scale: v3(1, 1, 1) }, { easing: 'quadOut' })
|
||||||
|
.call(() => {
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.playXiaoshiAndClose(this.callBack);
|
||||||
|
}, 5);
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
} else {
|
||||||
|
this.winCount.string = gold2cash(this.winCounts[this.endWinType]);
|
||||||
|
tween(this.winCount.node)
|
||||||
|
.to(0.1, { scale: v3(1.1, 1.1, 1.1) }, { easing: 'quadIn' })
|
||||||
|
.to(0.1, { scale: v3(1, 1, 1) }, { easing: 'quadOut' })
|
||||||
|
.call(() => {
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.playXiaoshiAndClose(this.callBack);
|
||||||
|
}, 5);
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
this.playXiaoshiAndClose(this.callBack);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private playSpineAnimation(node: Node, animationName: string, loop: boolean = false, onComplete?: () => void) {
|
||||||
|
|
||||||
|
|
||||||
|
if (!node || !node.active) {
|
||||||
|
if (onComplete) onComplete();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let skeleton = node.getComponent(sp.Skeleton);
|
||||||
|
if (!skeleton && node.children.length > 0) {
|
||||||
|
skeleton = node.children[0].getComponent(sp.Skeleton);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!skeleton) {
|
||||||
|
console.warn(`未找到Spine组件: ${node.name}`);
|
||||||
|
if (onComplete) onComplete();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
skeleton.setAnimation(0, animationName, loop);
|
||||||
|
|
||||||
|
if (onComplete && !loop) {
|
||||||
|
const onAnimComplete = () => {
|
||||||
|
skeleton.setCompleteListener(null);
|
||||||
|
onComplete();
|
||||||
|
};
|
||||||
|
skeleton.setCompleteListener(onAnimComplete);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private playCurrentXiaoshi(onComplete: () => void) {
|
||||||
|
let activeNode: Node = null;
|
||||||
|
if (this.bigWinNode.active) {
|
||||||
|
activeNode = this.bigWinNode;
|
||||||
|
} else if (this.megaWinNode.active) {
|
||||||
|
activeNode = this.megaWinNode;
|
||||||
|
} else if (this.superMegaWinNode.active) {
|
||||||
|
activeNode = this.superMegaWinNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (activeNode) {
|
||||||
|
this.playSpineAnimation(activeNode, 'xiaoshi', false, onComplete);
|
||||||
|
} else {
|
||||||
|
onComplete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private playXiaoshiAndClose(callBack?: () => void) {
|
||||||
|
if (this.isClosing) return;
|
||||||
|
this.isClosing = true;
|
||||||
|
let activeNode: Node = null;
|
||||||
|
if (this.bigWinNode.active) {
|
||||||
|
activeNode = this.bigWinNode;
|
||||||
|
} else if (this.megaWinNode.active) {
|
||||||
|
activeNode = this.megaWinNode;
|
||||||
|
} else if (this.superMegaWinNode.active) {
|
||||||
|
activeNode = this.superMegaWinNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (activeNode) {
|
||||||
|
this.playSpineAnimation(activeNode, 'xiaoshi', false, () => {
|
||||||
|
this.closeAndDestroy(callBack);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.closeAndDestroy(callBack);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private closeAndDestroy(callBack?: () => void) {
|
||||||
|
if (callBack) callBack();
|
||||||
|
this.unscheduleAllCallbacks();
|
||||||
|
this.isFreeSpin ?
|
||||||
|
AudioManager.instance.playBGM('Free_Bg_Bgm') :
|
||||||
|
AudioManager.instance.playBGM('Normal_Bg_Bgm');
|
||||||
|
this.node.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
private startBubbleAnimation(parentNode: Node) {
|
||||||
|
this.stopBubbleAnimation();
|
||||||
|
|
||||||
|
if (!parentNode || parentNode.children.length === 0) {
|
||||||
|
console.warn('找不到要做泡泡动画的子节点');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.bubbleNode = parentNode.children[0];
|
||||||
|
this.bubbleNode.setScale(v3(1, 1, 1));
|
||||||
|
|
||||||
|
this.bubbleTween = tween(this.bubbleNode)
|
||||||
|
.to(1, { scale: v3(1.1, 1.1, 1.1) }, {
|
||||||
|
easing: 'sineInOut'
|
||||||
|
})
|
||||||
|
.to(1, { scale: v3(1, 1, 1) }, {
|
||||||
|
easing: 'sineInOut'
|
||||||
|
})
|
||||||
|
.union()
|
||||||
|
.repeatForever()
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
private stopBubbleAnimation() {
|
||||||
|
if (this.bubbleTween) {
|
||||||
|
this.bubbleTween.stop();
|
||||||
|
this.bubbleTween = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.bubbleNode && this.bubbleNode.isValid) {
|
||||||
|
this.bubbleNode.setScale(v3(1, 1, 1));
|
||||||
|
this.bubbleNode = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
assets/Game/Scripts/BigWin.ts.meta
Normal file
9
assets/Game/Scripts/BigWin.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "90fc3a22-4563-4297-b4d1-2e4b5494c49e",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
256
assets/Game/Scripts/Define.ts
Normal file
256
assets/Game/Scripts/Define.ts
Normal file
@ -0,0 +1,256 @@
|
|||||||
|
export let Chinese = {
|
||||||
|
'da': '丹麦',
|
||||||
|
'de': '德文',
|
||||||
|
'en': '英文',
|
||||||
|
'es': '西班牙文',
|
||||||
|
'fi': '芬兰文',
|
||||||
|
'fr': '法文',
|
||||||
|
'id': '印尼文',
|
||||||
|
'it': '意大利文',
|
||||||
|
'ja': '日文',
|
||||||
|
'ko': '韩文',
|
||||||
|
'my': '缅甸文',
|
||||||
|
'nl': '荷兰文',
|
||||||
|
'pt': '葡萄牙文',
|
||||||
|
'ro': '罗马尼亚文',
|
||||||
|
'ru': '俄文',
|
||||||
|
'sv': '瑞典文',
|
||||||
|
'th': '泰文',
|
||||||
|
'tr': '土耳其文',
|
||||||
|
'vi': '越南文',
|
||||||
|
'zh': '港文',
|
||||||
|
}
|
||||||
|
|
||||||
|
export let GAME_STATE = {
|
||||||
|
IDLE: 0,
|
||||||
|
ROTATE: 1,
|
||||||
|
WINNING: 2,
|
||||||
|
FREE_SPIN: 3,
|
||||||
|
}
|
||||||
|
|
||||||
|
export let ICON_WIDTH = 132;
|
||||||
|
export let ICON_HEIGHT = 170;
|
||||||
|
export let DELETE_TIME = 2.1;
|
||||||
|
|
||||||
|
export interface ISpecialIcon {
|
||||||
|
startPos: number;
|
||||||
|
lHeight: number;
|
||||||
|
iconIndex: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IParsedGameData {
|
||||||
|
Multi: number;
|
||||||
|
PanData: number[];
|
||||||
|
RemoveData: number[];
|
||||||
|
NewIconTop: number[][];
|
||||||
|
HasScatterExpect: boolean;
|
||||||
|
ScatterPos: number[];
|
||||||
|
BombPos: number[];
|
||||||
|
hasSmallGame: boolean;
|
||||||
|
hasFreeSpinAgain: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export let ICON_SERVER_MAP = {
|
||||||
|
1: 0,
|
||||||
|
3: 1,
|
||||||
|
4: 2,
|
||||||
|
5: 3,
|
||||||
|
6: 4,
|
||||||
|
7: 5,
|
||||||
|
8: 6,
|
||||||
|
9: 7,
|
||||||
|
10: 8,
|
||||||
|
11: 9,
|
||||||
|
12: 10,
|
||||||
|
}
|
||||||
|
|
||||||
|
export let ICON_MAP = {
|
||||||
|
0: "马里奥",
|
||||||
|
1: "公主",
|
||||||
|
2: "食人花",
|
||||||
|
3: "飞天蘑菇",
|
||||||
|
4: "苹果",
|
||||||
|
5: "娃娃",
|
||||||
|
6: "骰子",
|
||||||
|
7: "向日葵",
|
||||||
|
8: "乌龟",
|
||||||
|
9: "黄色娃娃",
|
||||||
|
10: "倍率炸弹",
|
||||||
|
}
|
||||||
|
|
||||||
|
export let ICON_RATE_NUM = [6, 5, 4, 3];
|
||||||
|
|
||||||
|
// 图标赔率
|
||||||
|
export let ICON_RATE = {
|
||||||
|
0: [0, 0, 0, 0], // Wild
|
||||||
|
1: [0, 0, 0, 0], // Scatter
|
||||||
|
2: [50, 30, 20, 10], // 炭治郎
|
||||||
|
3: [30, 20, 15, 8], // 祢豆子
|
||||||
|
4: [20, 15, 10, 5], // 我妻善逸
|
||||||
|
5: [20, 15, 10, 5], // 伊之助
|
||||||
|
6: [10, 6, 4, 2], // A
|
||||||
|
7: [10, 6, 4, 2], // K
|
||||||
|
8: [5, 3, 2, 1], // Q
|
||||||
|
9: [5, 4, 3, 1], // J
|
||||||
|
}
|
||||||
|
|
||||||
|
export let ROLLER_RULE = [
|
||||||
|
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
|
||||||
|
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
|
||||||
|
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
|
||||||
|
]
|
||||||
|
|
||||||
|
export let FREE_SPIN_ROLLER_RULE = [
|
||||||
|
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
|
||||||
|
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
|
||||||
|
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
// 单个滚轮事件
|
||||||
|
export enum ROLLER_EVENT {
|
||||||
|
ON_R_ICON_CREATE = 'ON_R_ICON_CREATE', // 当滚轮上随机Icon创建的时候回调
|
||||||
|
ROLLER_UNIFORM = "ROLLER_UNIFORM", // 滚轮开始匀速
|
||||||
|
ROLLER_DECELERATE = "ROLLER_DECELERATE", // 滚轮开始减速
|
||||||
|
LAST_PAGE_CREATE = 'LAST_PAGE_CREATE', // 最后一页创建
|
||||||
|
ROLLER_BOUNCE = 'ROLLER_BOUNCE', // 滚轮开始回弹
|
||||||
|
ROLLER_STOP = 'ROLLER_STOP', // 滚轮停止
|
||||||
|
|
||||||
|
// 消除相关
|
||||||
|
ICON_DELETED = 'ICON_DELETED', // 图标删除
|
||||||
|
ICON_CREATE = 'ICON_CREATE', // 图标创建
|
||||||
|
ICON_FALLEN = 'ICON_FALLEN', // 图标落下
|
||||||
|
}
|
||||||
|
|
||||||
|
// 滚轮组合事件
|
||||||
|
export enum ROLLER_COMBINE_EVENT {
|
||||||
|
ONE_ROLLER_STOP = 'ONE_ROLLER_STOP', // 一个滚轮停止的事件
|
||||||
|
ALL_ROLLER_STOP = 'ALL_ROLLER_STOP', // 所有滚轮停止的事件
|
||||||
|
ROLLER_BOUNCE = 'ROLLER_BOUNCE', // 滚轮开始回弹
|
||||||
|
ROLLER_DECELERATE = 'ROLLER_DECELERATE', // 滚轮开始减速
|
||||||
|
START_GAME_SCALE_TWEEN = 'START_GAME_SCALE_TWEEN', // 开始游戏缩放动画
|
||||||
|
START_GAME_END_SCALE_TWEEN = 'START_GAME_END_SCALE_TWEEN', // 结束游戏缩放动画
|
||||||
|
|
||||||
|
// 消除相关
|
||||||
|
ALL_ROLLER_ICONS_DELETED = 'ALL_ROLLER_ICONS_DELETED', // 所有滚轮图标删除
|
||||||
|
ALL_ROLLER_ICONS_CREATED = 'ALL_ROLLER_ICONS_CREATED', // 所有滚轮图标创建
|
||||||
|
ALL_ROLLER_ICONS_FALLEN = 'ALL_ROLLER_ICONS_FALLEN', // 所有滚轮图标落下
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SLOT_BAR_EVENT {
|
||||||
|
BET_CHANGE = 'BET_CHANGE', // 下注金额改变
|
||||||
|
MAX_BET = 'MAX_BET', // 最大下注
|
||||||
|
MIN_BET = 'MIN_BET', // 最小下注
|
||||||
|
ON_TEST_SPIN_CLICK = 'ON_TEST_SPIN_CLICK', // 测试旋转
|
||||||
|
ON_SPIN_CLICK = 'ON_SPIN_CLICK',
|
||||||
|
ON_MANUAL_STOP = 'ON_MANUAL_STOP',
|
||||||
|
OPEN_MENU = 'OPEN_MENU',
|
||||||
|
CLOSE_MENU = 'CLOSE_MENU',
|
||||||
|
FAST_SPIN = 'FAST_SPIN', // 快速旋转
|
||||||
|
ON_AUTO_SPIN_CLICK = 'ON_AUTO_SPIN_CLICK', // 自动旋转点击
|
||||||
|
ON_EXIT_CLICK = 'ON_EXIT_CLICK', // 退出游戏
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SYS_GIFT {
|
||||||
|
CLICK_CONTINUE = 'CLICK_CONTINUE',
|
||||||
|
SETTLE_CONTINUE = 'SETTLE_CONTINUE',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SLOT_GAME_EVENT {
|
||||||
|
ALL_ROLLER_STOP = 'ALL_ROLLER_STOP', // 事件传递
|
||||||
|
ALL_ROLLER_ICONS_DELETED = 'ALL_ROLLER_ICONS_DELETED', // 所有滚轮图标删除
|
||||||
|
ALL_ROLLER_ICONS_CREATED = 'ALL_ROLLER_ICONS_CREATED', // 所有滚轮图标创建
|
||||||
|
ALL_ROLLER_ICONS_FALLEN = 'ALL_ROLLER_ICONS_FALLEN', // 所有滚轮图标落下
|
||||||
|
FEATURE_BUY = 'FEATURE_BUY', // 购买功能
|
||||||
|
ON_DOUBLE_WIN_CLICK = 'ON_DOUBLE_WIN_CLICK', // 双倍赢点击
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum WIN_TYPE {
|
||||||
|
NONE,
|
||||||
|
NORMAL_WIN,
|
||||||
|
BIG_WIN,
|
||||||
|
MEGA_WIN,
|
||||||
|
SUPER_MEGA_WIN,
|
||||||
|
}
|
||||||
|
|
||||||
|
export let GAME_DATA = {
|
||||||
|
Data: [1, 1, 2, 2, 1, 5, 5, 5, 4, 4, 7, 7, 8, 8, 8, 4, 7, 7, 7, 4, 5, 3, 5, 5, 3, 7, 6, 6, 6, 6, 2, 7, 2, 2],
|
||||||
|
DataType: [10, 2, 13, 2, 16, 3, 26, 2]
|
||||||
|
}
|
||||||
|
|
||||||
|
// {
|
||||||
|
// "Balance": 179999827810046000,
|
||||||
|
// "Data": {
|
||||||
|
// "Rid": "69426f86d6bf8e59e638d8e9_12_14",
|
||||||
|
// "AllScore": 138800000,
|
||||||
|
// "Free": null,
|
||||||
|
// "Bet": 4000000,
|
||||||
|
// "Balance": 179999827810046000,
|
||||||
|
// "Symbol": {
|
||||||
|
// "ScNum": 1,
|
||||||
|
// "Middle": [
|
||||||
|
// 8,
|
||||||
|
// 10,
|
||||||
|
// 8,
|
||||||
|
// 4,
|
||||||
|
// 11,
|
||||||
|
// 9,
|
||||||
|
// 10,
|
||||||
|
// 9,
|
||||||
|
// 5,
|
||||||
|
// 7,
|
||||||
|
// 11,
|
||||||
|
// 9,
|
||||||
|
// 10,
|
||||||
|
// 9,
|
||||||
|
// 5,
|
||||||
|
// 7,
|
||||||
|
// 10,
|
||||||
|
// 10,
|
||||||
|
// 11,
|
||||||
|
// 10,
|
||||||
|
// 7,
|
||||||
|
// 11,
|
||||||
|
// 5,
|
||||||
|
// 10,
|
||||||
|
// 11,
|
||||||
|
// 10,
|
||||||
|
// 7,
|
||||||
|
// 1,
|
||||||
|
// 5,
|
||||||
|
// 9
|
||||||
|
// ],
|
||||||
|
// "IsEnd": false,
|
||||||
|
// "FreeMulMiddles": null
|
||||||
|
// },
|
||||||
|
// "WinInfo": {
|
||||||
|
// "Score": 4000,
|
||||||
|
// "Desc": {
|
||||||
|
// "10": {
|
||||||
|
// "Score": 4000,
|
||||||
|
// "Middle": [
|
||||||
|
// 1,
|
||||||
|
// 6,
|
||||||
|
// 12,
|
||||||
|
// 16,
|
||||||
|
// 17,
|
||||||
|
// 19,
|
||||||
|
// 23,
|
||||||
|
// 25
|
||||||
|
// ]
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// "MulDesc": null
|
||||||
|
// },
|
||||||
|
// "RoundInfo": {
|
||||||
|
// "Current": 12,
|
||||||
|
// "Total": 14,
|
||||||
|
// "Score": 138800000
|
||||||
|
// },
|
||||||
|
// "ScoreInfos": null
|
||||||
|
// },
|
||||||
|
// "Frb": {
|
||||||
|
// "Finished": null,
|
||||||
|
// "Ongoing": null
|
||||||
|
// }
|
||||||
|
// }
|
||||||
9
assets/Game/Scripts/Define.ts.meta
Normal file
9
assets/Game/Scripts/Define.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "4c35e12e-e85a-4fe4-84dc-f7a6b8455f18",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
45
assets/Game/Scripts/FeatureBuyPopup.ts
Normal file
45
assets/Game/Scripts/FeatureBuyPopup.ts
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
import { _decorator, Component, Node } from 'cc';
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('FeatureBuyPopup')
|
||||||
|
export class FeatureBuyPopup extends Component {
|
||||||
|
@property(Node)
|
||||||
|
buyFreeSpinNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
buySuperSpinNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
buyFreeSpinBgSprite: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
buySuperFreeSpinBgSprite: Node = null;
|
||||||
|
|
||||||
|
BuyType: number = 1;
|
||||||
|
|
||||||
|
protected onLoad(): void {
|
||||||
|
this.BuyType = 1;
|
||||||
|
// 两个Node加入点击事件
|
||||||
|
this.buyFreeSpinNode.on(Node.EventType.TOUCH_START, this.onClickBuyFreeSpin, this);
|
||||||
|
this.buySuperSpinNode.on(Node.EventType.TOUCH_START, this.onClickBuySuperSpin, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
show() {
|
||||||
|
this.buyFreeSpinBgSprite.active = this.BuyType == 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickBuyFreeSpin() {
|
||||||
|
if (this.BuyType == 1) return;
|
||||||
|
this.BuyType = 1;
|
||||||
|
this.buyFreeSpinBgSprite.active = true;
|
||||||
|
this.buySuperFreeSpinBgSprite.active = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickBuySuperSpin() {
|
||||||
|
if (this.BuyType == 2) return;
|
||||||
|
this.BuyType = 2;
|
||||||
|
this.buyFreeSpinBgSprite.active = false;
|
||||||
|
this.buySuperFreeSpinBgSprite.active = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
9
assets/Game/Scripts/FeatureBuyPopup.ts.meta
Normal file
9
assets/Game/Scripts/FeatureBuyPopup.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "c1c0f3e2-ec23-4ae8-8916-db2402c8f3fa",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
57
assets/Game/Scripts/FreeSpinAgain.ts
Normal file
57
assets/Game/Scripts/FreeSpinAgain.ts
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
import { _decorator, Component, Label, Node, tween, Tween, UIOpacity, v3, Vec3 } from 'cc';
|
||||||
|
import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('FreeSpinAgain')
|
||||||
|
export class FreeSpinAgain extends Component {
|
||||||
|
@property(Node)
|
||||||
|
grayNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
mainNode: Node = null;
|
||||||
|
|
||||||
|
@property(Label)
|
||||||
|
freeSpinCount: Label = null;
|
||||||
|
|
||||||
|
hasClickBtn: boolean = false;
|
||||||
|
closeCallBack: () => void = null;
|
||||||
|
|
||||||
|
showAgain(cb: () => void) {
|
||||||
|
this.unscheduleAllCallbacks();
|
||||||
|
this.closeCallBack = cb;
|
||||||
|
AudioManager.instance.playBGM('Free_Add_Free');
|
||||||
|
this.hasClickBtn = false;
|
||||||
|
let opacity = this.mainNode.getComponent(UIOpacity);
|
||||||
|
this.hasClickBtn = false;
|
||||||
|
Tween.stopAllByTarget(this.mainNode);
|
||||||
|
Tween.stopAllByTarget(opacity);
|
||||||
|
this.freeSpinCount.string = '5';
|
||||||
|
|
||||||
|
opacity.opacity = 0;
|
||||||
|
tween(opacity)
|
||||||
|
.to(0.3, { opacity: 255 }, { easing: 'quadIn' })
|
||||||
|
.start();
|
||||||
|
|
||||||
|
this.mainNode.scale = v3(0, 0, 0);
|
||||||
|
tween(this.mainNode)
|
||||||
|
.to(0.3, { scale: v3(1, 1, 1) }, { easing: 'quadIn' })
|
||||||
|
.call(() => {
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.onClickGrayBg();
|
||||||
|
}, 5);
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
|
||||||
|
this.grayNode.on(Node.EventType.TOUCH_START, this.onClickGrayBg, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickGrayBg() {
|
||||||
|
if (this.hasClickBtn) return;
|
||||||
|
this.hasClickBtn = true;
|
||||||
|
this.grayNode.off(Node.EventType.TOUCH_START, this.onClickGrayBg, this);
|
||||||
|
if (this.closeCallBack) this.closeCallBack();
|
||||||
|
AudioManager.instance.playBGM('Free_Bg_Bgm');
|
||||||
|
this.node.destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
9
assets/Game/Scripts/FreeSpinAgain.ts.meta
Normal file
9
assets/Game/Scripts/FreeSpinAgain.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "10e7466a-7b0d-4013-a397-31d8c57f1ab7",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
97
assets/Game/Scripts/FreeSpinEnterSpine.ts
Normal file
97
assets/Game/Scripts/FreeSpinEnterSpine.ts
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
import { _decorator, Component, Label, Node, sp, Tween, tween, Vec3 } from 'cc';
|
||||||
|
import { UIManager } from '../../Main/Scripts/managers/UIManager';
|
||||||
|
import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('FreeSpinEnterSpine')
|
||||||
|
export class FreeSpinEnterSpine extends Component {
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
mainNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
envEnterSpineNode: Node = null;
|
||||||
|
|
||||||
|
@property(Label)
|
||||||
|
freeSpinCount: Label = null;
|
||||||
|
|
||||||
|
@property(Label)
|
||||||
|
loadingProgressLabel: Label = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
loadingNode: Node = null
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
startBtn: Node = null;
|
||||||
|
|
||||||
|
hasClickBtn: boolean = false;
|
||||||
|
|
||||||
|
showEnterAni(freeSpinCount: number, cb) {
|
||||||
|
this.mainNode.active = false;
|
||||||
|
this.envEnterSpineNode.active = false;
|
||||||
|
this.startBtn.active = false;
|
||||||
|
this.hasClickBtn = false;
|
||||||
|
this.loadingNode.active = true;
|
||||||
|
this.freeSpinCount.string = freeSpinCount.toString();
|
||||||
|
Tween.stopAllByTarget(this.loadingNode);
|
||||||
|
|
||||||
|
this.startBtn.off(Node.EventType.TOUCH_START);
|
||||||
|
this.startBtn.on(Node.EventType.TOUCH_START, () => {
|
||||||
|
this.onClickStartBtn(cb);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.mainNode.active = true;
|
||||||
|
this.envEnterSpineNode.active = true;
|
||||||
|
tween(this.mainNode)
|
||||||
|
.set({ scale: new Vec3(1.1, 1.1, 1.1) })
|
||||||
|
.to(2, { scale: new Vec3(1, 1, 1) })
|
||||||
|
.start();
|
||||||
|
|
||||||
|
tween(this.envEnterSpineNode)
|
||||||
|
.set({ scale: new Vec3(1.1, 1.1, 1.1) })
|
||||||
|
.to(2, { scale: new Vec3(1, 1, 1) })
|
||||||
|
.start();
|
||||||
|
|
||||||
|
tween(this.loadingNode)
|
||||||
|
.by(1, { angle: -360 })
|
||||||
|
.repeatForever()
|
||||||
|
.start();
|
||||||
|
|
||||||
|
UIManager.instance.tweenScorelinear(0, 100, 2)
|
||||||
|
.onUpdate((v: number) => {
|
||||||
|
this.loadingProgressLabel.string = Math.floor(v).toString();
|
||||||
|
})
|
||||||
|
.onComplete(() => {
|
||||||
|
this.loadingNode.active = false;
|
||||||
|
this.startBtn.active = true;
|
||||||
|
this.startBtn.scale = new Vec3(0.1, 0.1, 0.1);
|
||||||
|
tween(this.startBtn)
|
||||||
|
.set({ scale: new Vec3(0.1, 0.1, 0.1) })
|
||||||
|
.to(0.5, { scale: new Vec3(1, 1, 1) })
|
||||||
|
.call(() => {
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.onClickStartBtn(cb);
|
||||||
|
}, 5)
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickStartBtn(cb: () => void) {
|
||||||
|
this.unscheduleAllCallbacks();
|
||||||
|
if (this.hasClickBtn) return;
|
||||||
|
this.hasClickBtn = true;
|
||||||
|
AudioManager.instance.playSFX('Click_Small_Game_Start');
|
||||||
|
// 插入一个放大缩小的动画
|
||||||
|
tween(this.startBtn)
|
||||||
|
.to(0.1, { scale: new Vec3(1.1, 1.1, 1.1) })
|
||||||
|
.to(0.1, { scale: new Vec3(1, 1, 1) })
|
||||||
|
.call(() => {
|
||||||
|
cb();
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
9
assets/Game/Scripts/FreeSpinEnterSpine.ts.meta
Normal file
9
assets/Game/Scripts/FreeSpinEnterSpine.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "9e8bba6a-39e1-450f-b0bd-26bec5993604",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
207
assets/Game/Scripts/Icon.ts
Normal file
207
assets/Game/Scripts/Icon.ts
Normal file
@ -0,0 +1,207 @@
|
|||||||
|
import { _decorator, Component, director, find, Node, ProgressBarComponent, sp, Sprite, SpriteFrame, tween, Tween, UITransform, v3 } from 'cc';
|
||||||
|
import { DEV, EDITOR } from 'cc/env';
|
||||||
|
import { NodePoolManager } from '../../Main/Scripts/managers/NodePoolManager';
|
||||||
|
import { GameDataManager } from '../../Main/Scripts/managers/GameDataManager';
|
||||||
|
import { IconMsg } from './IconMsg';
|
||||||
|
import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
|
||||||
|
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
enum ICON_STATE {
|
||||||
|
IDLE = 0,
|
||||||
|
FAST = 1,
|
||||||
|
HIDE = 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
@ccclass('Icon')
|
||||||
|
export class Icon extends Component {
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
normalNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
fastNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
spineNode: Node = null;
|
||||||
|
|
||||||
|
private iconId: number = 99;
|
||||||
|
private lheight: number = 1;
|
||||||
|
private rollerId: number = 0;
|
||||||
|
private state: ICON_STATE = ICON_STATE.IDLE;
|
||||||
|
private isFastMode: boolean = false;
|
||||||
|
private isWild: boolean = false;
|
||||||
|
private isScatter: boolean = false;
|
||||||
|
|
||||||
|
set index(id: number) { this.iconId = id; this.isWild = id === 0; this.isScatter = id === 1; }
|
||||||
|
get index(): number { return this.iconId }
|
||||||
|
|
||||||
|
get isWildOrScatter(): boolean {
|
||||||
|
return this.isWild || this.isScatter;
|
||||||
|
}
|
||||||
|
|
||||||
|
resetState() {
|
||||||
|
this.unscheduleAllCallbacks();
|
||||||
|
Tween.stopAllByTarget(this.node);
|
||||||
|
|
||||||
|
this.node.scale = v3(1, 1, 1);
|
||||||
|
|
||||||
|
this.state = ICON_STATE.IDLE;
|
||||||
|
|
||||||
|
this.node.active = true;
|
||||||
|
this.normalNode.active = true;
|
||||||
|
this.showFastIcon(false);
|
||||||
|
this.spineNode.active = false;
|
||||||
|
|
||||||
|
let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton);
|
||||||
|
if (spine) {
|
||||||
|
spine.setCompleteListener(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.node.targetOff(this.node);
|
||||||
|
this.node.off(Node.EventType.TOUCH_END);
|
||||||
|
this.node.on(Node.EventType.TOUCH_END, () => {
|
||||||
|
this.onClickIconNode();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
initIcon(id: number, lHeight: number = 1, rollerId: number = 0) {
|
||||||
|
this.resetState();
|
||||||
|
this.index = id;
|
||||||
|
this.lheight = lHeight;
|
||||||
|
this.rollerId = rollerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
showFastIcon(isFast: boolean) {
|
||||||
|
if (this.isFastMode === isFast) return;
|
||||||
|
this.isFastMode = isFast;
|
||||||
|
this.state = isFast ? ICON_STATE.FAST : ICON_STATE.IDLE;
|
||||||
|
this.normalNode.active = !isFast;
|
||||||
|
this.fastNode.active = isFast;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
checkHasAnimation(spine: sp.Skeleton, animationName: string) {
|
||||||
|
let animations = (spine.skeletonData._skeletonJson as any).animations;
|
||||||
|
if (animations.hasOwnProperty(animationName)) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
playIdleSpine(bol: boolean) {
|
||||||
|
let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton);
|
||||||
|
if (spine && this.checkHasAnimation(spine, 'chixu')) {
|
||||||
|
if (bol) {
|
||||||
|
this.normalNode.active = false;
|
||||||
|
this.spineNode.active = true;
|
||||||
|
spine.setAnimation(0, 'chixu', true);
|
||||||
|
} else {
|
||||||
|
this.normalNode.active = true;
|
||||||
|
this.spineNode.active = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
playBounceSpine(isLoop: boolean = false) {
|
||||||
|
|
||||||
|
let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton);
|
||||||
|
if (spine && this.checkHasAnimation(spine, 'tan')) {
|
||||||
|
this.normalNode.active = false
|
||||||
|
this.spineNode.active = true;
|
||||||
|
spine.setAnimation(0, 'tan', isLoop);
|
||||||
|
|
||||||
|
if (!isLoop) {
|
||||||
|
spine.setCompleteListener(() => {
|
||||||
|
spine.setCompleteListener(null);
|
||||||
|
if (this.checkHasAnimation(spine, 'chixu')) {
|
||||||
|
this.playIdleSpine(true);
|
||||||
|
} else {
|
||||||
|
this.normalNode.active = true;
|
||||||
|
this.spineNode.active = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
spine.setCompleteListener(null);
|
||||||
|
if (this.checkHasAnimation(spine, 'chixu')) {
|
||||||
|
this.playIdleSpine(true);
|
||||||
|
} else {
|
||||||
|
this.normalNode.active = true;
|
||||||
|
this.spineNode.active = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
playScatterWaitSpine(bol: boolean) {
|
||||||
|
let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton);
|
||||||
|
if (this.iconId == 1) {
|
||||||
|
if (spine && this.checkHasAnimation(spine, 'dengdai')) {
|
||||||
|
if (bol) {
|
||||||
|
this.normalNode.active = false;
|
||||||
|
this.spineNode.active = true;
|
||||||
|
spine.setAnimation(0, 'dengdai', true);
|
||||||
|
} else {
|
||||||
|
this.playIdleSpine(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
playDeleteSpine() {
|
||||||
|
let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton);
|
||||||
|
|
||||||
|
if (spine && this.checkHasAnimation(spine, 'xiaoshi')) { // 10帧 icon消失, 23帧 全部消失
|
||||||
|
spine.setCompleteListener(null);
|
||||||
|
this.normalNode.active = false;
|
||||||
|
this.spineNode.active = true;
|
||||||
|
spine.setAnimation(0, 'xiaoshi', false);
|
||||||
|
spine.setCompleteListener(() => {
|
||||||
|
spine.setCompleteListener(null);
|
||||||
|
this.spineNode.active = false;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
playAppearAnimation() {
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
tween(this.node)
|
||||||
|
.set({ scale: v3(0.1, 0.1, 0.1) })
|
||||||
|
.to(0.2, { scale: v3(1.15, 1.15, 1.15) })
|
||||||
|
.to(0.1, { scale: v3(0.95, 0.95, 0.95) })
|
||||||
|
.to(0.03, { scale: v3(1, 1, 1) })
|
||||||
|
.call(() => {
|
||||||
|
this.playIdleSpine(true);
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
getHeight(): number {
|
||||||
|
return this.lheight;
|
||||||
|
}
|
||||||
|
|
||||||
|
getIsFastMode(): boolean {
|
||||||
|
return this.isFastMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
getState(): ICON_STATE {
|
||||||
|
return this.state;
|
||||||
|
}
|
||||||
|
|
||||||
|
async onClickIconNode() {
|
||||||
|
if (GameDataManager.instance.canClickIconMsg) {
|
||||||
|
AudioManager.instance.playSFX('Click_Icon');
|
||||||
|
let iconMsg = await NodePoolManager.instance.getNodeFromPoolDynamic('IconMsg', 'Prefab/Others/IconMsg', 'Game');
|
||||||
|
let gameNode = find('Canvas/main/game');
|
||||||
|
if (!gameNode) return;
|
||||||
|
gameNode.addChild(iconMsg);
|
||||||
|
let isLeft = this.rollerId < 4;
|
||||||
|
iconMsg.getComponent(IconMsg).showIconMsg(this, isLeft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
9
assets/Game/Scripts/Icon.ts.meta
Normal file
9
assets/Game/Scripts/Icon.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "1d4d2092-837c-4394-961b-09d07b26d9f5",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
145
assets/Game/Scripts/IconFactory.ts
Normal file
145
assets/Game/Scripts/IconFactory.ts
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
import { _decorator, Component, Node, Prefab, instantiate, v3, Vec3, Tween } from 'cc';
|
||||||
|
import { Icon } from './Icon';
|
||||||
|
import { NodePoolManager } from '../../Main/Scripts/managers/NodePoolManager';
|
||||||
|
|
||||||
|
const { ccclass, property, executeInEditMode } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('IconFactory')
|
||||||
|
@executeInEditMode
|
||||||
|
export class IconFactory extends Component {
|
||||||
|
@property({ type: [Prefab] })
|
||||||
|
prefabs: Prefab[] = [];
|
||||||
|
|
||||||
|
// 性能优化相关常量
|
||||||
|
private static readonly INIT_POOL_SIZE = 6; // 每种图标初始池大小
|
||||||
|
private static readonly BATCH_CREATE_SIZE = 5; // 批量创建数量
|
||||||
|
|
||||||
|
// 活跃图标追踪
|
||||||
|
private activeIcons: Set<Node> = new Set();
|
||||||
|
// 创建计数
|
||||||
|
private createCounter: number[] = [];
|
||||||
|
// 初始化标记
|
||||||
|
private isInitialized: boolean = false;
|
||||||
|
// 初始化坐标
|
||||||
|
private initPos: Vec3 = v3(0, 0, 0);
|
||||||
|
|
||||||
|
// 初始化
|
||||||
|
init() {
|
||||||
|
if (this.isInitialized) return;
|
||||||
|
|
||||||
|
// 初始化计数器
|
||||||
|
this.createCounter = new Array(this.prefabs.length).fill(0);
|
||||||
|
|
||||||
|
// 预热对象池
|
||||||
|
this.warmupPools();
|
||||||
|
|
||||||
|
this.isInitialized = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 预热对象池
|
||||||
|
private warmupPools() {
|
||||||
|
// 为每种图标预创建一定数量的节点
|
||||||
|
for (let i = 0; i < this.prefabs.length; i++) {
|
||||||
|
const poolName = `Icon_${i}`;
|
||||||
|
|
||||||
|
// 批量创建节点到对象池
|
||||||
|
for (let j = 0; j < IconFactory.INIT_POOL_SIZE; j++) {
|
||||||
|
const node = instantiate(this.prefabs[i]);
|
||||||
|
const iconComp = node.getComponent(Icon) || node.addComponent(Icon);
|
||||||
|
iconComp.index = i;
|
||||||
|
// 确保第一次初始化
|
||||||
|
iconComp.initIcon(i);
|
||||||
|
NodePoolManager.instance.putNodeToPool(poolName, node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建图标
|
||||||
|
icfactoryCreateIcon(index: number): Node {
|
||||||
|
// 参数检查
|
||||||
|
if (index == null || index == undefined || index < 0) {
|
||||||
|
console.error(`IconFactory createIcon Error: ${index}`);
|
||||||
|
index = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 确保已初始化
|
||||||
|
if (!this.isInitialized) {
|
||||||
|
this.init();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 从对象池获取或创建节点
|
||||||
|
const iconNode = NodePoolManager.instance.getNodeFromPoolStatic(
|
||||||
|
`Icon_${index}`,
|
||||||
|
this.prefabs[index]
|
||||||
|
);
|
||||||
|
|
||||||
|
// 获取或添加Icon组件
|
||||||
|
const iconComp = iconNode.getComponent(Icon) || iconNode.addComponent(Icon);
|
||||||
|
iconComp.index = index;
|
||||||
|
// 确保初始化
|
||||||
|
Tween.stopAllByTarget(this.node);
|
||||||
|
iconComp.initIcon(index);
|
||||||
|
iconNode.setPosition(this.initPos);
|
||||||
|
|
||||||
|
// 更新计数和跟踪
|
||||||
|
this.createCounter[index]++;
|
||||||
|
this.activeIcons.add(iconNode);
|
||||||
|
|
||||||
|
// 检查是否需要补充对象池
|
||||||
|
this.checkAndReplenishPool(index);
|
||||||
|
|
||||||
|
return iconNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查并补充对象池
|
||||||
|
private checkAndReplenishPool(index: number) {
|
||||||
|
const poolName = `Icon_${index}`;
|
||||||
|
const pool = NodePoolManager.instance.getNodePoolByName(poolName);
|
||||||
|
|
||||||
|
// 如果池中节点较少,补充新节点
|
||||||
|
if (pool && pool.size() < IconFactory.INIT_POOL_SIZE / 2) {
|
||||||
|
for (let i = 0; i < IconFactory.BATCH_CREATE_SIZE; i++) {
|
||||||
|
const node = instantiate(this.prefabs[index]);
|
||||||
|
const iconComp = node.getComponent(Icon) || node.addComponent(Icon);
|
||||||
|
iconComp.index = index;
|
||||||
|
iconComp.initIcon(index);
|
||||||
|
NodePoolManager.instance.putNodeToPool(poolName, node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 回收图标
|
||||||
|
recycleIcon(icon: Node) {
|
||||||
|
if (!icon) {
|
||||||
|
console.error(`IconFactory.recycleIcon null`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const iconComp = icon.getComponent(Icon);
|
||||||
|
if (!iconComp) return;
|
||||||
|
|
||||||
|
const index = iconComp.index;
|
||||||
|
if (index >= 0) {
|
||||||
|
// 从活跃集合中移除
|
||||||
|
this.activeIcons.delete(icon);
|
||||||
|
// 放回对象池
|
||||||
|
NodePoolManager.instance.putNodeToPool(`Icon_${index}`, icon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取图标数量
|
||||||
|
getIconNum(): number {
|
||||||
|
return this.prefabs.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 清理资源
|
||||||
|
onDestroy() {
|
||||||
|
// 回收所有活跃图标
|
||||||
|
this.activeIcons.forEach(icon => {
|
||||||
|
this.recycleIcon(icon);
|
||||||
|
});
|
||||||
|
this.activeIcons.clear();
|
||||||
|
this.createCounter = [];
|
||||||
|
this.isInitialized = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
9
assets/Game/Scripts/IconFactory.ts.meta
Normal file
9
assets/Game/Scripts/IconFactory.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "55ab5e30-fea2-4475-9ad8-2cb66c30fd4b",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
64
assets/Game/Scripts/IconMsg.ts
Normal file
64
assets/Game/Scripts/IconMsg.ts
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
import { _decorator, Component, instantiate, Label, Node, UITransform } from 'cc';
|
||||||
|
import { Icon } from './Icon';
|
||||||
|
import { I18nManager } from '../../Main/Scripts/managers/I18nManager';
|
||||||
|
import { ICON_RATE, ICON_RATE_NUM } from './Define';
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('IconMsg')
|
||||||
|
export class IconMsg extends Component {
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
grayBg: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
mainNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
leftNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
rightNode: Node = null;
|
||||||
|
|
||||||
|
showIconMsg(iconComp: Icon, isLeft: boolean) {
|
||||||
|
this.leftNode.active = isLeft;
|
||||||
|
this.rightNode.active = !isLeft;
|
||||||
|
|
||||||
|
let worldPos = iconComp.node.getWorldPosition();
|
||||||
|
let localPos = this.node.getComponent(UITransform).convertToNodeSpaceAR(worldPos);
|
||||||
|
this.mainNode.setPosition(localPos);
|
||||||
|
|
||||||
|
this.grayBg.once(Node.EventType.TOUCH_END, () => {
|
||||||
|
this.onHideSelf();
|
||||||
|
})
|
||||||
|
|
||||||
|
let isWild = iconComp.index === 0;
|
||||||
|
let isScatter = iconComp.index === 1;
|
||||||
|
let node = isLeft ? this.leftNode : this.rightNode;
|
||||||
|
|
||||||
|
let iconParent = node.getChildByName('icon');
|
||||||
|
iconParent.children.forEach(child => child.destroy());
|
||||||
|
let insIconNode = instantiate(iconComp.node);
|
||||||
|
// insIconNode.getComponent(Icon).index = iconComp.index;
|
||||||
|
iconParent.addChild(insIconNode);
|
||||||
|
insIconNode.setPosition(0, 0, 0);
|
||||||
|
insIconNode.getComponent(Icon).playIdleSpine(true);
|
||||||
|
|
||||||
|
let msg = node.getChildByName('msg');
|
||||||
|
msg.active = isWild || isScatter ? false : true;
|
||||||
|
msg.children.forEach((child, index) => {
|
||||||
|
let iconRate = ICON_RATE[iconComp.index];
|
||||||
|
child.getChildByName('num').getComponent(Label).string = ICON_RATE_NUM[index].toString();
|
||||||
|
child.getChildByName('multi').getComponent(Label).string = iconRate[index].toString();
|
||||||
|
})
|
||||||
|
|
||||||
|
let wildMsg = node.getChildByName('wild');
|
||||||
|
let scatterMsg = node.getChildByName('scatter');
|
||||||
|
wildMsg.active = isWild ? true : false;
|
||||||
|
scatterMsg.active = isScatter ? true : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
onHideSelf() {
|
||||||
|
this.node.destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
9
assets/Game/Scripts/IconMsg.ts.meta
Normal file
9
assets/Game/Scripts/IconMsg.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "bc5eff18-ef09-4cdc-b9ce-43dd07290e33",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
497
assets/Game/Scripts/Roller.ts
Normal file
497
assets/Game/Scripts/Roller.ts
Normal file
@ -0,0 +1,497 @@
|
|||||||
|
import { _decorator, Component, Node, UITransform, Vec2, v2, Vec3, v3, tween, Tween } from 'cc';
|
||||||
|
import { IconFactory } from './IconFactory';
|
||||||
|
import { Icon } from './Icon';
|
||||||
|
import { ICON_HEIGHT, ICON_SERVER_MAP, ICON_WIDTH, ROLLER_EVENT } from './Define';
|
||||||
|
import { EDITOR } from "cc/env";
|
||||||
|
import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
|
||||||
|
|
||||||
|
let { ccclass, property, executeInEditMode } = _decorator;
|
||||||
|
|
||||||
|
export enum ROLLER_STATE {
|
||||||
|
ACCELERATE = 1,
|
||||||
|
UNIFORM = 2,
|
||||||
|
DECELERATE = 3,
|
||||||
|
LAST_PAGE_CREATE = 4,
|
||||||
|
BOUNCE = 5,
|
||||||
|
STOP = 6,
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Info {
|
||||||
|
icons: Node[] = [];
|
||||||
|
iconRule: number[] = [];
|
||||||
|
noBounce: boolean = false;
|
||||||
|
receiveStopData: boolean = false;
|
||||||
|
/** 退场动画已完成,可以触发掉落 */
|
||||||
|
speedDataComplete: boolean = false;
|
||||||
|
state: ROLLER_STATE = ROLLER_STATE.STOP;
|
||||||
|
isFastSpin: boolean = false;
|
||||||
|
|
||||||
|
resetLxInfo() {
|
||||||
|
this.receiveStopData = false;
|
||||||
|
this.speedDataComplete = false;
|
||||||
|
this.noBounce = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ccclass('Roller')
|
||||||
|
@executeInEditMode
|
||||||
|
export class Roller extends Component {
|
||||||
|
@property({ tooltip: '图标宽度' })
|
||||||
|
iconWidth: number = ICON_WIDTH;
|
||||||
|
|
||||||
|
@property({ tooltip: '图标高度' })
|
||||||
|
iconHeight: number = ICON_HEIGHT;
|
||||||
|
|
||||||
|
@property({ type: IconFactory, tooltip: '图标工厂' })
|
||||||
|
iconFactory: IconFactory = null;
|
||||||
|
|
||||||
|
@property({ tooltip: '行数' })
|
||||||
|
row: number = 5;
|
||||||
|
|
||||||
|
protected _rollerId: number = 0;
|
||||||
|
protected _info: Info = new Info();
|
||||||
|
protected _panData: number[] = [];
|
||||||
|
private grid: (Node | null)[] = [];
|
||||||
|
|
||||||
|
/** 正在退场(向上飞出)的图标,用于急停时强制回收 */
|
||||||
|
private _exitingIcons: Node[] = [];
|
||||||
|
/** 待执行掉落时的额外列延迟(秒) */
|
||||||
|
private _pendingFallDelay: number = 0;
|
||||||
|
|
||||||
|
@property
|
||||||
|
private _format = false;
|
||||||
|
|
||||||
|
@property({ tooltip: '本地格式化' })
|
||||||
|
get format(): boolean {
|
||||||
|
return this._format;
|
||||||
|
}
|
||||||
|
|
||||||
|
set format(b: boolean) {
|
||||||
|
this._format = b;
|
||||||
|
this.resizeNodeSize();
|
||||||
|
|
||||||
|
if (!this.iconFactory) {
|
||||||
|
console.error('IconFactory没有设置');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.node.removeAllChildren();
|
||||||
|
this._info.icons = [];
|
||||||
|
this.grid = [];
|
||||||
|
|
||||||
|
for (let i = 0; i < this.row; i++) {
|
||||||
|
this.grid[i] = null;
|
||||||
|
let iconIndex = Math.floor(Math.random() * this.iconFactory.getIconNum());
|
||||||
|
this.createNormalIcon(i, iconIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static create(
|
||||||
|
id: number,
|
||||||
|
row: number,
|
||||||
|
iconWidth: number,
|
||||||
|
iconHeight: number,
|
||||||
|
iconFactory: IconFactory,
|
||||||
|
anchor: Vec2 = v2(0.5, 0.5)
|
||||||
|
): Roller {
|
||||||
|
let rollerNode = new Node(`Roller${id}`);
|
||||||
|
rollerNode.addComponent(UITransform);
|
||||||
|
|
||||||
|
let roller = rollerNode.addComponent(Roller);
|
||||||
|
roller._rollerId = id;
|
||||||
|
roller.row = row;
|
||||||
|
roller.iconWidth = iconWidth;
|
||||||
|
roller.iconHeight = iconHeight;
|
||||||
|
roller.iconFactory = iconFactory;
|
||||||
|
|
||||||
|
rollerNode.getComponent(UITransform).setAnchorPoint(anchor);
|
||||||
|
roller.resizeNodeSize();
|
||||||
|
roller.initRoller(id);
|
||||||
|
|
||||||
|
return roller;
|
||||||
|
}
|
||||||
|
|
||||||
|
resizeNodeSize() {
|
||||||
|
let totalHeight = this.iconHeight * this.row;
|
||||||
|
this.node.getComponent(UITransform).setContentSize(this.iconWidth, totalHeight);
|
||||||
|
}
|
||||||
|
|
||||||
|
getIconPosition(pos: number, size: number = 1): Vec3 {
|
||||||
|
let contentHeight = this.node.getComponent(UITransform).height;
|
||||||
|
let anchorY = this.node.getComponent(UITransform).anchorY;
|
||||||
|
let topY = contentHeight * (1 - anchorY);
|
||||||
|
let firstCenterY = topY - this.iconHeight / 2;
|
||||||
|
let centerY = firstCenterY - pos * this.iconHeight;
|
||||||
|
let finalY = size > 1 ? centerY - (size - 1) * this.iconHeight / 2 : centerY;
|
||||||
|
return v3(0, finalY, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
getIconNode(pos: number): Node {
|
||||||
|
return this.grid[pos];
|
||||||
|
}
|
||||||
|
|
||||||
|
get rollerId(): number {
|
||||||
|
return this._rollerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
initRoller(rollerId: number) {
|
||||||
|
this._rollerId = rollerId;
|
||||||
|
this.node.removeAllChildren();
|
||||||
|
this.grid = [];
|
||||||
|
for (let i = 0; i < this.row; i++) {
|
||||||
|
this.grid[i] = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
initRollerWithIcon(id: number, panData: number[]) {
|
||||||
|
this.iconFactory.init();
|
||||||
|
this.initRoller(id);
|
||||||
|
this._panData = panData;
|
||||||
|
this.createInitIcons(panData);
|
||||||
|
}
|
||||||
|
|
||||||
|
createInitIcons(data: number[]) {
|
||||||
|
this.grid = [];
|
||||||
|
for (let i = 0; i < this.row; i++) {
|
||||||
|
this.grid[i] = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let i = 0; i < this.row; i++) {
|
||||||
|
this.createNormalIcon(i, data[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
createNormalIcon(pos: number, iconIndex: number): Node {
|
||||||
|
let iconNode = this.iconFactory.icfactoryCreateIcon(iconIndex);
|
||||||
|
iconNode.getComponent(Icon).initIcon(iconIndex, 1, this._rollerId);
|
||||||
|
let position = this.getIconPosition(pos, 1);
|
||||||
|
this.node.addChild(iconNode);
|
||||||
|
iconNode.setPosition(position);
|
||||||
|
iconNode.getComponent(Icon).playIdleSpine(true);
|
||||||
|
this.grid[pos] = iconNode;
|
||||||
|
return iconNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
setRollerIconRule(rollerIconRule: number[]) {
|
||||||
|
this._info.iconRule = rollerIconRule;
|
||||||
|
}
|
||||||
|
|
||||||
|
setFastSpin(isFastSpin: boolean) {
|
||||||
|
if (this._info.isFastSpin === isFastSpin) return;
|
||||||
|
this._info.isFastSpin = isFastSpin;
|
||||||
|
}
|
||||||
|
|
||||||
|
setNoBounce(noBounce: boolean) {
|
||||||
|
this._info.noBounce = noBounce;
|
||||||
|
}
|
||||||
|
|
||||||
|
resetInfo() {
|
||||||
|
this._panData = [];
|
||||||
|
this._pendingFallDelay = 0;
|
||||||
|
this._exitingIcons = [];
|
||||||
|
this._info.resetLxInfo();
|
||||||
|
}
|
||||||
|
|
||||||
|
isScroll(): boolean {
|
||||||
|
return this._info.state !== ROLLER_STATE.STOP;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ─── 旋转主流程 ──────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
/** 开始旋转:现有图标向上飞出(退场动画) */
|
||||||
|
startScroll() {
|
||||||
|
if (this._info.state != ROLLER_STATE.STOP) return;
|
||||||
|
AudioManager.instance.playSFX('Roller_Start');
|
||||||
|
|
||||||
|
this._exitingIcons = [];
|
||||||
|
let seen = new Set<Node>();
|
||||||
|
let exitTopY = this.getIconPosition(4).y - (this.row - 2) * this.iconHeight;
|
||||||
|
|
||||||
|
// 图标向上飞出,顶行先出(行间隔 0.03s,快速模式同时)
|
||||||
|
// 修改为图标向下飞出,底行先出,速度不变
|
||||||
|
for (let i = this.row - 1; i >= 0; i--) {
|
||||||
|
let icon = this.grid[i];
|
||||||
|
if (icon && !seen.has(icon)) {
|
||||||
|
seen.add(icon);
|
||||||
|
this._exitingIcons.push(icon);
|
||||||
|
let iconRef = icon;
|
||||||
|
let exitDelay = this._info.isFastSpin ? 0 : (this.row - i) * 0.03;
|
||||||
|
tween(iconRef)
|
||||||
|
.delay(exitDelay)
|
||||||
|
.to(0.18, { position: v3(0, exitTopY, 0) }, { easing: 'quadIn' })
|
||||||
|
.call(() => {
|
||||||
|
let idx = this._exitingIcons.indexOf(iconRef);
|
||||||
|
if (idx !== -1) this._exitingIcons.splice(idx, 1);
|
||||||
|
if (iconRef && iconRef.isValid) this.iconFactory.recycleIcon(iconRef);
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
this.grid[i] = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 回收多余动态图标
|
||||||
|
this._info.icons.forEach(icon => {
|
||||||
|
if (icon && icon.isValid) this.iconFactory.recycleIcon(icon);
|
||||||
|
});
|
||||||
|
this._info.icons = [];
|
||||||
|
|
||||||
|
this._info.state = ROLLER_STATE.ACCELERATE;
|
||||||
|
|
||||||
|
// 退场结束后标记"可掉落"
|
||||||
|
let exitDuration = this._info.isFastSpin ? 0.18 : 0.18 + (this.row - 1) * 0.03;
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
if (this._info.state !== ROLLER_STATE.ACCELERATE) return;
|
||||||
|
this._info.state = ROLLER_STATE.UNIFORM;
|
||||||
|
this._info.speedDataComplete = true;
|
||||||
|
if (this._info.receiveStopData) {
|
||||||
|
this.doFallAnimation(this._pendingFallDelay);
|
||||||
|
}
|
||||||
|
}, exitDuration);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 接收停止数据;退场完毕后立即触发掉落 */
|
||||||
|
stopScroll(panData: number[], extraDelay: number = 0) {
|
||||||
|
this._panData = panData;
|
||||||
|
this._info.receiveStopData = true;
|
||||||
|
this._pendingFallDelay = extraDelay;
|
||||||
|
|
||||||
|
if (this._info.speedDataComplete) {
|
||||||
|
this.doFallAnimation(extraDelay);
|
||||||
|
}
|
||||||
|
// 若退场未完成,startScroll 回调会用 _pendingFallDelay 自动触发
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 核心:图标从顶部掉落到目标位,含弹跳 */
|
||||||
|
doFallAnimation(extraDelay: number = 0) {
|
||||||
|
if (this._info.state === ROLLER_STATE.LAST_PAGE_CREATE ||
|
||||||
|
this._info.state === ROLLER_STATE.BOUNCE ||
|
||||||
|
this._info.state === ROLLER_STATE.STOP) return;
|
||||||
|
|
||||||
|
this._info.state = ROLLER_STATE.LAST_PAGE_CREATE;
|
||||||
|
this.node.emit(ROLLER_EVENT.LAST_PAGE_CREATE, this._rollerId);
|
||||||
|
|
||||||
|
let topY = this.getIconPosition(0, 1).y;
|
||||||
|
let isFast = this._info.isFastSpin;
|
||||||
|
// 普通模式行间隔 0.05s;快速/急停无间隔
|
||||||
|
let rowInterval = isFast ? 0 : 0.05;
|
||||||
|
let maxTime = 0;
|
||||||
|
|
||||||
|
for (let i = 0; i < this.row; i++) {
|
||||||
|
if (i >= this._panData.length) continue;
|
||||||
|
|
||||||
|
let panValue = this._panData[i];
|
||||||
|
|
||||||
|
// 清理该格已有图标
|
||||||
|
if (this.grid[i]) {
|
||||||
|
Tween.stopAllByTarget(this.grid[i]);
|
||||||
|
this.iconFactory.recycleIcon(this.grid[i]);
|
||||||
|
this.grid[i] = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
let iconNode = this.iconFactory.icfactoryCreateIcon(panValue);
|
||||||
|
iconNode.getComponent(Icon).initIcon(panValue, 1, this._rollerId);
|
||||||
|
|
||||||
|
// 起始位置:可见区顶部上方
|
||||||
|
let startY = topY + (i + 2) * this.iconHeight; // 底行最高,顶行最低
|
||||||
|
let targetPos = this.getIconPosition(i, 1);
|
||||||
|
iconNode.setPosition(0, startY, 0);
|
||||||
|
this.node.addChild(iconNode);
|
||||||
|
this.grid[i] = iconNode;
|
||||||
|
|
||||||
|
// 列延迟 + 行内延迟
|
||||||
|
let rowDelay = extraDelay + (this.row - 1 - i) * rowInterval; // 底行先落,顶行后落
|
||||||
|
let distance = Math.abs(startY - targetPos.y);
|
||||||
|
let fallTime = Math.min(Math.max(Math.sqrt(distance) / 55, 0.15), 0.32);
|
||||||
|
let iconRef = iconNode;
|
||||||
|
|
||||||
|
if (this._info.noBounce) {
|
||||||
|
tween(iconRef)
|
||||||
|
.delay(rowDelay)
|
||||||
|
.to(fallTime, { position: targetPos }, { easing: 'quadIn' })
|
||||||
|
.call(() => { iconRef.getComponent(Icon)?.playBounceSpine(); })
|
||||||
|
.start();
|
||||||
|
maxTime = Math.max(maxTime, rowDelay + fallTime);
|
||||||
|
} else {
|
||||||
|
let bounceH = Math.min(Math.max(distance * 0.08, 6), 18);
|
||||||
|
let bounceUp = 0.08;
|
||||||
|
let bounceDown = 0.06;
|
||||||
|
let bouncePos = targetPos.clone().add(v3(0, bounceH, 0));
|
||||||
|
|
||||||
|
tween(iconRef)
|
||||||
|
.delay(rowDelay)
|
||||||
|
.to(fallTime, { position: targetPos }, { easing: 'quadIn' })
|
||||||
|
.call(() => { iconRef.getComponent(Icon)?.playBounceSpine(); })
|
||||||
|
.to(bounceUp, { position: bouncePos }, { easing: 'quadOut' })
|
||||||
|
.to(bounceDown, { position: targetPos }, { easing: 'quadIn' })
|
||||||
|
.start();
|
||||||
|
maxTime = Math.max(maxTime, rowDelay + fallTime + bounceUp + bounceDown);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 全部落定后:发出 BOUNCE → STOP 事件
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this._info.state = ROLLER_STATE.BOUNCE;
|
||||||
|
this.node.emit(ROLLER_EVENT.ROLLER_BOUNCE, this._rollerId);
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this._info.state = ROLLER_STATE.STOP;
|
||||||
|
this.node.emit(ROLLER_EVENT.ROLLER_STOP, this._rollerId);
|
||||||
|
}, 0.05);
|
||||||
|
}, maxTime + 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ─── 消除与重建逻辑(保持不变)──────────────────────────────────────────
|
||||||
|
|
||||||
|
getNodeMsgFromPos(pos: number): { node: Node, start: number, height: number } | null {
|
||||||
|
let iconNode = this.grid[pos];
|
||||||
|
if (!iconNode) return null;
|
||||||
|
|
||||||
|
let start = pos;
|
||||||
|
while (start - 1 >= 0 && this.grid[start - 1] === iconNode) start--;
|
||||||
|
|
||||||
|
let e = pos;
|
||||||
|
while (e + 1 < this.row && this.grid[e + 1] === iconNode) e++;
|
||||||
|
let height = e - start + 1;
|
||||||
|
|
||||||
|
return { node: iconNode, start: start, height: height };
|
||||||
|
}
|
||||||
|
|
||||||
|
deleteIconNode(positions: number[]) {
|
||||||
|
if (positions.length === 0) {
|
||||||
|
this.node.emit(ROLLER_EVENT.ICON_DELETED, this._rollerId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let processed = new Set<Node>();
|
||||||
|
for (let pos of positions) {
|
||||||
|
let msg = this.getNodeMsgFromPos(pos);
|
||||||
|
if (!msg) continue;
|
||||||
|
if (processed.has(msg.node)) continue;
|
||||||
|
for (let i = 0; i < msg.height; i++) {
|
||||||
|
let p = msg.start + i;
|
||||||
|
if (p >= 0 && p < this.row && this.grid[p] === msg.node) {
|
||||||
|
this.grid[p] = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
processed.add(msg.node);
|
||||||
|
|
||||||
|
msg.node.getComponent(Icon).playDeleteSpine();
|
||||||
|
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.iconFactory.recycleIcon(msg.node);
|
||||||
|
}, 0.8);
|
||||||
|
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
for (let i = 0; i < msg.height; i++) {
|
||||||
|
this.node.emit(ROLLER_EVENT.ICON_DELETED, this._rollerId);
|
||||||
|
}
|
||||||
|
}, 0.8 + 0.1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_newCreateIconNode: Node[] = [];
|
||||||
|
createNewIconTop(createDatas: any[]) {
|
||||||
|
this._newCreateIconNode = [];
|
||||||
|
if (createDatas === null || createDatas.length === 0) {
|
||||||
|
this.node.emit(ROLLER_EVENT.ICON_CREATE, this._rollerId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let topY = this.getIconPosition(0, 1).y;
|
||||||
|
let allHeight = createDatas.length;
|
||||||
|
let curHeight = allHeight;
|
||||||
|
for (let i = 0; i < createDatas.length; i++) {
|
||||||
|
let data = createDatas[i];
|
||||||
|
let iconIndex = data;
|
||||||
|
let lHeight = 1;
|
||||||
|
let startPos = i;
|
||||||
|
|
||||||
|
curHeight = allHeight - startPos;
|
||||||
|
let icon = this.iconFactory.icfactoryCreateIcon(iconIndex);
|
||||||
|
icon.getComponent(Icon).initIcon(iconIndex, lHeight, this._rollerId);
|
||||||
|
let bornY = topY + curHeight * this.iconHeight - (lHeight - 1) * this.iconHeight / 2;
|
||||||
|
icon.setPosition(0, bornY, 0);
|
||||||
|
this._newCreateIconNode.push(icon);
|
||||||
|
this.node.insertChild(icon, 0);
|
||||||
|
}
|
||||||
|
this.node.emit(ROLLER_EVENT.ICON_CREATE, this._rollerId);
|
||||||
|
}
|
||||||
|
|
||||||
|
iconFallDown(hasExpect: boolean) {
|
||||||
|
let allIcons = [];
|
||||||
|
let seen = new Set<Node>();
|
||||||
|
for (let i = 0; i < this.row; i++) {
|
||||||
|
let iconNode = this.grid[i];
|
||||||
|
if (iconNode && !seen.has(iconNode)) {
|
||||||
|
seen.add(iconNode);
|
||||||
|
allIcons.push(iconNode);
|
||||||
|
}
|
||||||
|
this.grid[i] = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
allIcons = [...this._newCreateIconNode, ...allIcons];
|
||||||
|
allIcons.sort((a, b) => b.position.y - a.position.y);
|
||||||
|
|
||||||
|
let interval = 0.05;
|
||||||
|
let targetPos = this.row;
|
||||||
|
let dealyCount = 0;
|
||||||
|
let timeEnd = 0;
|
||||||
|
let startDelay = 0;
|
||||||
|
for (let i = allIcons.length - 1; i >= 0; i--) {
|
||||||
|
let iconNode = allIcons[i];
|
||||||
|
startDelay = dealyCount * interval;
|
||||||
|
let iconLheight = iconNode.getComponent(Icon).getHeight();
|
||||||
|
targetPos -= iconLheight;
|
||||||
|
let targetPosition = this.getIconPosition(targetPos, iconLheight);
|
||||||
|
Tween.stopAllByTarget(iconNode);
|
||||||
|
if (iconNode.position.y !== targetPosition.y) {
|
||||||
|
let distance = Math.abs(iconNode.position.y - targetPosition.y);
|
||||||
|
|
||||||
|
let fallTime = Math.min(Math.max(Math.sqrt(distance) / 55, 0.12), 0.28);
|
||||||
|
|
||||||
|
let bounceH1 = Math.min(Math.max(distance * 0.18, 12), 26);
|
||||||
|
let bounceH2 = Math.floor(bounceH1 * 0.5);
|
||||||
|
|
||||||
|
let bounceTime1Up = Math.min(Math.max(0.06 + bounceH1 * 0.002, 0.08), 0.12);
|
||||||
|
let bounceTime1Down = bounceTime1Up * 0.85;
|
||||||
|
|
||||||
|
let bouncePos2 = targetPosition.clone().add(v3(0, bounceH2, 0));
|
||||||
|
|
||||||
|
dealyCount++;
|
||||||
|
tween(iconNode)
|
||||||
|
.delay(startDelay)
|
||||||
|
.to(fallTime, { position: targetPosition }, { easing: 'quadIn' })
|
||||||
|
.call(() => {
|
||||||
|
if (iconNode.getComponent(Icon).iconId == 1 && hasExpect) {
|
||||||
|
// AudioManager.instance.playSFX('Elimiante_Has_Scatter');
|
||||||
|
}
|
||||||
|
iconNode.getComponent(Icon).playBounceSpine();
|
||||||
|
})
|
||||||
|
.to(bounceTime1Up, { position: bouncePos2 }, { easing: 'quadOut' })
|
||||||
|
.to(bounceTime1Down, { position: targetPosition }, { easing: 'quadIn' })
|
||||||
|
.start();
|
||||||
|
let totalBounce = bounceTime1Up + bounceTime1Down;
|
||||||
|
timeEnd = Math.max(timeEnd, startDelay + fallTime + totalBounce);
|
||||||
|
}
|
||||||
|
for (let j = 0; j < iconLheight; j++) {
|
||||||
|
this.grid[targetPos + j] = iconNode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.node.emit(ROLLER_EVENT.ICON_FALLEN, this._rollerId);
|
||||||
|
}, timeEnd + 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
getIconWorldPosition(pos: number): Vec3 {
|
||||||
|
let node = this.grid[pos];
|
||||||
|
if (!node) return null;
|
||||||
|
return this.node.getComponent(UITransform).convertToWorldSpaceAR(node.position);
|
||||||
|
}
|
||||||
|
|
||||||
|
getState(): ROLLER_STATE {
|
||||||
|
return this._info.state;
|
||||||
|
}
|
||||||
|
|
||||||
|
onDestroy() {
|
||||||
|
this.grid = [];
|
||||||
|
}
|
||||||
|
}
|
||||||
9
assets/Game/Scripts/Roller.ts.meta
Normal file
9
assets/Game/Scripts/Roller.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "3791dbb0-562e-4f22-b3dd-adcda2895f6e",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
558
assets/Game/Scripts/RollerManager.ts
Normal file
558
assets/Game/Scripts/RollerManager.ts
Normal file
@ -0,0 +1,558 @@
|
|||||||
|
import { _decorator, Component, Mask, Node, Sprite, SpriteFrame, UITransform, v3, Vec3 } from 'cc';
|
||||||
|
import { IconFactory } from './IconFactory';
|
||||||
|
import { Roller, ROLLER_STATE } from './Roller';
|
||||||
|
import { ICON_HEIGHT, ICON_WIDTH, IParsedGameData, ROLLER_COMBINE_EVENT, ROLLER_EVENT } from './Define';
|
||||||
|
import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
|
||||||
|
let { ccclass, property, executeInEditMode } = _decorator;
|
||||||
|
|
||||||
|
// 帧到启动ID映射(按帧序)
|
||||||
|
let frameOrder = [
|
||||||
|
{ frame: 1, ids: [0] },
|
||||||
|
{ frame: 5, ids: [1] },
|
||||||
|
{ frame: 8, ids: [2] },
|
||||||
|
{ frame: 11, ids: [3] },
|
||||||
|
{ frame: 14, ids: [4] },
|
||||||
|
{ frame: 17, ids: [5] },
|
||||||
|
];
|
||||||
|
|
||||||
|
let fps = 30;
|
||||||
|
|
||||||
|
@ccclass('RollerManager')
|
||||||
|
@executeInEditMode
|
||||||
|
export class RollerManager extends Component {
|
||||||
|
|
||||||
|
@property({ tooltip: '图标的宽度' })
|
||||||
|
iconWidth: number = ICON_WIDTH;
|
||||||
|
|
||||||
|
@property({ tooltip: '图标的高度' })
|
||||||
|
iconHeight: number = ICON_HEIGHT;
|
||||||
|
|
||||||
|
@property({ tooltip: '图标之间的水平距离' })
|
||||||
|
iconHMerge: number = 0;
|
||||||
|
|
||||||
|
@property({ type: IconFactory, tooltip: '图标工厂' })
|
||||||
|
iconFactory: IconFactory = null;
|
||||||
|
|
||||||
|
// @property(SpriteFrame)
|
||||||
|
// maskSpriteFrame: SpriteFrame = null;
|
||||||
|
|
||||||
|
rollerMsg: any[] = [
|
||||||
|
// { row: 1, col: 4, isHorizontal: true },
|
||||||
|
{ id: 0, row: 5, col: 1, isHorizontal: false },
|
||||||
|
{ id: 1, row: 5, col: 1, isHorizontal: false },
|
||||||
|
{ id: 2, row: 5, col: 1, isHorizontal: false },
|
||||||
|
{ id: 3, row: 5, col: 1, isHorizontal: false },
|
||||||
|
{ id: 4, row: 5, col: 1, isHorizontal: false },
|
||||||
|
{ id: 5, row: 5, col: 1, isHorizontal: false },
|
||||||
|
];
|
||||||
|
|
||||||
|
upLayer: any = null;
|
||||||
|
// 滚轮数组
|
||||||
|
allRollers: Roller[] = [];
|
||||||
|
// 是否快速旋转
|
||||||
|
_isFastSpin: boolean = false;
|
||||||
|
// 是否手动停止
|
||||||
|
_isManualStop: boolean = false;
|
||||||
|
// spinData
|
||||||
|
_parsedData: IParsedGameData = null;
|
||||||
|
/** 分割过的数据,一位数组改为二维数组, 每个元素代表一个滚轮 */
|
||||||
|
_resultStopData: number[][] = [];
|
||||||
|
// 是否是免费游戏
|
||||||
|
_isFreeSpin: boolean = false;
|
||||||
|
|
||||||
|
private _createdRollerCount: number = 0;
|
||||||
|
private _fallenRollerCount: number = 0;
|
||||||
|
private _pendingDeleteCount: number = 0;
|
||||||
|
|
||||||
|
_scatterStartRollerId: number = 0;
|
||||||
|
|
||||||
|
@property
|
||||||
|
_format = false;
|
||||||
|
@property({ tooltip: '格式化' })
|
||||||
|
get format(): boolean {
|
||||||
|
return this._format;
|
||||||
|
}
|
||||||
|
set format(a: boolean) {
|
||||||
|
this._format = a;
|
||||||
|
let maskNode = this.node.getChildByName('mask');
|
||||||
|
maskNode.removeAllChildren();
|
||||||
|
|
||||||
|
|
||||||
|
// new Node('mask');
|
||||||
|
// maskNode.addComponent(UITransform);
|
||||||
|
// maskNode.addComponent(Mask);
|
||||||
|
// maskNode.getComponent(Mask).type = 3;
|
||||||
|
// maskNode.getComponent(Mask).alphaThreshold = 0.3;
|
||||||
|
// maskNode.getComponent(Sprite).spriteFrame = this.maskSpriteFrame;
|
||||||
|
// maskNode.getComponent(Mask).inverted = false;
|
||||||
|
|
||||||
|
maskNode.setPosition(0, 0);
|
||||||
|
// this.node.addChild(maskNode);
|
||||||
|
|
||||||
|
for (let i = 0; i <= 5; i++) {
|
||||||
|
let rollerId = i;
|
||||||
|
let rollerRow = this.rollerMsg[i].row;
|
||||||
|
let roller = Roller.create(rollerId, rollerRow, this.iconWidth, this.iconHeight, this.iconFactory);
|
||||||
|
maskNode.addChild(roller.node);
|
||||||
|
let rollerPosition = this.getRollerPosition(rollerId);
|
||||||
|
roller.node.setPosition(rollerPosition);
|
||||||
|
// 只在第一次设置format
|
||||||
|
if (!roller.format) {
|
||||||
|
roller.format = true;
|
||||||
|
}
|
||||||
|
this.allRollers.push(roller);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 按照rollerMsg.id从小到大对allRollers排序
|
||||||
|
this.allRollers.sort((a, b) => {
|
||||||
|
return a.rollerId - b.rollerId;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
setUpLayer(upLayer: any) {
|
||||||
|
this.upLayer = upLayer;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取滚轮的坐标
|
||||||
|
getRollerPosition(id: number): Vec3 {
|
||||||
|
let col = 6;
|
||||||
|
let hMiddle = Math.floor(col / 2);
|
||||||
|
let x = -(col % 2 == 0 ? hMiddle - 0.5 : hMiddle) * (this.iconWidth + this.iconHMerge);
|
||||||
|
let xdis = id * this.iconWidth + id * this.iconHMerge;
|
||||||
|
return v3(x + xdis, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected onLoad(): void {
|
||||||
|
// this.format = true;
|
||||||
|
this.registerEvent();
|
||||||
|
this._createdRollerCount = 0;
|
||||||
|
this._fallenRollerCount = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
registerEvent() {
|
||||||
|
for (let lx = 0; lx < this.allRollers.length; lx++) {
|
||||||
|
let roller = this.allRollers[lx];
|
||||||
|
roller.node.on(ROLLER_EVENT.ON_R_ICON_CREATE, this.onRollerRIconCreate, this);
|
||||||
|
roller.node.on(ROLLER_EVENT.LAST_PAGE_CREATE, this.onRollerLastPageCreate, this);
|
||||||
|
roller.node.on(ROLLER_EVENT.ROLLER_BOUNCE, this.onRollerBounce, this);
|
||||||
|
roller.node.on(ROLLER_EVENT.ROLLER_DECELERATE, this.onRollerSlowDown, this);
|
||||||
|
roller.node.on(ROLLER_EVENT.ROLLER_STOP, this.onRollerStop, this);
|
||||||
|
roller.node.on(ROLLER_EVENT.ROLLER_UNIFORM, this.onRollerUniform, this);
|
||||||
|
roller.node.on(ROLLER_EVENT.ICON_DELETED, this.onRollerIconDeleted, this);
|
||||||
|
roller.node.on(ROLLER_EVENT.ICON_CREATE, this.onRollerIconCreate, this);
|
||||||
|
roller.node.on(ROLLER_EVENT.ICON_FALLEN, this.onRollerIconFallen, this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setFastSpin(isFastSpin: boolean) {
|
||||||
|
this._isFastSpin = isFastSpin;
|
||||||
|
|
||||||
|
this.allRollers.forEach(roller => {
|
||||||
|
roller.setFastSpin(isFastSpin);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
getIsFastSpin(): boolean {
|
||||||
|
return this._isFastSpin;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
setIsFreeSpin(isFreeSpin: boolean) {
|
||||||
|
this._isFreeSpin = isFreeSpin;
|
||||||
|
}
|
||||||
|
|
||||||
|
changeSpeedFast() {
|
||||||
|
// 掉落模式无需调速,保留接口兼容外部调用
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 随机创建ICON回调
|
||||||
|
onRollerRIconCreate() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 最后一页创建的回调
|
||||||
|
onRollerLastPageCreate(rollerId: number) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
onRollerBounce(rollerId: number) {
|
||||||
|
this.node.emit(ROLLER_COMBINE_EVENT.ROLLER_BOUNCE, rollerId);
|
||||||
|
|
||||||
|
let stopData = this._resultStopData[rollerId];
|
||||||
|
let isWild = stopData.indexOf(0) !== -1;
|
||||||
|
let isScatter = stopData.indexOf(1) !== -1;
|
||||||
|
if (!this._isFreeSpin && !this._isManualStop && !this._isFastSpin) {
|
||||||
|
if (isWild && !isScatter) {
|
||||||
|
AudioManager.instance.playSFX('Appear_Wild_Sound');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isScatter) {
|
||||||
|
AudioManager.instance.playSFX('Appear_Scatter_Sound');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isWild && !isScatter) {
|
||||||
|
AudioManager.instance.playSFX('Roller_Down');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
onRollerSlowDown() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
private stopChainRoller(id: number) {
|
||||||
|
let roller = this.allRollers[id];
|
||||||
|
let stopData = this._resultStopData[id];
|
||||||
|
AudioManager.instance.playSFX('Ready_Hand_SFX');
|
||||||
|
roller.setNoBounce(true);
|
||||||
|
roller.stopScroll(stopData, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
hasEmitScatterTween: boolean = false;
|
||||||
|
onRollerStop(rollerId: number) {
|
||||||
|
this.node.emit(ROLLER_COMBINE_EVENT.ONE_ROLLER_STOP, rollerId);
|
||||||
|
if (this._parsedData.HasScatterExpect) {
|
||||||
|
this.upLayer.playScatterSpine(true);
|
||||||
|
let nextRollerId = rollerId + 1 >= this.allRollers.length ? null : rollerId + 1;
|
||||||
|
if (nextRollerId >= this._scatterStartRollerId && nextRollerId !== null) {
|
||||||
|
if (!this.hasEmitScatterTween) {
|
||||||
|
this.node.emit(ROLLER_COMBINE_EVENT.START_GAME_SCALE_TWEEN);
|
||||||
|
this.hasEmitScatterTween = true;
|
||||||
|
}
|
||||||
|
this.stopChainRoller(nextRollerId);
|
||||||
|
this.upLayer.playReadyHandAni(nextRollerId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let allRollerStop = true;
|
||||||
|
for (let i = 0; i < this.allRollers.length; i++) {
|
||||||
|
let roller = this.allRollers[i];
|
||||||
|
if (roller.isScroll()) allRollerStop = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (allRollerStop) {
|
||||||
|
if (this.hasEmitScatterTween) {
|
||||||
|
this.node.emit(ROLLER_COMBINE_EVENT.START_GAME_END_SCALE_TWEEN);
|
||||||
|
}
|
||||||
|
this.node.emit(ROLLER_COMBINE_EVENT.ALL_ROLLER_STOP);
|
||||||
|
this.hasEmitScatterTween = false;
|
||||||
|
|
||||||
|
if (this._isFastSpin || this._isManualStop) {
|
||||||
|
let hasScatter = this._parsedData.PanData.indexOf(1) !== -1;
|
||||||
|
let hasWild = this._parsedData.PanData.indexOf(0) !== -1;
|
||||||
|
|
||||||
|
if (hasWild && !hasScatter) {
|
||||||
|
AudioManager.instance.playSFX('Appear_Wild_Sound');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hasScatter) {
|
||||||
|
AudioManager.instance.playSFX('Appear_Scatter_Sound');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hasWild && !hasScatter) {
|
||||||
|
AudioManager.instance.playSFX('Roller_Down');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 滚轮匀速时候的回调
|
||||||
|
onRollerUniform() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 滚轮icon删除的回调
|
||||||
|
onRollerIconDeleted(rollerId: number) {
|
||||||
|
if (this._pendingDeleteCount > 0) {
|
||||||
|
this._pendingDeleteCount--;
|
||||||
|
if (this._pendingDeleteCount === 0) {
|
||||||
|
this.node.emit(ROLLER_COMBINE_EVENT.ALL_ROLLER_ICONS_DELETED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 滚轮icon创建的回调
|
||||||
|
onRollerIconCreate(rollerId: number) {
|
||||||
|
this._createdRollerCount++;
|
||||||
|
if (this._createdRollerCount >= this.allRollers.length) {
|
||||||
|
this._createdRollerCount = 0;
|
||||||
|
this.node.emit(ROLLER_COMBINE_EVENT.ALL_ROLLER_ICONS_CREATED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 滚轮icon掉落的回调
|
||||||
|
onRollerIconFallen(rollerId: number) {
|
||||||
|
this._fallenRollerCount++;
|
||||||
|
if (this._fallenRollerCount >= this.allRollers.length) {
|
||||||
|
this._fallenRollerCount = 0;
|
||||||
|
this.node.emit(ROLLER_COMBINE_EVENT.ALL_ROLLER_ICONS_FALLEN);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 滚轮是否在滚动
|
||||||
|
isScroll(): boolean {
|
||||||
|
for (let lx = 0; lx < this.allRollers.length; lx++) {
|
||||||
|
let roller = this.allRollers[lx];
|
||||||
|
if (roller.isScroll()) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始化滚轮数据
|
||||||
|
initRollerWithIcon(data: IParsedGameData) {
|
||||||
|
this._parsedData = data;
|
||||||
|
|
||||||
|
let panData = data.PanData;
|
||||||
|
|
||||||
|
// 分割数据
|
||||||
|
this._resultStopData = this.splitArray(panData, [5, 5, 5, 5, 5, 5]);
|
||||||
|
// 处理n*1符号
|
||||||
|
for (let i = 0; i < this.allRollers.length; i++) {
|
||||||
|
let roller = this.allRollers[i];
|
||||||
|
roller.initRollerWithIcon(i, this._resultStopData[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 滚轮Icon生成规则
|
||||||
|
setRollerIconRule(rollerIconRule: number[][]) {
|
||||||
|
for (let i = 0; i < this.allRollers.length; i++) {
|
||||||
|
this.allRollers[i].setRollerIconRule(rollerIconRule[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getIconNode(pos: number): Node {
|
||||||
|
let lx = this.getLx(pos);
|
||||||
|
let ly = this.getLy(pos);
|
||||||
|
let roller = this.allRollers[lx];
|
||||||
|
return roller.getIconNode(ly);
|
||||||
|
}
|
||||||
|
|
||||||
|
getLx(pos: number): number {
|
||||||
|
let currentPos = pos;
|
||||||
|
|
||||||
|
for (let i = 0; i < this.rollerMsg.length; i++) {
|
||||||
|
let roller = this.rollerMsg[i];
|
||||||
|
let rollerSize = roller.row * roller.col;
|
||||||
|
|
||||||
|
if (currentPos < rollerSize) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
currentPos -= rollerSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1; // 如果位置超出范围,返回-1
|
||||||
|
}
|
||||||
|
|
||||||
|
getLy(pos: number): number {
|
||||||
|
let currentPos = pos;
|
||||||
|
|
||||||
|
// 先找到对应的滚轮
|
||||||
|
let rollerId = this.getLx(pos);
|
||||||
|
if (rollerId === -1) return -1;
|
||||||
|
|
||||||
|
// 计算在当前滚轮之前的所有位置数
|
||||||
|
for (let i = 0; i < rollerId; i++) {
|
||||||
|
let roller = this.rollerMsg[i];
|
||||||
|
currentPos -= (roller.row * roller.col);
|
||||||
|
}
|
||||||
|
|
||||||
|
let currentRoller = this.rollerMsg[rollerId];
|
||||||
|
|
||||||
|
if (currentRoller.isHorizontal) {
|
||||||
|
// 横向滚轮直接返回列位置
|
||||||
|
return currentPos;
|
||||||
|
} else {
|
||||||
|
// 纵向滚轮返回行位置
|
||||||
|
return currentPos % currentRoller.row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 获取第一个可以停止的滚轮id
|
||||||
|
getFirstRollerIndex(): number {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 获取下一个可以停止的滚轮id
|
||||||
|
getNextRollerIndex(id: number): number {
|
||||||
|
for (let lx = id + 1; lx < this.allRollers.length; lx++) {
|
||||||
|
return lx;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
resetInfo() {
|
||||||
|
this.allRollers.forEach(roller => {
|
||||||
|
roller.resetInfo();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
getIsManualStop(): boolean {
|
||||||
|
return this._isManualStop;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 滚轮开始滚动
|
||||||
|
startScroll() {
|
||||||
|
this._isManualStop = false;
|
||||||
|
this.unscheduleAllCallbacks();
|
||||||
|
if (this._isFastSpin) {
|
||||||
|
for (let i = 0; i < this.allRollers.length; i++) {
|
||||||
|
let roller = this.allRollers[i];
|
||||||
|
if (roller) {
|
||||||
|
if (this._isManualStop) return;
|
||||||
|
roller.startScroll();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
frameOrder.forEach(({ frame, ids }) => {
|
||||||
|
let delay = Math.max(0, (frame - 1) / fps);
|
||||||
|
ids.forEach(id => {
|
||||||
|
let roller = this.allRollers[id];
|
||||||
|
if (roller) {
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
if (this._isManualStop) return;
|
||||||
|
roller.startScroll();
|
||||||
|
}, delay);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 滚轮停止滚动
|
||||||
|
stopScroll(data: IParsedGameData) {
|
||||||
|
this._parsedData = data;
|
||||||
|
let panData = data.PanData;
|
||||||
|
|
||||||
|
this._resultStopData = this.splitArray(panData, [5, 5, 5, 5, 5, 5]);
|
||||||
|
|
||||||
|
// 记录 scatter 起始列(onRollerStop 链式逻辑仍需此值)
|
||||||
|
if (data.HasScatterExpect) {
|
||||||
|
this._scatterStartRollerId = this.getScatterStartRollerId();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this._isFastSpin) {
|
||||||
|
// 快速模式:所有列同时掉落
|
||||||
|
for (let i = 0; i < this.allRollers.length; i++) {
|
||||||
|
const roller = this.allRollers[i];
|
||||||
|
roller.stopScroll(this._resultStopData[i], 0);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 普通模式:从左到右依次掉落,每列间隔 0.12s
|
||||||
|
for (let i = 0; i < this.allRollers.length; i++) {
|
||||||
|
const colDelay = i * 0.12;
|
||||||
|
const roller = this.allRollers[i];
|
||||||
|
const stopData = this._resultStopData[i];
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
if (this._isManualStop) return;
|
||||||
|
roller.stopScroll(stopData, 0);
|
||||||
|
}, colDelay);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
canManualStop(): boolean {
|
||||||
|
return this.allRollers.every(roller => roller.getState() < ROLLER_STATE.LAST_PAGE_CREATE || roller.getState() == ROLLER_STATE.STOP);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 对服务器下发的数据进行操作
|
||||||
|
splitArray<T>(arr: T[], sizes: number[]): T[][] {
|
||||||
|
let result: T[][] = [];
|
||||||
|
let currentIndex = 0;
|
||||||
|
|
||||||
|
for (let size of sizes) {
|
||||||
|
let subArray = arr.slice(currentIndex, currentIndex + size);
|
||||||
|
result.push(subArray);
|
||||||
|
currentIndex += size;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
getAllRemoveIconsPos(removeData: number[]): number[][] {
|
||||||
|
let group: number[][] = [];
|
||||||
|
for (let i = 0; i < this.allRollers.length; i++) {
|
||||||
|
group[i] = [];
|
||||||
|
}
|
||||||
|
for (let i = 0; i < removeData.length; i++) {
|
||||||
|
let pos = removeData[i];
|
||||||
|
let lx = this.getLx(pos);
|
||||||
|
group[lx].push(pos);
|
||||||
|
}
|
||||||
|
return group;
|
||||||
|
}
|
||||||
|
|
||||||
|
deleteIconNode(pos: number) {
|
||||||
|
let lx = this.getLx(pos);
|
||||||
|
let ly = this.getLy(pos);
|
||||||
|
this.allRollers[lx].deleteIconNode([ly]);
|
||||||
|
}
|
||||||
|
|
||||||
|
createNewIconTop(addtional: any) {
|
||||||
|
this.allRollers.forEach(roller => {
|
||||||
|
roller.createNewIconTop(addtional[roller.rollerId]);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
iconFallDown() {
|
||||||
|
this.allRollers.forEach(roller => {
|
||||||
|
roller.iconFallDown(this._parsedData.HasScatterExpect);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取icon坐标
|
||||||
|
getIconWorldPosition(pos: number) {
|
||||||
|
let lx = this.getLx(pos);
|
||||||
|
let roller = this.allRollers[lx];
|
||||||
|
return roller.getIconWorldPosition(this.getLy(pos));
|
||||||
|
}
|
||||||
|
|
||||||
|
onDestroy(): void {
|
||||||
|
// 清理事件监听
|
||||||
|
for (let roller of this.allRollers) {
|
||||||
|
roller.node.off(ROLLER_EVENT.ON_R_ICON_CREATE, this.onRollerRIconCreate, this);
|
||||||
|
roller.node.off(ROLLER_EVENT.LAST_PAGE_CREATE, this.onRollerLastPageCreate, this);
|
||||||
|
roller.node.off(ROLLER_EVENT.ROLLER_BOUNCE, this.onRollerBounce, this);
|
||||||
|
roller.node.off(ROLLER_EVENT.ROLLER_DECELERATE, this.onRollerSlowDown, this);
|
||||||
|
roller.node.off(ROLLER_EVENT.ROLLER_STOP, this.onRollerStop, this);
|
||||||
|
roller.node.off(ROLLER_EVENT.ROLLER_UNIFORM, this.onRollerUniform, this);
|
||||||
|
roller.node.off(ROLLER_EVENT.ICON_DELETED, this.onRollerIconDeleted, this);
|
||||||
|
roller.node.off(ROLLER_EVENT.ICON_CREATE, this.onRollerIconCreate, this);
|
||||||
|
roller.node.off(ROLLER_EVENT.ICON_FALLEN, this.onRollerIconFallen, this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 开始一批删除(声明本轮将有多少次 deleteIconNode 调用)
|
||||||
|
beginDeleteBatch(expected: number) {
|
||||||
|
this._pendingDeleteCount = expected;
|
||||||
|
}
|
||||||
|
|
||||||
|
getScatterStartRollerId() {
|
||||||
|
let startId = 0;
|
||||||
|
let twoScattterId = this._parsedData.ScatterPos[1];
|
||||||
|
startId = this.getLx(twoScattterId) + 1;
|
||||||
|
return startId;
|
||||||
|
}
|
||||||
|
|
||||||
|
hasScatterOnRoller(rollerId: number): boolean {
|
||||||
|
let seg = this._resultStopData[rollerId] || [];
|
||||||
|
return seg.indexOf(1) !== -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
9
assets/Game/Scripts/RollerManager.ts.meta
Normal file
9
assets/Game/Scripts/RollerManager.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "3ff5056a-c2b4-4c8b-9df6-dfcbeee855c3",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
735
assets/Game/Scripts/SlotBar.ts
Normal file
735
assets/Game/Scripts/SlotBar.ts
Normal file
@ -0,0 +1,735 @@
|
|||||||
|
import { _decorator, Animation, Button, Component, Label, Node, sp, Sprite, tween, Tween, UIOpacity, Vec3, } from "cc";
|
||||||
|
import { SLOT_BAR_EVENT } from "./Define";
|
||||||
|
import { gold2cash } from "../../Main/Scripts/main/comm";
|
||||||
|
import { AudioManager } from "../../Main/Scripts/managers/AudioManager";
|
||||||
|
import { GameDataManager } from "../../Main/Scripts/managers/GameDataManager";
|
||||||
|
import { I18nManager } from "../../Main/Scripts/managers/I18nManager";
|
||||||
|
import { UIManager } from "../../Main/Scripts/managers/UIManager";
|
||||||
|
import { NodePoolManager } from "../../Main/Scripts/managers/NodePoolManager";
|
||||||
|
import { webView } from "./WebView";
|
||||||
|
import { AutoSpinPanel } from "./AutoSpinPanel";
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
export let Btn_Key = {
|
||||||
|
SpinBtn: "SpinBtn",
|
||||||
|
AddBetBtn: "AddBetBtn",
|
||||||
|
SubBetBtn: "SubBetBtn",
|
||||||
|
FastSpinBtn: "FastSpinBtn",
|
||||||
|
AutoSpinBtn: "AutoSpinBtn",
|
||||||
|
MenuBtn: "MenuBtn",
|
||||||
|
QuitBtn: "QuitBtn",
|
||||||
|
SoundBtn: "SoundBtn",
|
||||||
|
PaytableBtn: "PaytableBtn",
|
||||||
|
RuleBtn: "RuleBtn",
|
||||||
|
HistoryBtn: "HistoryBtn",
|
||||||
|
CloseL2Btn: "CloseL2Btn",
|
||||||
|
StopAutoSpinBtn: "StopAutoSpinBtn",
|
||||||
|
};
|
||||||
|
|
||||||
|
// 使用 @ccclass 装饰器
|
||||||
|
@ccclass("BtnConfig")
|
||||||
|
export class BtnConfig {
|
||||||
|
@property
|
||||||
|
key: string = "";
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
btnNode: Node = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ccclass("SlotBar")
|
||||||
|
export class SlotBar extends Component {
|
||||||
|
@property({ type: [BtnConfig] })
|
||||||
|
btnTable: BtnConfig[] = [];
|
||||||
|
|
||||||
|
hasClickSpin: boolean = false;
|
||||||
|
hasClickManualStop: boolean = false;
|
||||||
|
private isFastSpin: boolean = false;
|
||||||
|
private isAutoSpin: boolean = false;
|
||||||
|
|
||||||
|
gameInfo: any = null;
|
||||||
|
betGrade: number[] = [];
|
||||||
|
curBalance: number = 0;
|
||||||
|
curBet: number = 0;
|
||||||
|
curWin: number = 0;
|
||||||
|
betIndex: number = 0;
|
||||||
|
|
||||||
|
freeSpinMsgNode: Node = null;
|
||||||
|
lastFreeSpinNode: Node = null;
|
||||||
|
remainingFreeSpinNode: Node = null;
|
||||||
|
remainCountLabel: Label = null;
|
||||||
|
|
||||||
|
playerMsgNode: Node = null;
|
||||||
|
balanceLabel: Label = null;
|
||||||
|
betLabel: Label = null;
|
||||||
|
winLabel: Label = null;
|
||||||
|
|
||||||
|
freeSpinPlayerMsgNode: Node = null;
|
||||||
|
freeSpinBalanceLabel: Label = null;
|
||||||
|
freeSpinBetLabel: Label = null;
|
||||||
|
freeSpinWinLabel: Label = null;
|
||||||
|
|
||||||
|
btn_L1: Node = null;
|
||||||
|
btn_L2: Node = null;
|
||||||
|
|
||||||
|
curFreeSpinScore = 0;
|
||||||
|
|
||||||
|
onLoad(): void {
|
||||||
|
this.playerMsgNode = this.node.getChildByName("PlayerMsg");
|
||||||
|
let playerMsgLabs = this.playerMsgNode.getChildByName("lab");
|
||||||
|
this.balanceLabel = playerMsgLabs.getChildByName("balanceCount").getComponent(Label);
|
||||||
|
this.betLabel = playerMsgLabs.getChildByName("betCount").getComponent(Label);
|
||||||
|
this.winLabel = playerMsgLabs.getChildByName("winCount").getComponent(Label);
|
||||||
|
|
||||||
|
this.freeSpinMsgNode = this.node.getChildByName("FreeSpinMsg");
|
||||||
|
this.lastFreeSpinNode = this.freeSpinMsgNode.getChildByName("lastFreeSpin");
|
||||||
|
this.remainingFreeSpinNode = this.freeSpinMsgNode.getChildByName("remainingFreeSpin");
|
||||||
|
this.remainCountLabel = this.remainingFreeSpinNode.getChildByName("remainCount").getComponent(Label);
|
||||||
|
|
||||||
|
this.freeSpinPlayerMsgNode = this.node.getChildByName("FreeSpinPlayerMsg");
|
||||||
|
let freeSpinPlayerMsgLabs = this.freeSpinPlayerMsgNode.getChildByName("lab");
|
||||||
|
this.freeSpinBalanceLabel = freeSpinPlayerMsgLabs.getChildByName("balanceCount").getComponent(Label);
|
||||||
|
this.freeSpinBetLabel = freeSpinPlayerMsgLabs.getChildByName("betCount").getComponent(Label);
|
||||||
|
this.freeSpinWinLabel = freeSpinPlayerMsgLabs.getChildByName("winCount").getComponent(Label);
|
||||||
|
this.getBtnButton(Btn_Key.AutoSpinBtn).node.on(Node.EventType.TOUCH_START, this.autoAin, this);
|
||||||
|
this.getBtnButton(Btn_Key.AutoSpinBtn).node.on(Node.EventType.MOUSE_ENTER, this.autoAin, this);
|
||||||
|
this.getBtnButton(Btn_Key.FastSpinBtn).node.on(Node.EventType.TOUCH_START, this.fastAni, this);
|
||||||
|
this.getBtnButton(Btn_Key.FastSpinBtn).node.on(Node.EventType.MOUSE_ENTER, this.fastAni, this);
|
||||||
|
this.btn_L1 = this.node.getChildByName("Btn_L1");
|
||||||
|
this.btn_L2 = this.node.getChildByName("Btn_L2");
|
||||||
|
}
|
||||||
|
|
||||||
|
getBtnNode(key: string): Node {
|
||||||
|
return this.btnTable.find((btn) => btn.key === key)?.btnNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
getBtnButton(key: string): Button {
|
||||||
|
return this.btnTable
|
||||||
|
.find((btn) => btn.key === key)
|
||||||
|
?.btnNode.getComponent(Button);
|
||||||
|
}
|
||||||
|
|
||||||
|
setGameInfo(gameInfo: any) {
|
||||||
|
this.gameInfo = gameInfo;
|
||||||
|
this.betGrade = gameInfo.BetGrade;
|
||||||
|
this.setBalance(gameInfo.Balance);
|
||||||
|
this.setBet(gameInfo.Data.Bet);
|
||||||
|
this.setWin(gameInfo.Data.AllScore);
|
||||||
|
|
||||||
|
this.hasClickSpin = true;
|
||||||
|
this.hasClickManualStop = true;
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.SpinBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.AddBetBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.SubBetBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.AutoSpinBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.MenuBtn), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
updatePlayerMsg(spinData: any, callBack: () => void, isFreeSpin: boolean = false) {
|
||||||
|
|
||||||
|
if (spinData.AllScore == 0) {
|
||||||
|
this.setWin(spinData.AllScore);
|
||||||
|
this.setBalance(spinData.Balance);
|
||||||
|
if (callBack) callBack();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.updateWinMsg(spinData.AllScore, isFreeSpin);
|
||||||
|
this.updateBalanceMsg(spinData.Balance, callBack);
|
||||||
|
}
|
||||||
|
|
||||||
|
updateWinMsg(winCount: number, isFreeSpin: boolean = false) {
|
||||||
|
let startScore = 0;
|
||||||
|
if (isFreeSpin) {
|
||||||
|
this.curFreeSpinScore += winCount;
|
||||||
|
startScore = this.curFreeSpinScore;
|
||||||
|
}
|
||||||
|
let tw = UIManager.instance.tweenScorelinear(startScore, winCount, 0.2);
|
||||||
|
if (tw !== null) {
|
||||||
|
tw.onUpdate((v) => this.setWin(v))
|
||||||
|
.onComplete(() => this.setWin(winCount))
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
updateBalanceMsg(balance: number, callBack: () => void) {
|
||||||
|
let tw = UIManager.instance.tweenScorelinear(
|
||||||
|
this.getBalance(),
|
||||||
|
balance,
|
||||||
|
0.2
|
||||||
|
);
|
||||||
|
if (tw !== null) {
|
||||||
|
tw.onUpdate((v) => this.setBalance(v))
|
||||||
|
.onComplete(() => {
|
||||||
|
this.setBalance(balance);
|
||||||
|
if (callBack) callBack();
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
updateIsFreeSpin(bol: boolean) {
|
||||||
|
if (bol) {
|
||||||
|
this.playerMsgNode.active = false;
|
||||||
|
this.btn_L1.active = false;
|
||||||
|
this.btn_L2.active = false;
|
||||||
|
this.freeSpinMsgNode.active = true;
|
||||||
|
this.freeSpinPlayerMsgNode.active = true;
|
||||||
|
} else {
|
||||||
|
this.playerMsgNode.active = true;
|
||||||
|
this.btn_L1.active = true;
|
||||||
|
this.freeSpinMsgNode.active = false;
|
||||||
|
this.freeSpinPlayerMsgNode.active = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setLeftCount(leftCount: number) {
|
||||||
|
if (leftCount > 0) {
|
||||||
|
this.remainingFreeSpinNode.active = true;
|
||||||
|
this.lastFreeSpinNode.active = false;
|
||||||
|
this.remainCountLabel.string = leftCount.toString();
|
||||||
|
} else {
|
||||||
|
this.remainingFreeSpinNode.active = false;
|
||||||
|
this.lastFreeSpinNode.active = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
updateFreeSpinPlayerMsg(spinData: any, callBack: () => void) {
|
||||||
|
if (spinData.AllScore == 0) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setBalance(balance: number) {
|
||||||
|
if (balance < 0) {
|
||||||
|
console.error("balance is less than 0,金币不足-->SlotBar");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.curBalance = balance;
|
||||||
|
this.balanceLabel.string = gold2cash(balance);
|
||||||
|
this.freeSpinBalanceLabel.string = gold2cash(balance);
|
||||||
|
}
|
||||||
|
|
||||||
|
getBalance(): number {
|
||||||
|
return this.curBalance;
|
||||||
|
}
|
||||||
|
|
||||||
|
betScale: Vec3 = new Vec3(1, 1, 1);
|
||||||
|
betScale1: Vec3 = new Vec3(1.2, 1.2, 1);
|
||||||
|
displayBet: number = 0;
|
||||||
|
setBet(bet: number, isSystemGift: boolean = false) {
|
||||||
|
this.curBet = bet;
|
||||||
|
this.displayBet = bet;
|
||||||
|
GameDataManager.instance.curBet = bet;
|
||||||
|
this.betLabel.string = gold2cash(bet);
|
||||||
|
this.freeSpinBetLabel.string = gold2cash(bet);
|
||||||
|
this.node.emit(SLOT_BAR_EVENT.BET_CHANGE, bet);
|
||||||
|
|
||||||
|
this.betIndex = this.betGrade.indexOf(bet);
|
||||||
|
if (isSystemGift) {
|
||||||
|
this.betIndex = -1;
|
||||||
|
} else {
|
||||||
|
if (this.betIndex == -1) {
|
||||||
|
this.betIndex = 0;
|
||||||
|
console.error(
|
||||||
|
"betIndex is -1,服务器发的信息不对,没有对应的betIndex-->SlotBar"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Tween.stopAllByTarget(this.betLabel.node);
|
||||||
|
tween(this.betLabel.node)
|
||||||
|
.set({ scale: this.betScale })
|
||||||
|
.to(0.15, { scale: this.betScale1 })
|
||||||
|
.to(0.015, { scale: this.betScale })
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
setDisplayBet(bet: number) {
|
||||||
|
this.displayBet = bet;
|
||||||
|
this.betLabel.string = gold2cash(bet);
|
||||||
|
this.freeSpinBetLabel.string = gold2cash(bet);
|
||||||
|
}
|
||||||
|
|
||||||
|
getBet(): number {
|
||||||
|
return this.curBet;
|
||||||
|
}
|
||||||
|
|
||||||
|
setWin(win: number) {
|
||||||
|
this.curWin = win;
|
||||||
|
this.winLabel.string = gold2cash(win);
|
||||||
|
this.freeSpinWinLabel.string = gold2cash(win);
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickAddChips() {
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
this.betIndex += 1;
|
||||||
|
this.setNodeOpacityForBol(
|
||||||
|
this.getBtnButton(Btn_Key.AddBetBtn).node,
|
||||||
|
this.betIndex != this.betGrade.length
|
||||||
|
);
|
||||||
|
this.setNodeOpacityForBol(
|
||||||
|
this.getBtnButton(Btn_Key.SubBetBtn).node,
|
||||||
|
this.betIndex > 0
|
||||||
|
);
|
||||||
|
if (this.betIndex == this.betGrade.length) {
|
||||||
|
this.node.emit(SLOT_BAR_EVENT.MAX_BET);
|
||||||
|
this.betIndex = this.betGrade.length - 1; // 确保 betIndex 不超出范围
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setBet(this.betGrade[this.betIndex]);
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickSubChips() {
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
this.betIndex -= 1;
|
||||||
|
this.setNodeOpacityForBol(
|
||||||
|
this.getBtnButton(Btn_Key.SubBetBtn).node,
|
||||||
|
this.betIndex > 0
|
||||||
|
);
|
||||||
|
this.setNodeOpacityForBol(
|
||||||
|
this.getBtnButton(Btn_Key.AddBetBtn).node,
|
||||||
|
this.betIndex != this.betGrade.length
|
||||||
|
);
|
||||||
|
if (this.betIndex < 0) {
|
||||||
|
this.node.emit(SLOT_BAR_EVENT.MIN_BET);
|
||||||
|
this.betIndex = 0; // 确保 betIndex 不低于0
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setBet(this.betGrade[this.betIndex]);
|
||||||
|
}
|
||||||
|
|
||||||
|
isAnimating: boolean = false;
|
||||||
|
btnPos1: Vec3 = new Vec3(0, -815, 0);
|
||||||
|
btnPos2: Vec3 = new Vec3(0, -1105, 0);
|
||||||
|
menuMoveTime: number = 0.1;
|
||||||
|
openMenu() {
|
||||||
|
if (this.isAnimating) return;
|
||||||
|
this.node.emit(SLOT_BAR_EVENT.OPEN_MENU);
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
this.isAnimating = true;
|
||||||
|
|
||||||
|
let btn_L1_opacity = this.btn_L1.getComponent(UIOpacity);
|
||||||
|
let btn_L2_opacity = this.btn_L2.getComponent(UIOpacity);
|
||||||
|
|
||||||
|
Tween.stopAllByTarget(this.btn_L1);
|
||||||
|
Tween.stopAllByTarget(this.btn_L2);
|
||||||
|
Tween.stopAllByTarget(btn_L1_opacity);
|
||||||
|
Tween.stopAllByTarget(btn_L2_opacity);
|
||||||
|
|
||||||
|
tween(this.btn_L1)
|
||||||
|
.set({ position: this.btnPos1 })
|
||||||
|
.to(this.menuMoveTime, { position: this.btnPos2 })
|
||||||
|
.call(() => {
|
||||||
|
this.btn_L1.active = false;
|
||||||
|
tween(this.btn_L2)
|
||||||
|
.set({ position: this.btnPos2 })
|
||||||
|
.call(() => {
|
||||||
|
this.btn_L2.active = true;
|
||||||
|
})
|
||||||
|
.to(this.menuMoveTime, { position: this.btnPos1 })
|
||||||
|
.call(() => {
|
||||||
|
this.isAnimating = false;
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
|
||||||
|
tween(btn_L1_opacity)
|
||||||
|
.set({ opacity: 255 })
|
||||||
|
.to(this.menuMoveTime, { opacity: 0 })
|
||||||
|
.call(() => {
|
||||||
|
tween(btn_L2_opacity)
|
||||||
|
.set({ opacity: 0 })
|
||||||
|
.to(this.menuMoveTime, { opacity: 255 })
|
||||||
|
.start();
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
closeMenu() {
|
||||||
|
if (this.isAnimating) return;
|
||||||
|
this.node.emit(SLOT_BAR_EVENT.CLOSE_MENU);
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
this.isAnimating = true;
|
||||||
|
|
||||||
|
let btn_L1_opacity = this.btn_L1.getComponent(UIOpacity);
|
||||||
|
let btn_L2_opacity = this.btn_L2.getComponent(UIOpacity);
|
||||||
|
|
||||||
|
Tween.stopAllByTarget(this.btn_L1);
|
||||||
|
Tween.stopAllByTarget(this.btn_L2);
|
||||||
|
Tween.stopAllByTarget(btn_L1_opacity);
|
||||||
|
Tween.stopAllByTarget(btn_L2_opacity);
|
||||||
|
|
||||||
|
tween(this.btn_L2)
|
||||||
|
.set({ position: this.btnPos1 })
|
||||||
|
.to(this.menuMoveTime, { position: this.btnPos2 })
|
||||||
|
.call(() => {
|
||||||
|
this.btn_L2.active = false;
|
||||||
|
tween(this.btn_L1)
|
||||||
|
.set({ position: this.btnPos2 })
|
||||||
|
.call(() => {
|
||||||
|
this.btn_L1.active = true;
|
||||||
|
})
|
||||||
|
.to(this.menuMoveTime, { position: this.btnPos1 })
|
||||||
|
.call(() => {
|
||||||
|
this.isAnimating = false;
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
|
||||||
|
tween(btn_L2_opacity)
|
||||||
|
.set({ opacity: 255 })
|
||||||
|
.to(this.menuMoveTime, { opacity: 0 })
|
||||||
|
.call(() => {
|
||||||
|
tween(btn_L1_opacity)
|
||||||
|
.set({ opacity: 0 })
|
||||||
|
.to(this.menuMoveTime, { opacity: 255 })
|
||||||
|
.start();
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
firstClickSpinState() {
|
||||||
|
let spinBtnSpine = this.getBtnNode(Btn_Key.SpinBtn).getChildByName("SPIN").getComponent(sp.Skeleton);
|
||||||
|
this.hasClickSpin = true;
|
||||||
|
spinBtnSpine.setAnimation(0, "2", true);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.AddBetBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.SubBetBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.AutoSpinBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.MenuBtn), false);
|
||||||
|
this.node.getChildByName("stopBtn").active = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickSpin() {
|
||||||
|
if (!this.hasClickSpin && !this.hasClickManualStop) {
|
||||||
|
AudioManager.instance.playSFX("Click_Spin");
|
||||||
|
this.node.emit(SLOT_BAR_EVENT.ON_SPIN_CLICK);
|
||||||
|
this.firstClickSpinState();
|
||||||
|
}
|
||||||
|
// 第二次手动停止
|
||||||
|
else if (this.hasClickSpin && !this.hasClickManualStop) {
|
||||||
|
this.node.emit(SLOT_BAR_EVENT.ON_MANUAL_STOP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
featureBuySpin() {
|
||||||
|
// 第一次点击 旋转
|
||||||
|
if (!this.hasClickSpin && !this.hasClickManualStop) {
|
||||||
|
AudioManager.instance.playSFX("Click_Spin");
|
||||||
|
this.firstClickSpinState();
|
||||||
|
}
|
||||||
|
// 第二次点击 手动停止
|
||||||
|
else if (this.hasClickSpin && !this.hasClickManualStop) {
|
||||||
|
this.node.emit(SLOT_BAR_EVENT.ON_MANUAL_STOP);
|
||||||
|
this.node.getChildByName("stopBtn").active = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
manualStop(hasWin: boolean) {
|
||||||
|
let spineBtnSpine = this.getBtnNode(Btn_Key.SpinBtn).getChildByName("SPIN").getComponent(sp.Skeleton);
|
||||||
|
if (hasWin) {
|
||||||
|
spineBtnSpine.setAnimation(0, "1", true);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.SpinBtn), false);
|
||||||
|
}
|
||||||
|
this.hasClickManualStop = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
spinBtnSpineEliminate() {
|
||||||
|
let spineBtnSpine = this.getBtnNode(Btn_Key.SpinBtn).getChildByName("SPIN").getComponent(sp.Skeleton);
|
||||||
|
spineBtnSpine.setAnimation(0, "1", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickFastSpin() {
|
||||||
|
this.unscheduleAllCallbacks();
|
||||||
|
let btnAni = this.getBtnButton(Btn_Key.FastSpinBtn).getComponent(Animation);
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
if (this.isFastSpin) {
|
||||||
|
this.isFastSpin = false;
|
||||||
|
btnAni.play("turbo_Pressed_animation");
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
btnAni.play("turbo_Normal_animation");
|
||||||
|
}, 0.4);
|
||||||
|
} else {
|
||||||
|
this.isFastSpin = true;
|
||||||
|
btnAni.play("turbo_Pressed_animation");
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
btnAni.play("turbo_Enable_animation");
|
||||||
|
}, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.node.emit(SLOT_BAR_EVENT.FAST_SPIN, this.isFastSpin);
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickRules() {
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
let param = "rule";
|
||||||
|
UIManager.instance.showPopup("WebView", "Prefab/WebView", "Game", (prefab) => {
|
||||||
|
prefab.getComponent(webView).open(param);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickPaytable() {
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
let param = "paytable";
|
||||||
|
UIManager.instance.showPopup(
|
||||||
|
"WebView",
|
||||||
|
"Prefab/WebView",
|
||||||
|
"Game",
|
||||||
|
(prefab) => {
|
||||||
|
prefab.getComponent(webView).open(param);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickHistory() {
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
let param = "history";
|
||||||
|
UIManager.instance.showPopup(
|
||||||
|
"WebView",
|
||||||
|
"Prefab/WebView",
|
||||||
|
"Game",
|
||||||
|
(prefab) => {
|
||||||
|
prefab.getComponent(webView).open(param);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
isON = true;
|
||||||
|
onClickBtnSound() {
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
let btns2 = this.btn_L2;
|
||||||
|
let sound = btns2.getChildByName("soundBtn");
|
||||||
|
let on = sound.getChildByName("Btn_SoundON_01");
|
||||||
|
let off = sound.getChildByName("Btn_SoundOFF_01");
|
||||||
|
this.isON = !this.isON;
|
||||||
|
on.active = this.isON;
|
||||||
|
off.active = !this.isON;
|
||||||
|
AudioManager.instance.setMute(off.active);
|
||||||
|
}
|
||||||
|
|
||||||
|
onBtnExit() {
|
||||||
|
this.node.emit(SLOT_BAR_EVENT.ON_EXIT_CLICK);
|
||||||
|
UIManager.instance.showTipMessagePanel(
|
||||||
|
I18nManager.instance.t("AID_QUIT_TITLE"),
|
||||||
|
I18nManager.instance.t("AID_QUIT_CONTENT"),
|
||||||
|
false,
|
||||||
|
null,
|
||||||
|
() => {
|
||||||
|
window.close();
|
||||||
|
},
|
||||||
|
I18nManager.instance.t("AID_QUIT_LEFT_BUTTON"),
|
||||||
|
I18nManager.instance.t("AID_ERROR_QUIT_BUTTON")
|
||||||
|
);
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickAutoSpin() {
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
let btnAni = this.getBtnButton(Btn_Key.AutoSpinBtn).getComponent(Animation);
|
||||||
|
btnAni.play("autoSpin_Pressed_animation");
|
||||||
|
NodePoolManager.instance
|
||||||
|
.getNodeFromPoolDynamic("AutoSpinPanel", "Prefab/AutoSpinPanel", "Game")
|
||||||
|
.then((prefab: Node) => {
|
||||||
|
this.node.addChild(prefab);
|
||||||
|
prefab.getComponent(AutoSpinPanel).setCloseCallback(() => {
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
this.startAutoSpin(GameDataManager.instance.autoCount);
|
||||||
|
});
|
||||||
|
prefab.getComponent(AutoSpinPanel).showTween();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
setLeftAutoCount(count: number) {
|
||||||
|
let num = this.getBtnNode(Btn_Key.StopAutoSpinBtn)
|
||||||
|
.getChildByName("num")
|
||||||
|
.getComponent(Label);
|
||||||
|
num.string = count.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
startAutoSpin(count: number) {
|
||||||
|
this.unscheduleAllCallbacks();
|
||||||
|
let btnAni = this.getBtnButton(Btn_Key.AutoSpinBtn).getComponent(Animation);
|
||||||
|
|
||||||
|
let circle01 = this.getBtnButton(Btn_Key.AutoSpinBtn)
|
||||||
|
.node.getChildByName("AutoSpinCircle01")
|
||||||
|
.getComponent(Sprite);
|
||||||
|
let circle02 = this.getBtnButton(Btn_Key.AutoSpinBtn)
|
||||||
|
.node.getChildByName("AutoSpinCircle02")
|
||||||
|
.getComponent(Sprite);
|
||||||
|
circle01.fillStart = 0;
|
||||||
|
circle01.fillRange = 0;
|
||||||
|
circle02.fillStart = 0;
|
||||||
|
circle02.fillRange = 0;
|
||||||
|
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
|
||||||
|
this.isAutoSpin = true;
|
||||||
|
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
btnAni.play("autoSpin_Enable_animation");
|
||||||
|
}, 0.4);
|
||||||
|
|
||||||
|
GameDataManager.instance.autoCount = count;
|
||||||
|
this.setLeftAutoCount(count);
|
||||||
|
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.SubBetBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.AddBetBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.AutoSpinBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.MenuBtn), false);
|
||||||
|
|
||||||
|
this.getBtnButton(Btn_Key.SpinBtn).node.active = false;
|
||||||
|
this.getBtnButton(Btn_Key.StopAutoSpinBtn).node.active = true;
|
||||||
|
|
||||||
|
this.node.emit(SLOT_BAR_EVENT.ON_AUTO_SPIN_CLICK, this.isAutoSpin);
|
||||||
|
}
|
||||||
|
|
||||||
|
closeAutoSpin() {
|
||||||
|
this.unscheduleAllCallbacks();
|
||||||
|
let btnAni = this.getBtnButton(Btn_Key.AutoSpinBtn).getComponent(Animation);
|
||||||
|
|
||||||
|
let circle01 = this.getBtnButton(Btn_Key.AutoSpinBtn)
|
||||||
|
.node.getChildByName("AutoSpinCircle01")
|
||||||
|
.getComponent(Sprite);
|
||||||
|
let circle02 = this.getBtnButton(Btn_Key.AutoSpinBtn)
|
||||||
|
.node.getChildByName("AutoSpinCircle02")
|
||||||
|
.getComponent(Sprite);
|
||||||
|
circle01.fillStart = 0;
|
||||||
|
circle01.fillRange = 0;
|
||||||
|
circle02.fillStart = 0;
|
||||||
|
circle02.fillRange = 0;
|
||||||
|
|
||||||
|
AudioManager.instance.playSFX("Click_Menu");
|
||||||
|
|
||||||
|
this.isAutoSpin = false;
|
||||||
|
btnAni.stop();
|
||||||
|
btnAni.play("autoSpin_Normal_animation");
|
||||||
|
|
||||||
|
this.getBtnButton(Btn_Key.SpinBtn).node.active = true;
|
||||||
|
this.getBtnButton(Btn_Key.StopAutoSpinBtn).node.active = false;
|
||||||
|
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.SpinBtn), false);
|
||||||
|
|
||||||
|
this.node.emit(SLOT_BAR_EVENT.ON_AUTO_SPIN_CLICK, this.isAutoSpin);
|
||||||
|
}
|
||||||
|
|
||||||
|
resetAllBtn() {
|
||||||
|
this.hasClickSpin = false;
|
||||||
|
this.hasClickManualStop = false;
|
||||||
|
this.isAutoSpin = false;
|
||||||
|
this.node.getChildByName("stopBtn").active = false;
|
||||||
|
|
||||||
|
this.getBtnButton(Btn_Key.SpinBtn).node.active = true;
|
||||||
|
this.getBtnButton(Btn_Key.StopAutoSpinBtn).node.active = false;
|
||||||
|
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.AddBetBtn), true);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.SubBetBtn), true);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.AutoSpinBtn), true);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.MenuBtn), true);
|
||||||
|
|
||||||
|
this.setNodeOpacityForBol(
|
||||||
|
this.getBtnButton(Btn_Key.AddBetBtn).node,
|
||||||
|
this.betIndex != this.betGrade.length
|
||||||
|
);
|
||||||
|
this.setNodeOpacityForBol(
|
||||||
|
this.getBtnButton(Btn_Key.SubBetBtn).node,
|
||||||
|
this.betIndex > 0
|
||||||
|
);
|
||||||
|
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.SpinBtn), true);
|
||||||
|
let spinBtnSpine = this.getBtnNode(Btn_Key.SpinBtn).getChildByName("SPIN").getComponent(sp.Skeleton);
|
||||||
|
spinBtnSpine.setAnimation(0, "1", true);
|
||||||
|
|
||||||
|
GameDataManager.instance.canClickIconMsg = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置按钮可以点击并且置灰的函数
|
||||||
|
setBtnEnable(btn: Button | Node, enable: boolean) {
|
||||||
|
if (btn instanceof Button) {
|
||||||
|
btn.interactable = enable;
|
||||||
|
if (btn.name != Btn_Key.SpinBtn)
|
||||||
|
this.setNodeOpacity(btn.node, enable ? 255 : 128);
|
||||||
|
} else {
|
||||||
|
btn.getComponent(Button).interactable = enable;
|
||||||
|
if (btn.name != Btn_Key.SpinBtn)
|
||||||
|
this.setNodeOpacity(btn, enable ? 255 : 128);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setNodeOpacity(node: Node, opacity: number) {
|
||||||
|
node.getComponent(UIOpacity).opacity = opacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
setNodeOpacityForBol(node: Node, bol: boolean) {
|
||||||
|
this.setNodeOpacity(node, bol ? 255 : 128);
|
||||||
|
}
|
||||||
|
autoAin() {
|
||||||
|
let autoBtn = this.getBtnButton(Btn_Key.AutoSpinBtn).node;
|
||||||
|
|
||||||
|
if (autoBtn.getComponent(Button).interactable) {
|
||||||
|
autoBtn.getComponent(Animation).play("autoSpin_Hover_animation");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fastAni() {
|
||||||
|
let turboBtn = this.getBtnButton(Btn_Key.FastSpinBtn).node;
|
||||||
|
let turboBtnAni = turboBtn.getComponent(Animation);
|
||||||
|
|
||||||
|
if (turboBtn.getComponent(Button).interactable && !this.isFastSpin) {
|
||||||
|
turboBtnAni.play("turbo_Hover_animation");
|
||||||
|
turboBtnAni.once(Animation.EventType.FINISHED, () => {
|
||||||
|
turboBtnAni.play("turbo_Normal_animation");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
protected onDestroy(): void {
|
||||||
|
this.getBtnButton(Btn_Key.AutoSpinBtn).node.off(
|
||||||
|
Node.EventType.TOUCH_START,
|
||||||
|
this.autoAin,
|
||||||
|
this
|
||||||
|
);
|
||||||
|
this.getBtnButton(Btn_Key.AutoSpinBtn).node.off(
|
||||||
|
Node.EventType.MOUSE_ENTER,
|
||||||
|
this.autoAin,
|
||||||
|
this
|
||||||
|
);
|
||||||
|
|
||||||
|
this.getBtnButton(Btn_Key.FastSpinBtn).node.off(
|
||||||
|
Node.EventType.TOUCH_START,
|
||||||
|
this.fastAni,
|
||||||
|
this
|
||||||
|
);
|
||||||
|
this.getBtnButton(Btn_Key.FastSpinBtn).node.off(
|
||||||
|
Node.EventType.MOUSE_ENTER,
|
||||||
|
this.fastAni,
|
||||||
|
this
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// =----------------------------------------=
|
||||||
|
setSysGiftBet(bet: number) {
|
||||||
|
let betIndex = this.betGrade.indexOf(bet);
|
||||||
|
if (betIndex == -1) {
|
||||||
|
betIndex = 0;
|
||||||
|
// console.error('betIndex is -1,服务器发的信息不对,没有对应的betIndex-->SlotBar');
|
||||||
|
this.setBet(bet, true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setBet(this.betGrade[betIndex], true);
|
||||||
|
}
|
||||||
|
|
||||||
|
setSystemGiftContinue() {
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.SubBetBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.AddBetBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.AutoSpinBtn), false);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.MenuBtn), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
setSystemGiftConfirm() {
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.SubBetBtn), true);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.AddBetBtn), true);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.AutoSpinBtn), true);
|
||||||
|
this.setBtnEnable(this.getBtnButton(Btn_Key.MenuBtn), true);
|
||||||
|
this.betIndex = 0;
|
||||||
|
this.setBet(this.betGrade[this.betIndex]);
|
||||||
|
}
|
||||||
|
}
|
||||||
9
assets/Game/Scripts/SlotBar.ts.meta
Normal file
9
assets/Game/Scripts/SlotBar.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "b9547e90-a1a6-47eb-a858-b5486521685d",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
589
assets/Game/Scripts/SlotGame.ts
Normal file
589
assets/Game/Scripts/SlotGame.ts
Normal file
@ -0,0 +1,589 @@
|
|||||||
|
import { _decorator, Button, Component, Label, Layout, Node, Prefab, sp, Sprite, Tween, tween, UIOpacity, v3, Vec3 } from 'cc';
|
||||||
|
import { RollerManager } from './RollerManager';
|
||||||
|
import { DELETE_TIME, ICON_SERVER_MAP, IParsedGameData, ISpecialIcon, ROLLER_COMBINE_EVENT, SLOT_GAME_EVENT } from './Define';
|
||||||
|
import { UpLayer } from './UpLayer';
|
||||||
|
import { UIManager } from '../../Main/Scripts/managers/UIManager';
|
||||||
|
import { GameDataManager } from '../../Main/Scripts/managers/GameDataManager';
|
||||||
|
import { gold2cash } from '../../Main/Scripts/main/comm';
|
||||||
|
import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
|
||||||
|
import { FeatureBuyPopup } from './FeatureBuyPopup';
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('SlotGame')
|
||||||
|
export class SlotGame extends Component {
|
||||||
|
|
||||||
|
@property(RollerManager)
|
||||||
|
rollerManager: RollerManager = null;
|
||||||
|
|
||||||
|
@property(UpLayer)
|
||||||
|
upLayer: UpLayer = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
normalGameBg: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
freeGameBg: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
featureBuyNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
doubleWinBtnNode: Node = null;
|
||||||
|
|
||||||
|
parsedData: IParsedGameData = null;
|
||||||
|
spinData: any = null;
|
||||||
|
_lastRemoveData: number[] = []; // ← 清除
|
||||||
|
|
||||||
|
// normalWaysLayout: Node = null;
|
||||||
|
// normalWaysLabelCount: Node = null;
|
||||||
|
// freeWaysLayout: Node = null;
|
||||||
|
// freeWaysLabelCount: Node = null;
|
||||||
|
featureBuyActive: boolean = false;
|
||||||
|
doubleWinIsOn: boolean = false;
|
||||||
|
rollersMsg: number[] = [3, 4, 5, 5, 4, 3];
|
||||||
|
featureBuyBtnEnabled: boolean = true;
|
||||||
|
waysNum = 3 * 4 * 5 * 5 * 4 * 3;
|
||||||
|
|
||||||
|
protected onLoad(): void {
|
||||||
|
// this.normalWaysLayout = this.node.getChildByName('NormalGameBg').getChildByName('ways').getChildByName('layout');
|
||||||
|
// this.normalWaysLabelCount = this.node.getChildByName('NormalGameBg').getChildByName('ways').getChildByName('layout').getChildByName('Label');
|
||||||
|
// this.freeWaysLayout = this.node.getChildByName('FreeGameBg').getChildByName('ways').getChildByName('layout');
|
||||||
|
// this.freeWaysLabelCount = this.node.getChildByName('FreeGameBg').getChildByName('ways').getChildByName('layout').getChildByName('Label');
|
||||||
|
|
||||||
|
this.rollerManager.node.on(ROLLER_COMBINE_EVENT.ONE_ROLLER_STOP, this.onOneRollerStopped, this);
|
||||||
|
this.rollerManager.node.on(ROLLER_COMBINE_EVENT.ROLLER_BOUNCE, this.onRollerBounce, this);
|
||||||
|
this.rollerManager.node.on(ROLLER_COMBINE_EVENT.ALL_ROLLER_STOP, this.onAllRollerStopped, this);
|
||||||
|
this.rollerManager.node.on(ROLLER_COMBINE_EVENT.START_GAME_SCALE_TWEEN, this.onStartGameScaleTween, this);
|
||||||
|
this.rollerManager.node.on(ROLLER_COMBINE_EVENT.START_GAME_END_SCALE_TWEEN, this.onStartGameEndScaleTween, this)
|
||||||
|
|
||||||
|
|
||||||
|
this.rollerManager.node.on(ROLLER_COMBINE_EVENT.ALL_ROLLER_ICONS_DELETED, this.onAllRollerIconsDeleted, this);
|
||||||
|
this.rollerManager.node.on(ROLLER_COMBINE_EVENT.ALL_ROLLER_ICONS_CREATED, this.onAllRollerIconsCreated, this);
|
||||||
|
this.rollerManager.node.on(ROLLER_COMBINE_EVENT.ALL_ROLLER_ICONS_FALLEN, this.onAllRollerIconsFallen, this);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickDoubleWin() {
|
||||||
|
this.doubleWinIsOn = !this.doubleWinIsOn;
|
||||||
|
|
||||||
|
let pt_11 = this.doubleWinBtnNode.getChildByName('pt_11');
|
||||||
|
let on = pt_11.getChildByName('on');
|
||||||
|
let off = pt_11.getChildByName('off');
|
||||||
|
let pt_12 = pt_11.getChildByName('pt_12');
|
||||||
|
let pt_13 = pt_11.getChildByName('pt_13');
|
||||||
|
|
||||||
|
if (this.doubleWinIsOn) {
|
||||||
|
tween(pt_12)
|
||||||
|
.to(0.05, { position: v3(35, 0, 0) })
|
||||||
|
.call(() => {
|
||||||
|
pt_12.active = false;
|
||||||
|
pt_12.setPosition(v3(-35, 0, 0));
|
||||||
|
pt_13.active = true;
|
||||||
|
on.active = true;
|
||||||
|
off.active = false;
|
||||||
|
|
||||||
|
this.refreshDoubleWinCount();
|
||||||
|
this.refreshBuyBtnState(false);
|
||||||
|
this.node.emit(SLOT_GAME_EVENT.ON_DOUBLE_WIN_CLICK, this.doubleWinIsOn);
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
} else {
|
||||||
|
tween(pt_13)
|
||||||
|
.to(0.05, { position: v3(-35, 0, 0) })
|
||||||
|
.call(() => {
|
||||||
|
pt_13.active = false;
|
||||||
|
pt_13.setPosition(v3(35, 0, 0));
|
||||||
|
pt_12.active = true;
|
||||||
|
on.active = false;
|
||||||
|
off.active = true;
|
||||||
|
|
||||||
|
this.refreshDoubleWinCount();
|
||||||
|
this.refreshBuyBtnState(false);
|
||||||
|
this.node.emit(SLOT_GAME_EVENT.ON_DOUBLE_WIN_CLICK, this.doubleWinIsOn);
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
refreshDoubleWinVisual() {
|
||||||
|
let pt_11 = this.doubleWinBtnNode.getChildByName('pt_11');
|
||||||
|
let on = pt_11.getChildByName('on');
|
||||||
|
let off = pt_11.getChildByName('off');
|
||||||
|
let pt_12 = pt_11.getChildByName('pt_12');
|
||||||
|
let pt_13 = pt_11.getChildByName('pt_13');
|
||||||
|
|
||||||
|
Tween.stopAllByTarget(pt_12);
|
||||||
|
Tween.stopAllByTarget(pt_13);
|
||||||
|
|
||||||
|
if (this.doubleWinIsOn) {
|
||||||
|
pt_12.active = false;
|
||||||
|
pt_12.setPosition(v3(-35, 0, 0));
|
||||||
|
pt_13.active = true;
|
||||||
|
pt_13.setPosition(v3(35, 0, 0));
|
||||||
|
on.active = true;
|
||||||
|
off.active = false;
|
||||||
|
} else {
|
||||||
|
pt_13.active = false;
|
||||||
|
pt_13.setPosition(v3(35, 0, 0));
|
||||||
|
pt_12.active = true;
|
||||||
|
pt_12.setPosition(v3(-35, 0, 0));
|
||||||
|
on.active = false;
|
||||||
|
off.active = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
refreshDoubleWinCount() {
|
||||||
|
let pt_11 = this.doubleWinBtnNode.getChildByName('pt_11');
|
||||||
|
let countLabel = this.doubleWinBtnNode.getChildByName('count')?.getComponent(Label);
|
||||||
|
if (!countLabel) return;
|
||||||
|
|
||||||
|
let bet = GameDataManager.instance.curBet;
|
||||||
|
let displayBet = this.doubleWinIsOn ? bet * 1.25 : bet;
|
||||||
|
countLabel.string = gold2cash(displayBet);
|
||||||
|
}
|
||||||
|
|
||||||
|
refreshBuyBtnState(isFreeGame: boolean = false) {
|
||||||
|
if (isFreeGame) {
|
||||||
|
this.featureBuyNode.active = false;
|
||||||
|
this.doubleWinBtnNode.active = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.featureBuyNode.active = this.featureBuyActive;
|
||||||
|
this.doubleWinBtnNode.active = this.featureBuyActive;
|
||||||
|
|
||||||
|
if (!this.featureBuyActive) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.doubleWinIsOn) {
|
||||||
|
this.setBtnEnable(this.doubleWinBtnNode, true);
|
||||||
|
this.setBtnEnable(this.featureBuyNode, false);
|
||||||
|
} else {
|
||||||
|
this.setBtnEnable(this.doubleWinBtnNode, this.featureBuyBtnEnabled);
|
||||||
|
this.setBtnEnable(this.featureBuyNode, this.featureBuyBtnEnabled);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
initRollerWithIcon(spinData: any) {
|
||||||
|
this.spinData = spinData;
|
||||||
|
this.upLayer.hideAllLayer();
|
||||||
|
this.rollerManager.setUpLayer(this.upLayer);
|
||||||
|
this.updateGameBg(spinData.Mode == 1);
|
||||||
|
this.parsedData = this.parseGameData(spinData, []);
|
||||||
|
this._lastRemoveData = this.parsedData.RemoveData.slice(); // 保存本轮消除位置
|
||||||
|
this.rollerManager.initRollerWithIcon(this.parsedData);
|
||||||
|
// this.setWaysCount(this.waysNum);
|
||||||
|
}
|
||||||
|
|
||||||
|
onStartGameScaleTween() {
|
||||||
|
Tween.stopAllByTarget(this.node.parent);
|
||||||
|
tween(this.node.parent)
|
||||||
|
.to(5, { scale: v3(1.05, 1.05, 1.05) })
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
onStartGameEndScaleTween() {
|
||||||
|
Tween.stopAllByTarget(this.node.parent);
|
||||||
|
tween(this.node.parent)
|
||||||
|
.to(0.1, { scale: v3(1, 1, 1) })
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
updateGameBg(isFreeGame: boolean) {
|
||||||
|
this.normalGameBg.active = !isFreeGame;
|
||||||
|
this.freeGameBg.active = isFreeGame;
|
||||||
|
this.node.getChildByName('NormalGameBg1').active = !isFreeGame;
|
||||||
|
this.node.getChildByName('FreeGameBg1').active = isFreeGame;
|
||||||
|
|
||||||
|
this.refreshBuyBtnState(isFreeGame);
|
||||||
|
|
||||||
|
if (!isFreeGame) {
|
||||||
|
this.refreshDoubleWinCount();
|
||||||
|
let tudou = this.node.getChildByName('NormalGameBg1').getChildByName('5');
|
||||||
|
|
||||||
|
let leftPos = new Vec3(-360, -993, 0);
|
||||||
|
let rightPos = new Vec3(-210, -993, 0);
|
||||||
|
Tween.stopAllByTarget(tudou);
|
||||||
|
tudou.setPosition(leftPos);
|
||||||
|
tudou.setScale(1, 1, 0);
|
||||||
|
tween(tudou)
|
||||||
|
.to(1, { position: rightPos })
|
||||||
|
.call(() => tudou.setScale(-1, 1, 0))
|
||||||
|
.to(1, { position: leftPos })
|
||||||
|
.call(() => tudou.setScale(1, 1, 0))
|
||||||
|
.union()
|
||||||
|
.repeatForever()
|
||||||
|
.start();
|
||||||
|
|
||||||
|
let flower = this.node.getChildByName('NormalGameBg1').getChildByName('6').getComponent(sp.Skeleton);
|
||||||
|
// ruchang , chixu ,xiaoshi 三个动画循环播放 0 -> 1 -> 2 -> 0
|
||||||
|
let animationNames = ['ruchang', 'chixu', 'xiaoshi'];
|
||||||
|
let index = 0;
|
||||||
|
|
||||||
|
flower.setCompleteListener(() => {
|
||||||
|
index = (index + 1) % animationNames.length;
|
||||||
|
flower.setAnimation(0, animationNames[index], false);
|
||||||
|
});
|
||||||
|
|
||||||
|
flower.setAnimation(0, animationNames[index], false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
startScroll(isFreeSpin: boolean) {
|
||||||
|
this.upLayer.giveBackAllSpecials(this.rollerManager);
|
||||||
|
if (!isFreeSpin) {
|
||||||
|
this.setFeatureBuyBtnEnable(false);
|
||||||
|
this.setBtnEnable(this.doubleWinBtnNode, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// this.setWaysCount('...');
|
||||||
|
this.rollerManager.resetInfo();
|
||||||
|
this.rollerManager.startScroll();
|
||||||
|
this._lastRemoveData = []; // ← 清除
|
||||||
|
}
|
||||||
|
|
||||||
|
stopScroll(spinData: any) {
|
||||||
|
this.spinData = spinData;
|
||||||
|
this.parsedData = this.parseGameData(spinData, []);
|
||||||
|
this._lastRemoveData = this.parsedData.RemoveData.slice(); // 保存本轮消除位置
|
||||||
|
this.rollerManager.stopScroll(this.parsedData);
|
||||||
|
}
|
||||||
|
|
||||||
|
onOneRollerStopped(rollerId: number) {
|
||||||
|
let roller = this.rollerManager.allRollers[rollerId];
|
||||||
|
this.upLayer.syncSpecialFromRoller(roller);
|
||||||
|
}
|
||||||
|
|
||||||
|
onRollerBounce(rollerId: number) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onAllRollerStopped() {
|
||||||
|
this.upLayer.setReadHandSkeletonActive(false);
|
||||||
|
|
||||||
|
let delay = this.parsedData.hasSmallGame ? 2 : 0;
|
||||||
|
if (this.parsedData.hasSmallGame) {
|
||||||
|
this.upLayer.playScatterSpine(true);
|
||||||
|
AudioManager.instance.playSFX('Before_Small_Game');
|
||||||
|
}
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
if (this.parsedData.hasSmallGame) {
|
||||||
|
this.upLayer.playScatterSpine(false);
|
||||||
|
}
|
||||||
|
}, delay);
|
||||||
|
|
||||||
|
this.node.emit(SLOT_GAME_EVENT.ALL_ROLLER_STOP);
|
||||||
|
}
|
||||||
|
|
||||||
|
playIconWinAni(spinData: any) {
|
||||||
|
this.spinData = spinData;
|
||||||
|
AudioManager.instance.playSFX('Win_Icon_Up');
|
||||||
|
let deleteIconNodesPos = this.rollerManager.getAllRemoveIconsPos(this.parsedData.RemoveData);
|
||||||
|
|
||||||
|
this.upLayer.setWinLayerActive(true);
|
||||||
|
|
||||||
|
// 统计“实际调用次数”
|
||||||
|
let expected = 0;
|
||||||
|
for (let i = deleteIconNodesPos.length - 1; i >= 0; i--) {
|
||||||
|
let poses = deleteIconNodesPos[i];
|
||||||
|
expected += poses.length; // 每个格子会调一次 deleteIconNode(pos)
|
||||||
|
}
|
||||||
|
this.rollerManager.beginDeleteBatch(expected);
|
||||||
|
|
||||||
|
if (this.rollerManager._isFastSpin) { // 快速模式一起展示播放动画
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
for (let i = 0; i < deleteIconNodesPos.length; i++) {
|
||||||
|
let poses = deleteIconNodesPos[i];
|
||||||
|
for (let j = 0; j < poses.length; j++) {
|
||||||
|
let pos = poses[j];
|
||||||
|
let iconNode = this.rollerManager.getIconNode(pos);
|
||||||
|
if (iconNode) {
|
||||||
|
this.upLayer.removeSpecialByNode(iconNode);
|
||||||
|
this.upLayer.playIconWinAni(iconNode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, 0)
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
for (let i = 0; i < deleteIconNodesPos.length; i++) {
|
||||||
|
let poses = deleteIconNodesPos[i];
|
||||||
|
for (let j = 0; j < poses.length; j++) {
|
||||||
|
let pos = poses[j];
|
||||||
|
let iconNode = this.rollerManager.getIconNode(pos);
|
||||||
|
if (iconNode) {
|
||||||
|
AudioManager.instance.playSFX('Eliminate_Icon');
|
||||||
|
this.rollerManager.deleteIconNode(pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, 0.6)
|
||||||
|
// 提前返回,不执行原本的for循环和删除逻辑
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (let i = 0; i < deleteIconNodesPos.length; i++) {
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
let poses = deleteIconNodesPos[i];
|
||||||
|
for (let j = 0; j < poses.length; j++) {
|
||||||
|
let pos = poses[j];
|
||||||
|
let iconNode = this.rollerManager.getIconNode(pos);
|
||||||
|
if (iconNode) {
|
||||||
|
this.upLayer.removeSpecialByNode(iconNode);
|
||||||
|
this.upLayer.playIconWinAni(iconNode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, 0.1 * i)
|
||||||
|
}
|
||||||
|
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
for (let i = 0; i < deleteIconNodesPos.length; i++) {
|
||||||
|
let poses = deleteIconNodesPos[i];
|
||||||
|
for (let j = 0; j < poses.length; j++) {
|
||||||
|
let pos = poses[j];
|
||||||
|
let iconNode = this.rollerManager.getIconNode(pos);
|
||||||
|
if (iconNode) {
|
||||||
|
AudioManager.instance.playSFX('Eliminate_Icon');
|
||||||
|
this.rollerManager.deleteIconNode(pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, 1.2)
|
||||||
|
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.upLayer.setWinGrayNode(false);
|
||||||
|
}, DELETE_TIME)
|
||||||
|
}
|
||||||
|
|
||||||
|
onAllRollerIconsDeleted() {
|
||||||
|
this.upLayer.giveBackAllSpecials(this.rollerManager);
|
||||||
|
this.upLayer.setWinGrayNode(false);
|
||||||
|
// 要在播放碎裂动画完成之后再展示
|
||||||
|
this.node.emit(SLOT_GAME_EVENT.ALL_ROLLER_ICONS_DELETED);
|
||||||
|
}
|
||||||
|
|
||||||
|
createNewIconTop(spinData: any) {
|
||||||
|
this.spinData = spinData;
|
||||||
|
this.parsedData = this.parseGameData(spinData, this._lastRemoveData);
|
||||||
|
this._lastRemoveData = this.parsedData.RemoveData.slice(); // ← 更新为本轮
|
||||||
|
this.rollerManager.createNewIconTop(this.parsedData.NewIconTop);
|
||||||
|
}
|
||||||
|
|
||||||
|
onAllRollerIconsCreated() {
|
||||||
|
this.node.emit(SLOT_GAME_EVENT.ALL_ROLLER_ICONS_CREATED);
|
||||||
|
}
|
||||||
|
|
||||||
|
IconFallDown() {
|
||||||
|
// this.setWaysCount(this.waysNum);
|
||||||
|
this.rollerManager.iconFallDown();
|
||||||
|
}
|
||||||
|
|
||||||
|
onAllRollerIconsFallen() {
|
||||||
|
this.upLayer.resetAndSyncAllSpecials(this.rollerManager);
|
||||||
|
let delay = this.parsedData.hasSmallGame ? 2 : 0;
|
||||||
|
if (this.parsedData.hasSmallGame) {
|
||||||
|
this.upLayer.playScatterSpine(true);
|
||||||
|
AudioManager.instance.playSFX('Before_Small_Game');
|
||||||
|
}
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
if (this.parsedData.hasSmallGame) {
|
||||||
|
this.upLayer.playScatterSpine(false);
|
||||||
|
}
|
||||||
|
}, delay);
|
||||||
|
this.node.emit(SLOT_GAME_EVENT.ALL_ROLLER_ICONS_FALLEN);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 设置按钮可以点击并且置灰的函数
|
||||||
|
setBtnEnable(btn: Button | Node, enable: boolean) {
|
||||||
|
if (btn instanceof Button) {
|
||||||
|
btn.interactable = enable;
|
||||||
|
this.setNodeOpacity(btn.node, enable ? 255 : 180);
|
||||||
|
} else {
|
||||||
|
btn.getComponent(Button).interactable = enable;
|
||||||
|
this.setNodeOpacity(btn, enable ? 255 : 180);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setBtnEnableForBol(btn: Button | Node, bol: boolean) {
|
||||||
|
if (btn instanceof Button) {
|
||||||
|
btn.interactable = bol;
|
||||||
|
} else {
|
||||||
|
btn.getComponent(Button).interactable = bol;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setNodeOpacity(node: Node, opacity: number) {
|
||||||
|
node.getComponent(UIOpacity).opacity = opacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
setFastSpin(isFastSpin: boolean) {
|
||||||
|
this.rollerManager.setFastSpin(isFastSpin);
|
||||||
|
}
|
||||||
|
|
||||||
|
isScroll() {
|
||||||
|
return this.rollerManager.isScroll();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
parseGameData(spinData: any, lastRemoveData: number[]): IParsedGameData {
|
||||||
|
let { Symbol, WinInfo, Free } = spinData || {};
|
||||||
|
let serverPanData: number[] = Symbol.Middle;
|
||||||
|
|
||||||
|
let removeData: number[] = [];
|
||||||
|
if (WinInfo != null && WinInfo.Desc != null) {
|
||||||
|
for (let symbolId in WinInfo.Desc) {
|
||||||
|
let descItem = WinInfo.Desc[symbolId];
|
||||||
|
if (descItem?.Middle) {
|
||||||
|
descItem.Middle.forEach((pos: number) => removeData.push(pos));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let NUM_COLS = 6;
|
||||||
|
let ROWS_PER_COL = 5;
|
||||||
|
let newIconTop: number[][] = [];
|
||||||
|
|
||||||
|
for (let col = 0; col < NUM_COLS; col++) {
|
||||||
|
let colStart = col * ROWS_PER_COL;
|
||||||
|
|
||||||
|
// 上一轮该列被消除了多少个
|
||||||
|
let removedInCol = lastRemoveData.filter(
|
||||||
|
p => p >= colStart && p < colStart + ROWS_PER_COL
|
||||||
|
).length;
|
||||||
|
|
||||||
|
// 本轮 middle 该列顶部 removedInCol 个 = 从顶部新落入的图标
|
||||||
|
let newColIcons: number[] = [];
|
||||||
|
for (let row = 0; row < removedInCol; row++) {
|
||||||
|
let serverIconId = serverPanData[colStart + row];
|
||||||
|
let clientIconId = ICON_SERVER_MAP[serverIconId];
|
||||||
|
newColIcons.push(clientIconId);
|
||||||
|
}
|
||||||
|
newIconTop.push(newColIcons);
|
||||||
|
}
|
||||||
|
|
||||||
|
let scatterPos: number[] = [];
|
||||||
|
let bombPos: number[] = [];
|
||||||
|
let panData: number[] = [];
|
||||||
|
|
||||||
|
for (let i = 0; i < serverPanData.length; i++) {
|
||||||
|
let iconId = ICON_SERVER_MAP[serverPanData[i]];
|
||||||
|
panData.push(iconId);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let i = 0; i < panData.length; i++) {
|
||||||
|
let iconId = panData[i];
|
||||||
|
if (iconId == 0) scatterPos.push(i);
|
||||||
|
if (iconId == 10) bombPos.push(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
let hasScatterExpect = scatterPos.length >= 2;
|
||||||
|
if (hasScatterExpect && scatterPos.length == 2) {
|
||||||
|
if (this.rollerManager.getLx(scatterPos[1]) == 5) {
|
||||||
|
hasScatterExpect = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let freeIsSame = Free == null ? false : Free.LeftCount !== Free.MaxCount;
|
||||||
|
console.log(newIconTop, 'newIconTop');
|
||||||
|
return {
|
||||||
|
Multi: 0,
|
||||||
|
PanData: panData,
|
||||||
|
RemoveData: removeData,
|
||||||
|
NewIconTop: newIconTop,
|
||||||
|
HasScatterExpect: hasScatterExpect,
|
||||||
|
ScatterPos: scatterPos,
|
||||||
|
BombPos: bombPos,
|
||||||
|
hasSmallGame: scatterPos.length >= 4,
|
||||||
|
hasFreeSpinAgain: scatterPos.length >= 3 && freeIsSame,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------购买相关-----------------------------
|
||||||
|
onClickFeatureBuy() {
|
||||||
|
|
||||||
|
this.setBtnEnableForBol(this.featureBuyNode, false);
|
||||||
|
this.setBtnEnableForBol(this.doubleWinBtnNode, false);
|
||||||
|
|
||||||
|
let maliao = this.featureBuyNode.getChildByName('3_4').getComponent(sp.Skeleton);
|
||||||
|
maliao.setAnimation(0, 'animation', false);
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
let zhuankuai = this.featureBuyNode.getChildByName('3_3').getComponent(sp.Skeleton);
|
||||||
|
zhuankuai.setAnimation(0, '2', false);
|
||||||
|
|
||||||
|
let goldSpine = this.featureBuyNode.getChildByName('3_1').getComponent(sp.Skeleton);
|
||||||
|
goldSpine.setAnimation(0, '2', false);
|
||||||
|
goldSpine.setCompleteListener(() => {
|
||||||
|
goldSpine.setAnimation(0, '1', true);
|
||||||
|
goldSpine.setCompleteListener(null);
|
||||||
|
let scp = null;
|
||||||
|
UIManager.instance.showPopupDynamic('FeatureBuyPopUp', 'Prefab/FeatureBuyPopUp', 'Game', (prefab) => {
|
||||||
|
let main = prefab.getChildByName('main');
|
||||||
|
scp = prefab.getComponent(FeatureBuyPopup);
|
||||||
|
scp.show();
|
||||||
|
let freeNeedCount = main.getChildByName('buyFreeSpin').getChildByName('needCount');
|
||||||
|
freeNeedCount.getComponent(Label).string = `$${gold2cash(GameDataManager.instance.curBet * 100)}`;
|
||||||
|
|
||||||
|
let superFreeNeedCount = main.getChildByName('buySuperFreeSpin').getChildByName('needCount');
|
||||||
|
superFreeNeedCount.getComponent(Label).string = `$${gold2cash(GameDataManager.instance.curBet * 500)}`;
|
||||||
|
}, (prefab) => {
|
||||||
|
|
||||||
|
}, () => {
|
||||||
|
let buyType = scp.BuyType;
|
||||||
|
this.node.emit(SLOT_GAME_EVENT.FEATURE_BUY, buyType);
|
||||||
|
this.setBtnEnable(this.featureBuyNode, false);
|
||||||
|
this.setBtnEnable(this.doubleWinBtnNode, false);
|
||||||
|
AudioManager.instance.playSFX('Click_Small_Game_Start');
|
||||||
|
}, () => {
|
||||||
|
this.setBtnEnable(this.featureBuyNode, true);
|
||||||
|
this.setBtnEnable(this.doubleWinBtnNode, true);
|
||||||
|
AudioManager.instance.playSFX('Click_Small_Game_Cancel');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
let flower = this.featureBuyNode.getChildByName('3_2').getComponent(sp.Skeleton);
|
||||||
|
flower.setAnimation(0, 'animation', false);
|
||||||
|
}, 0.1)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
setFeatureBuyActive(bol: boolean) {
|
||||||
|
this.featureBuyActive = bol;
|
||||||
|
this.refreshBuyBtnState(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
showPos = new Vec3(-294, -329, 0);
|
||||||
|
hidePos = new Vec3(-1080, -329, 0);
|
||||||
|
hideFeatureBuy() {
|
||||||
|
Tween.stopAllByTarget(this.featureBuyNode);
|
||||||
|
this.setBtnEnable(this.featureBuyNode, false);
|
||||||
|
tween(this.featureBuyNode)
|
||||||
|
.to(0.1, { position: this.hidePos })
|
||||||
|
.call(() => {
|
||||||
|
this.featureBuyNode.setPosition(this.hidePos);
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
showFeatureBuy(bol: boolean) {
|
||||||
|
if (bol) {
|
||||||
|
this.hideFeatureBuy();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Tween.stopAllByTarget(this.featureBuyNode);
|
||||||
|
this.setBtnEnable(this.featureBuyNode, false);
|
||||||
|
tween(this.featureBuyNode)
|
||||||
|
.to(0.1, { position: this.showPos })
|
||||||
|
.call(() => {
|
||||||
|
this.setBtnEnable(this.featureBuyNode, true);
|
||||||
|
this.featureBuyNode.setPosition(this.showPos);
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
setFeatureBuyBtnEnable(bol: boolean) {
|
||||||
|
if (GameDataManager.instance.gameInfo.CloseBuyGame) return;
|
||||||
|
this.featureBuyBtnEnabled = bol;
|
||||||
|
this.refreshBuyBtnState(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
9
assets/Game/Scripts/SlotGame.ts.meta
Normal file
9
assets/Game/Scripts/SlotGame.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "39da6372-213e-4314-9e3e-34dea6ef6687",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
199
assets/Game/Scripts/SlotMsg.ts
Normal file
199
assets/Game/Scripts/SlotMsg.ts
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
import { _decorator, Component, instantiate, Label, Node, sp, Sprite, Tween, tween, UIOpacity, UITransform, v3, Vec3 } from 'cc';
|
||||||
|
import { I18nManager } from '../../Main/Scripts/managers/I18nManager';
|
||||||
|
import { getLanguage, gold2cash } from '../../Main/Scripts/main/comm';
|
||||||
|
import { UIManager } from '../../Main/Scripts/managers/UIManager';
|
||||||
|
import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('SlotMsg')
|
||||||
|
export class SlotMsg extends Component {
|
||||||
|
|
||||||
|
// 展示文字信息
|
||||||
|
@property(sp.Skeleton)
|
||||||
|
smallMsgSpine: sp.Skeleton = null;
|
||||||
|
|
||||||
|
// 展示普通赢分信息
|
||||||
|
@property(sp.Skeleton)
|
||||||
|
middleMsgSpine: sp.Skeleton = null;
|
||||||
|
|
||||||
|
// 展示总赢分信息
|
||||||
|
@property(sp.Skeleton)
|
||||||
|
largeMsgSpine: sp.Skeleton = null;
|
||||||
|
|
||||||
|
@property(Sprite)
|
||||||
|
i18nSpriteMsg: Sprite = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
grayMsgNode: Node = null;
|
||||||
|
|
||||||
|
protected onLoad(): void {
|
||||||
|
this.grayMsgNode.active = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
startPos: Vec3 = new Vec3(-259.5, 0, 0);
|
||||||
|
maxWidth: number = 540;
|
||||||
|
showLabelMsgForTween() {
|
||||||
|
Tween.stopAllByTarget(this.i18nSpriteMsg.node);
|
||||||
|
this.smallMsgSpine.node.active = true;
|
||||||
|
this.smallMsgSpine.setAnimation(0, '2', false);
|
||||||
|
this.smallMsgSpine.setCompleteListener(() => {
|
||||||
|
this.smallMsgSpine.setAnimation(0, '1', true);
|
||||||
|
this.smallMsgSpine.setCompleteListener(null);
|
||||||
|
});
|
||||||
|
this.middleMsgSpine.node.active = false;
|
||||||
|
this.largeMsgSpine.node.active = false;
|
||||||
|
|
||||||
|
let add = 0;
|
||||||
|
let isFirst = true;
|
||||||
|
let startPos = new Vec3(0, 0, 0);
|
||||||
|
let endPos = new Vec3(0, 0, 0);
|
||||||
|
let speed = 1080 / 8;
|
||||||
|
let delayTime = 0;
|
||||||
|
let moveTime = 0;
|
||||||
|
// 通过数字获取name
|
||||||
|
let spriteName = ['Normal1', 'Normal6', 'Normal8', 'Normal9'];
|
||||||
|
let setSpriteFrame = () => {
|
||||||
|
startPos.x = this.startPos.x;
|
||||||
|
let spriteFrame = I18nManager.instance.getSpriteFrame(spriteName[add]);
|
||||||
|
this.i18nSpriteMsg.spriteFrame = spriteFrame;
|
||||||
|
let distane = spriteFrame.rect.width + 109;
|
||||||
|
let X = -430 - distane;
|
||||||
|
endPos.x = X;
|
||||||
|
delayTime = 1;
|
||||||
|
moveTime = distane / speed;
|
||||||
|
|
||||||
|
if (spriteFrame.rect.width < this.maxWidth) {
|
||||||
|
startPos.x = -spriteFrame.rect.width / 2;
|
||||||
|
endPos.x = -spriteFrame.rect.width / 2;
|
||||||
|
delayTime = 2;
|
||||||
|
moveTime = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setSpriteFrame();
|
||||||
|
let tweenFun = () => {
|
||||||
|
tween(this.i18nSpriteMsg.node)
|
||||||
|
.set({ position: startPos })
|
||||||
|
.delay(delayTime)
|
||||||
|
.to(moveTime, { position: endPos })
|
||||||
|
.call(() => {
|
||||||
|
isFirst = false;
|
||||||
|
add = add + 1 >= spriteName.length ? 0 : add + 1;
|
||||||
|
setSpriteFrame();
|
||||||
|
tweenFun();
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
tweenFun();
|
||||||
|
}
|
||||||
|
|
||||||
|
showTotalWinAnimaiton(startScore: number, endScore: number, cb) {
|
||||||
|
this.smallMsgSpine.node.active = false;
|
||||||
|
this.middleMsgSpine.node.active = false;
|
||||||
|
this.largeMsgSpine.node.active = true;
|
||||||
|
this.largeMsgSpine.setAnimation(0, '2', false);
|
||||||
|
this.largeMsgSpine.setCompleteListener(() => {
|
||||||
|
this.largeMsgSpine.setAnimation(0, '1', true);
|
||||||
|
this.largeMsgSpine.setCompleteListener(null);
|
||||||
|
});
|
||||||
|
|
||||||
|
let msg = this.largeMsgSpine.node.getChildByName('msg');
|
||||||
|
let winCount = msg.getChildByName('winCount');
|
||||||
|
winCount.getComponent(Label).string = gold2cash(startScore);
|
||||||
|
|
||||||
|
AudioManager.instance.playSFX('Gold_Up');
|
||||||
|
UIManager.instance.tweenScorelinear(startScore, endScore, 2)
|
||||||
|
.onUpdate((v: number) => {
|
||||||
|
winCount.getComponent(Label).string = gold2cash(v);
|
||||||
|
})
|
||||||
|
.onComplete(() => {
|
||||||
|
winCount.getComponent(Label).string = gold2cash(endScore);
|
||||||
|
AudioManager.instance.stopSFX('Gold_Up');
|
||||||
|
tween(winCount)
|
||||||
|
.to(0.2, { scale: v3(1.1, 1.1, 1.1) })
|
||||||
|
.to(0.2, { scale: v3(1, 1, 1) })
|
||||||
|
.start()
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
if (cb) cb();
|
||||||
|
}, 1)
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
showWinMsg(endScore: number) {
|
||||||
|
if (endScore === 0) return;
|
||||||
|
this.smallMsgSpine.node.active = false;
|
||||||
|
this.middleMsgSpine.node.active = true;
|
||||||
|
this.largeMsgSpine.node.active = false;
|
||||||
|
this.middleMsgSpine.setAnimation(0, '2', false);
|
||||||
|
this.middleMsgSpine.setCompleteListener(() => {
|
||||||
|
this.middleMsgSpine.setAnimation(0, '1', true);
|
||||||
|
this.middleMsgSpine.setCompleteListener(null);
|
||||||
|
});
|
||||||
|
|
||||||
|
let msg = this.middleMsgSpine.node.getChildByName('msg');
|
||||||
|
let winCount = msg.getChildByName('winCount');
|
||||||
|
winCount.getComponent(Label).string = gold2cash(endScore);
|
||||||
|
}
|
||||||
|
|
||||||
|
showTotalWinMsg(endScore: number) {
|
||||||
|
if (endScore === 0) return;
|
||||||
|
this.smallMsgSpine.node.active = false;
|
||||||
|
this.middleMsgSpine.node.active = false;
|
||||||
|
this.largeMsgSpine.node.active = true;
|
||||||
|
this.largeMsgSpine.setAnimation(0, '2', false);
|
||||||
|
this.largeMsgSpine.setCompleteListener(() => {
|
||||||
|
this.largeMsgSpine.setAnimation(0, '1', true);
|
||||||
|
this.largeMsgSpine.setCompleteListener(null);
|
||||||
|
});
|
||||||
|
|
||||||
|
let msg = this.largeMsgSpine.node.getChildByName('msg');
|
||||||
|
let winCount = msg.getChildByName('winCount');
|
||||||
|
winCount.getComponent(Label).string = gold2cash(endScore);
|
||||||
|
AudioManager.instance.playSFX('Slot_Msg_Total_Win');
|
||||||
|
}
|
||||||
|
|
||||||
|
hideWinSpine() {
|
||||||
|
this.smallMsgSpine.node.active = true;
|
||||||
|
this.middleMsgSpine.node.active = false;
|
||||||
|
this.largeMsgSpine.node.active = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
showTipSmall(tips: string, Type: string = "") {
|
||||||
|
Tween.stopAllByTarget(this.grayMsgNode);
|
||||||
|
|
||||||
|
let bgWidth, bgHeigt = 0;
|
||||||
|
if (Type != "") {
|
||||||
|
this.grayMsgNode.getChildByName('layout').getChildByName('fast').active = true;
|
||||||
|
bgWidth = 142;
|
||||||
|
this.grayMsgNode.getChildByPath('layout/fast/toast_Turboon').active = Type == "onFast";
|
||||||
|
this.grayMsgNode.getChildByPath('layout/fast/toast_Turbooff').active = Type == "offFast";
|
||||||
|
} else {
|
||||||
|
this.grayMsgNode.getChildByName('layout').getChildByName('fast').active = false;
|
||||||
|
bgWidth = 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
let lab = this.grayMsgNode.getChildByPath('layout/lab').getComponent(Label);
|
||||||
|
lab.string = tips;
|
||||||
|
lab.updateRenderData(true);
|
||||||
|
let tipWidth = this.grayMsgNode.getChildByPath('layout/lab').getComponent(UITransform).width;
|
||||||
|
|
||||||
|
let frame = this.grayMsgNode.getChildByName('sp');
|
||||||
|
frame.getComponent(UITransform).setContentSize(tipWidth + bgWidth, 132);
|
||||||
|
this.grayMsgNode.setScale(0, 0, 0);
|
||||||
|
this.grayMsgNode.active = true;
|
||||||
|
tween(this.grayMsgNode)
|
||||||
|
.set({ scale: v3(0, 0, 0) })
|
||||||
|
.to(0.1, { scale: v3(1, 1, 1) })
|
||||||
|
.delay(1)
|
||||||
|
.call(() => {
|
||||||
|
this.grayMsgNode.active = false;
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
9
assets/Game/Scripts/SlotMsg.ts.meta
Normal file
9
assets/Game/Scripts/SlotMsg.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "d700d1f9-1f11-41a9-9838-bce6c662ff71",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
826
assets/Game/Scripts/SlotScene.ts
Normal file
826
assets/Game/Scripts/SlotScene.ts
Normal file
@ -0,0 +1,826 @@
|
|||||||
|
import { _decorator, Component, Node } from "cc";
|
||||||
|
import { SlotGame } from "./SlotGame";
|
||||||
|
import { SlotBar } from "./SlotBar";
|
||||||
|
import { GAME_DATA, SLOT_BAR_EVENT, SLOT_GAME_EVENT, SYS_GIFT, WIN_TYPE, } from "./Define";
|
||||||
|
import { SlotMsg } from "./SlotMsg";
|
||||||
|
import { GameDataManager } from "../../Main/Scripts/managers/GameDataManager";
|
||||||
|
import { callGameApi } from "../../Main/Scripts/main/comm";
|
||||||
|
import { I18nManager } from "../../Main/Scripts/managers/I18nManager";
|
||||||
|
import { UIManager } from "../../Main/Scripts/managers/UIManager";
|
||||||
|
import { NodePoolManager } from "../../Main/Scripts/managers/NodePoolManager";
|
||||||
|
import { FreeSpinEnterSpine } from "./FreeSpinEnterSpine";
|
||||||
|
import { TotalWinSpine } from "./TotalWinSpine";
|
||||||
|
import { AudioManager } from "../../Main/Scripts/managers/AudioManager";
|
||||||
|
import { BigWin } from "./BigWin";
|
||||||
|
import { FreeSpinAgain } from "./FreeSpinAgain";
|
||||||
|
import { SysGift } from "./SysGift";
|
||||||
|
import { ErrorManager } from "../../Main/Scripts/managers/ErrorManager";
|
||||||
|
import { SlotRanking } from "../SlotRanking/scripts/SlotRanking";
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass("SlotScene")
|
||||||
|
export class SlotScene extends Component {
|
||||||
|
@property(SlotGame)
|
||||||
|
slotGame: SlotGame = null;
|
||||||
|
|
||||||
|
@property(SlotMsg)
|
||||||
|
slotMsg: SlotMsg = null;
|
||||||
|
|
||||||
|
@property(SlotBar)
|
||||||
|
slotBar: SlotBar = null;
|
||||||
|
|
||||||
|
@property(SysGift)
|
||||||
|
sysGift: SysGift = null;
|
||||||
|
|
||||||
|
@property(SlotRanking)
|
||||||
|
slotRanking: SlotRanking = null;
|
||||||
|
|
||||||
|
isDebug: boolean = false;
|
||||||
|
isFreeSpin: boolean = false;
|
||||||
|
isFirstFreeSpin: boolean = false;
|
||||||
|
isFeatureBuySpin: boolean = false;
|
||||||
|
isDoubleWin: boolean = false;
|
||||||
|
isFastSpin: boolean = false;
|
||||||
|
isAutoSpin: boolean = false;
|
||||||
|
isReceiveMsg: boolean = false;
|
||||||
|
isOneRoundEnd: boolean = false;
|
||||||
|
|
||||||
|
hasEliminate: boolean = false;
|
||||||
|
isErr = false;
|
||||||
|
|
||||||
|
gameInfo: any = null;
|
||||||
|
spinInfo: any = null;
|
||||||
|
lastSpinInfo: any = null;
|
||||||
|
nextSpinInfo: any = null;
|
||||||
|
spinData: any = null;
|
||||||
|
nextSpinInfoPromise: Promise<any> = null;
|
||||||
|
|
||||||
|
UILayer: Node = null;
|
||||||
|
|
||||||
|
autoSpinConfig: any = {
|
||||||
|
count: 0,
|
||||||
|
delay: {
|
||||||
|
fast: 0.5,
|
||||||
|
normal: 1,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
deltedRetryCount: number = 0;
|
||||||
|
|
||||||
|
protected onLoad(): void {
|
||||||
|
this.UILayer = this.node.parent.parent.getChildByName("UILayer");
|
||||||
|
UIManager.instance.setUILayer(this.UILayer);
|
||||||
|
|
||||||
|
this.gameInfo = GameDataManager.instance.gameInfo;
|
||||||
|
this.spinInfo = GameDataManager.instance.gameInfo;
|
||||||
|
this.lastSpinInfo = GameDataManager.instance.gameInfo;
|
||||||
|
this.nextSpinInfo = null;
|
||||||
|
this.spinData = GameDataManager.instance.gameInfo.Data;
|
||||||
|
|
||||||
|
this.slotGame.rollerManager.format = true;
|
||||||
|
this.slotGame.setFeatureBuyActive(!this.gameInfo.CloseBuyGame);
|
||||||
|
|
||||||
|
this.slotRanking.setSlotScene(this);
|
||||||
|
this.slotBar.node.on(SLOT_BAR_EVENT.ON_SPIN_CLICK, this.onClickSpin, this);
|
||||||
|
this.slotBar.node.on(SLOT_BAR_EVENT.ON_MANUAL_STOP, this.onClickManualStop, this);
|
||||||
|
this.slotBar.node.on(SLOT_BAR_EVENT.FAST_SPIN, this.onClickFastSpin, this);
|
||||||
|
this.slotBar.node.on(SLOT_BAR_EVENT.BET_CHANGE, this.onBetChange, this);
|
||||||
|
this.slotBar.node.on(SLOT_BAR_EVENT.MAX_BET, this.onMaxBet, this);
|
||||||
|
this.slotBar.node.on(SLOT_BAR_EVENT.MIN_BET, this.onMinBet, this);
|
||||||
|
this.slotBar.node.on(SLOT_BAR_EVENT.OPEN_MENU, this.onOpenMenu, this);
|
||||||
|
this.slotBar.node.on(SLOT_BAR_EVENT.CLOSE_MENU, this.onCloseMenu, this);
|
||||||
|
this.slotBar.node.on(SLOT_BAR_EVENT.ON_AUTO_SPIN_CLICK, this.onAutoSpin, this);
|
||||||
|
|
||||||
|
this.sysGift.node.on(SYS_GIFT.CLICK_CONTINUE, this.onSysGiftClickContinue, this);
|
||||||
|
this.sysGift.node.on(SYS_GIFT.SETTLE_CONTINUE, this.onSysGiftSettleContinue, this);
|
||||||
|
|
||||||
|
this.slotGame.node.on(SLOT_GAME_EVENT.ALL_ROLLER_STOP, this.allRollerStop, this);
|
||||||
|
this.slotGame.node.on(SLOT_GAME_EVENT.ALL_ROLLER_ICONS_DELETED, this.onAllRollerIconsDeleted, this);
|
||||||
|
this.slotGame.node.on(SLOT_GAME_EVENT.ALL_ROLLER_ICONS_CREATED, this.onAllRollerIconsCreated, this);
|
||||||
|
this.slotGame.node.on(SLOT_GAME_EVENT.ALL_ROLLER_ICONS_FALLEN, this.onAllRollerIconsFallen, this);
|
||||||
|
this.slotGame.node.on(SLOT_GAME_EVENT.FEATURE_BUY, this.onFeatureBuy, this);
|
||||||
|
this.slotGame.node.on(SLOT_GAME_EVENT.ON_DOUBLE_WIN_CLICK, this.onClickDoubleWin, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
async start() {
|
||||||
|
if (this.isDebug) {
|
||||||
|
this.slotGame.initRollerWithIcon(GAME_DATA);
|
||||||
|
} else {
|
||||||
|
this.slotGame.initRollerWithIcon(this.spinData);
|
||||||
|
}
|
||||||
|
GameDataManager.instance.canClickIconMsg = false;
|
||||||
|
this.slotBar.setGameInfo(this.gameInfo);
|
||||||
|
this.slotMsg.showLabelMsgForTween();
|
||||||
|
this.updateGameState();
|
||||||
|
this.isFreeSpin = this.spinData.Free != null && this.spinData && this.spinData.Free && this.spinData.Free.LeftCount > 0;
|
||||||
|
if (this.isFreeSpin) {
|
||||||
|
this.slotBar.setLeftCount(this.spinData.Free.LeftCount);
|
||||||
|
}
|
||||||
|
this.slotBar.updateIsFreeSpin(this.isFreeSpin);
|
||||||
|
if (!this.gameInfo.CloseBuyGame) {
|
||||||
|
this.slotGame.setFeatureBuyActive(!(this.slotBar.getBet() * this.gameInfo.BuyMul > this.gameInfo.MaxBuyBet));
|
||||||
|
}
|
||||||
|
this.updateBg(this.isFreeSpin);
|
||||||
|
|
||||||
|
let frb = GameDataManager.instance.frb;
|
||||||
|
if (frb && frb.Ongoing?.Popup) {
|
||||||
|
let frb = GameDataManager.instance.frb;
|
||||||
|
if (frb && (frb.Finished || frb.Ongoing)) {
|
||||||
|
this.slotBar.setSystemGiftContinue();
|
||||||
|
}
|
||||||
|
this.sysGift.showOngingPopup();
|
||||||
|
} else {
|
||||||
|
this.handleReconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.isFreeSpin ? AudioManager.instance.playBGM("Free_Bg_Bgm") : AudioManager.instance.playBGM("Normal_Bg_Bgm");
|
||||||
|
}
|
||||||
|
|
||||||
|
updateBg(isFreeSpin: boolean) {
|
||||||
|
this.slotGame.updateGameBg(isFreeSpin);
|
||||||
|
}
|
||||||
|
|
||||||
|
async handleReconnect() {
|
||||||
|
if (this.hasEliminate) {
|
||||||
|
this.slotBar.manualStop(this.hasEliminate);
|
||||||
|
this.slotGame.playIconWinAni(this.spinData);
|
||||||
|
this.slotMsg.showWinMsg(this.spinData.AllScore);
|
||||||
|
if (this.isDebug) {
|
||||||
|
this.nextSpinInfo = GAME_DATA;
|
||||||
|
} else {
|
||||||
|
this.nextSpinInfoPromise = this.spinWithRetry(this.slotBar.getBet());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.handleRoundEnd(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickDoubleWin(doubleWinIsOn: boolean) {
|
||||||
|
this.isDoubleWin = doubleWinIsOn;
|
||||||
|
|
||||||
|
let bet = this.slotBar.getBet();
|
||||||
|
let displayBet = doubleWinIsOn ? bet * 1.25 : bet;
|
||||||
|
this.slotBar.setDisplayBet(displayBet);
|
||||||
|
}
|
||||||
|
|
||||||
|
async onClickSpin(buyType: number = 0) {
|
||||||
|
GameDataManager.instance.canClickIconMsg = false;
|
||||||
|
this.nextSpinInfo = null;
|
||||||
|
this.nextSpinInfoPromise = null;
|
||||||
|
this.isReceiveMsg = false;
|
||||||
|
this.isOneRoundEnd = false;
|
||||||
|
this.isErr = false;
|
||||||
|
this.slotGame.startScroll(this.isFreeSpin);
|
||||||
|
// 重置
|
||||||
|
this.slotMsg.hideWinSpine();
|
||||||
|
if (!this.isFreeSpin) { this.slotBar.setWin(0); }
|
||||||
|
|
||||||
|
let msg = !this.isFeatureBuySpin && buyType == 0
|
||||||
|
? {
|
||||||
|
Bet: this.slotBar.getBet(),
|
||||||
|
IsDouble: this.isDoubleWin,
|
||||||
|
}
|
||||||
|
: {
|
||||||
|
Bet: this.slotBar.getBet(),
|
||||||
|
IsBuy: true,
|
||||||
|
BuyType: buyType,
|
||||||
|
IsDouble: this.isDoubleWin,
|
||||||
|
};
|
||||||
|
try {
|
||||||
|
this.spinInfo = !this.isDebug ? await this.spinWithRetryMsg(msg) : GAME_DATA;
|
||||||
|
this.subBalacne();
|
||||||
|
this.handleSpinResult();
|
||||||
|
this.slotGame.stopScroll(this.spinData);
|
||||||
|
} catch (error) {
|
||||||
|
this.isErr = true;
|
||||||
|
let errCode = parseInt(error.message.split("#")[0]);
|
||||||
|
if (isNaN(errCode)) {
|
||||||
|
ErrorManager.instance.reportError("onClickSpin: " + error.message);
|
||||||
|
this.showErrorTip(5, error.message, null);
|
||||||
|
this.handleErrSpin();
|
||||||
|
} else {
|
||||||
|
this.showErrorTip(errCode, "");
|
||||||
|
this.handleErrSpin();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async onClickManualStop() {
|
||||||
|
if (!this.isReceiveMsg) return;
|
||||||
|
if (this.isFreeSpin) return;
|
||||||
|
if (!this.slotGame.isScroll()) return;
|
||||||
|
this.slotBar.manualStop(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickFastSpin(isFast: boolean) {
|
||||||
|
this.isFastSpin = isFast;
|
||||||
|
let tip = isFast
|
||||||
|
? I18nManager.instance.t("AID_TIP_TURBO_ENABLED")
|
||||||
|
: I18nManager.instance.t("AID_TIP_TURBO_DISABLED");
|
||||||
|
this.slotMsg.showTipSmall(tip, isFast ? "onFast" : "offFast");
|
||||||
|
if (!this.slotGame.isScroll()) this.slotGame.setFastSpin(isFast);
|
||||||
|
}
|
||||||
|
|
||||||
|
onBetChange(bet: number) {
|
||||||
|
if (!this.gameInfo.CloseBuyGame) {
|
||||||
|
this.slotGame.setFeatureBuyActive(
|
||||||
|
!(bet * this.gameInfo.BuyMul > this.gameInfo.MaxBuyBet)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.isDoubleWin) {
|
||||||
|
this.slotBar.setDisplayBet(bet * 1.25);
|
||||||
|
}
|
||||||
|
this.slotGame.refreshDoubleWinCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
onMaxBet() {
|
||||||
|
let tip = I18nManager.instance.t("AID_TIP_MAX_BET");
|
||||||
|
this.slotMsg.showTipSmall(tip);
|
||||||
|
}
|
||||||
|
onMinBet() {
|
||||||
|
let tip = I18nManager.instance.t("AID_TIP_MIN_BET");
|
||||||
|
this.slotMsg.showTipSmall(tip);
|
||||||
|
}
|
||||||
|
|
||||||
|
onOpenMenu() {
|
||||||
|
this.slotGame.hideFeatureBuy();
|
||||||
|
}
|
||||||
|
|
||||||
|
onCloseMenu() {
|
||||||
|
if (this.gameInfo.CloseBuyGame) return;
|
||||||
|
this.slotGame.showFeatureBuy(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
onAutoSpin(isAutoSpin: boolean) {
|
||||||
|
this.isAutoSpin = isAutoSpin;
|
||||||
|
this.autoSpinConfig.count = GameDataManager.instance.autoCount;
|
||||||
|
|
||||||
|
if (isAutoSpin) {
|
||||||
|
this.slotGame.setFeatureBuyBtnEnable(false);
|
||||||
|
this.checkAutoSpin();
|
||||||
|
} else {
|
||||||
|
if (!this.slotGame.rollerManager.isScroll()) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onSysGiftClickContinue(bet: number) {
|
||||||
|
let frb = GameDataManager.instance.frb;
|
||||||
|
if (frb && frb.Ongoing) {
|
||||||
|
frb.Ongoing.Popup = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.handleReconnect();
|
||||||
|
this.slotBar.setSysGiftBet(bet * 10000);
|
||||||
|
}
|
||||||
|
|
||||||
|
onSysGiftSettleContinue() {
|
||||||
|
let frb = GameDataManager.instance.frb;
|
||||||
|
if (frb && frb.Finished) {
|
||||||
|
frb.Finished.Popup = false;
|
||||||
|
}
|
||||||
|
GameDataManager.instance.frb.Finished = null;
|
||||||
|
this.slotBar.setSystemGiftConfirm();
|
||||||
|
this.slotGame.setFeatureBuyBtnEnable(true);
|
||||||
|
this.slotBar.resetAllBtn();
|
||||||
|
}
|
||||||
|
|
||||||
|
checkAutoSpin(hasWin: boolean = false) {
|
||||||
|
let handleAutoSpin = () => {
|
||||||
|
if (this.autoSpinConfig.count > 0) {
|
||||||
|
this.autoSpinConfig.count--;
|
||||||
|
this.slotBar.setLeftAutoCount(this.autoSpinConfig.count);
|
||||||
|
this.slotBar.hasClickSpin = false;
|
||||||
|
this.slotBar.hasClickManualStop = false;
|
||||||
|
this.slotBar.onClickSpin();
|
||||||
|
if (this.autoSpinConfig.count === 0) {
|
||||||
|
this.slotBar.closeAutoSpin();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let handleNoAutoSpin = (hasWin: boolean) => {
|
||||||
|
let frb = GameDataManager.instance.frb;
|
||||||
|
if (frb.Finished?.Popup) {
|
||||||
|
this.sysGift.showSysFreeWinSettle();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (frb.Ongoing?.Popup) {
|
||||||
|
this.sysGift.showOngingPopup();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (frb.Finished == null && frb.Ongoing?.Popup == false) {
|
||||||
|
this.slotBar.resetAllBtn();
|
||||||
|
if (frb && (frb.Finished || frb.Ongoing)) {
|
||||||
|
this.slotBar.setSystemGiftContinue();
|
||||||
|
this.sysGift.handleSysInfoFreeWin();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (frb.Finished == null && frb.Ongoing == null) {
|
||||||
|
this.slotBar.resetAllBtn();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (frb.Ongoing?.Popup) {
|
||||||
|
this.slotBar.resetAllBtn();
|
||||||
|
this.slotBar.setSystemGiftContinue();
|
||||||
|
}
|
||||||
|
this.autoSpinConfig.count = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (this.isFirstFreeSpin) return;
|
||||||
|
|
||||||
|
let delay = this.isFastSpin
|
||||||
|
? this.autoSpinConfig.delay.fast
|
||||||
|
: this.autoSpinConfig.delay.normal;
|
||||||
|
if (this.isAutoSpin && this.autoSpinConfig.count > 0) {
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
handleAutoSpin();
|
||||||
|
}, delay);
|
||||||
|
} else {
|
||||||
|
handleNoAutoSpin(hasWin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onFeatureBuy(buyType: number) {
|
||||||
|
this.isFeatureBuySpin = true;
|
||||||
|
this.slotBar.featureBuySpin();
|
||||||
|
this.onClickSpin(buyType);
|
||||||
|
}
|
||||||
|
|
||||||
|
async allRollerStop() {
|
||||||
|
this.updateGameState();
|
||||||
|
|
||||||
|
this.slotBar.manualStop(this.hasEliminate);
|
||||||
|
if (this.hasEliminate) this.slotBar.spinBtnSpineEliminate();
|
||||||
|
// 如果本次有消除,则进行删除工作。
|
||||||
|
if (this.hasEliminate) {
|
||||||
|
this.slotGame.playIconWinAni(this.spinData);
|
||||||
|
this.slotMsg.showWinMsg(this.spinData.AllScore);
|
||||||
|
if (this.isDebug) {
|
||||||
|
this.nextSpinInfo = GAME_DATA;
|
||||||
|
} else {
|
||||||
|
this.nextSpinInfoPromise = this.spinWithRetry(this.slotBar.getBet());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.handleRoundEnd();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async onAllRollerIconsDeleted() {
|
||||||
|
this.isReceiveMsg = false;
|
||||||
|
this.isErr = false;
|
||||||
|
if (this.nextSpinInfo == null) {
|
||||||
|
if (this.isDebug) {
|
||||||
|
this.nextSpinInfo = GAME_DATA;
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
this.nextSpinInfo = await this.nextSpinInfoPromise;
|
||||||
|
} catch (error) {
|
||||||
|
this.isErr = true;
|
||||||
|
let errCode = parseInt(error.message.split("#")[0]);
|
||||||
|
if (isNaN(errCode)) {
|
||||||
|
ErrorManager.instance.reportError(
|
||||||
|
"onIconsDeleted: " + error.message
|
||||||
|
);
|
||||||
|
this.nextSpinInfo = null;
|
||||||
|
this.nextSpinInfoPromise = null;
|
||||||
|
this.showErrorTip(5, error.message, null);
|
||||||
|
this.handleErrSpin();
|
||||||
|
} else {
|
||||||
|
this.showErrorTip(errCode, "");
|
||||||
|
this.handleErrSpin();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.spinInfo = this.nextSpinInfo;
|
||||||
|
this.nextSpinInfo = null;
|
||||||
|
this.nextSpinInfoPromise = null;
|
||||||
|
this.handleSpinResult();
|
||||||
|
this.updateGameState();
|
||||||
|
this.slotGame.createNewIconTop(this.spinData);
|
||||||
|
}
|
||||||
|
|
||||||
|
onAllRollerIconsCreated() {
|
||||||
|
this.slotGame.IconFallDown();
|
||||||
|
}
|
||||||
|
|
||||||
|
async onAllRollerIconsFallen() {
|
||||||
|
if (this.hasEliminate) {
|
||||||
|
this.slotGame.playIconWinAni(this.spinData);
|
||||||
|
this.slotMsg.showWinMsg(this.spinData.AllScore);
|
||||||
|
if (this.isDebug) {
|
||||||
|
this.nextSpinInfo = GAME_DATA;
|
||||||
|
} else {
|
||||||
|
this.nextSpinInfoPromise = this.spinWithRetry(this.slotBar.getBet());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.handleRoundEnd();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理了这次的数据结果
|
||||||
|
handleSpinResult() {
|
||||||
|
this.lastSpinInfo = this.spinInfo;
|
||||||
|
this.spinData = this.spinInfo.Data;
|
||||||
|
// this.spinData.AllScore = 700000;
|
||||||
|
this.isReceiveMsg = true;
|
||||||
|
if (this.spinInfo.Frb.Ongoing && this.isAutoSpin)
|
||||||
|
this.slotBar.closeAutoSpin();
|
||||||
|
if (!this.isDebug) GameDataManager.instance.frb = this.spinInfo.Frb;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理当前游戏状态
|
||||||
|
updateGameState() {
|
||||||
|
this.isFeatureBuySpin = false;
|
||||||
|
this.isFirstFreeSpin = false;
|
||||||
|
this.slotGame.setFastSpin(this.isFastSpin);
|
||||||
|
this.isFreeSpin = this.spinData.Free != null;
|
||||||
|
if (this.isFreeSpin) {
|
||||||
|
this.slotBar.curFreeSpinScore = 0;
|
||||||
|
this.isFirstFreeSpin = this.spinData.Free.LeftCount == this.spinData.Free.MaxCount;
|
||||||
|
}
|
||||||
|
this.hasEliminate = this.spinData.RoundInfo.Current !== this.spinData.RoundInfo.Total;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理当前小局结束
|
||||||
|
handleRoundEnd(isReconnect: boolean = false) {
|
||||||
|
if (this.isFreeSpin) {
|
||||||
|
if (this.isFirstFreeSpin) {
|
||||||
|
this.updateBg(true);
|
||||||
|
this.slotBar.updateIsFreeSpin(true);
|
||||||
|
this.slotBar.setLeftCount(this.spinData.Free.MaxCount);
|
||||||
|
NodePoolManager.instance.getNodeFromPoolDynamic("FreeSpinEnter", "Prefab/FreeSpinEnter", "Game").then((prefab: Node) => {
|
||||||
|
this.node.addChild(prefab);
|
||||||
|
let freeCount = this.spinData.Free.MaxCount;
|
||||||
|
prefab.getComponent(FreeSpinEnterSpine).showEnterAni(freeCount, () => {
|
||||||
|
AudioManager.instance.playBGM("Free_Bg_Bgm");
|
||||||
|
NodePoolManager.instance.putNodeToPool("FreeSpinEnter", prefab);
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.handleNextFreeSpin(this.spinData.Free.LeftCount - 1);
|
||||||
|
}, 1);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
if (!isReconnect) {
|
||||||
|
this.handleBigWin(() => {
|
||||||
|
this.handleFreeSpinAgain(() => {
|
||||||
|
this.slotBar.setLeftCount(this.spinData.Free.LeftCount);
|
||||||
|
if (this.isErr) {
|
||||||
|
this.updateBg(false);
|
||||||
|
if (
|
||||||
|
!this.isAutoSpin &&
|
||||||
|
GameDataManager.instance.frb.Finished == null &&
|
||||||
|
GameDataManager.instance.frb.Ongoing == null
|
||||||
|
) {
|
||||||
|
this.slotGame.setFeatureBuyBtnEnable(true);
|
||||||
|
}
|
||||||
|
this.slotBar.updateIsFreeSpin(false);
|
||||||
|
this.checkAutoSpin(this.spinData.AllScore > 0);
|
||||||
|
|
||||||
|
AudioManager.instance.playBGM("Normal_Bg_Bgm");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (this.spinData.Free.LeftCount == 0 && this.spinData.RoundInfo.Current == this.spinData.RoundInfo.Total) {
|
||||||
|
this.isFreeSpin = false;
|
||||||
|
|
||||||
|
this.slotBar.updatePlayerMsg(this.spinData, null, true);
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.slotMsg.showTotalWinAnimaiton(this.spinData.AllScore, this.spinData.AllScore, () => {
|
||||||
|
NodePoolManager.instance.getNodeFromPoolDynamic("TotalWinSpine", "Prefab/TotalWinSpine", "Game").then((prefab: Node) => {
|
||||||
|
AudioManager.instance.playBGM("Total_Win_Bgm");
|
||||||
|
this.node.addChild(prefab);
|
||||||
|
prefab.getComponent(TotalWinSpine).showTotalWinSpine(this.spinData.AllScore, () => {
|
||||||
|
this.updateBg(false);
|
||||||
|
if (!this.isAutoSpin && GameDataManager.instance.frb.Finished == null && GameDataManager.instance.frb.Ongoing == null) {
|
||||||
|
this.slotGame.setFeatureBuyBtnEnable(true);
|
||||||
|
}
|
||||||
|
this.slotBar.updateIsFreeSpin(false);
|
||||||
|
this.checkAutoSpin(this.spinData.AllScore > 0);
|
||||||
|
AudioManager.instance.playBGM("Normal_Bg_Bgm");
|
||||||
|
NodePoolManager.instance.putNodeToPool("TotalWinSpine", prefab);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}, 1);
|
||||||
|
} else {
|
||||||
|
this.slotBar.updateWinMsg(this.spinData.AllScore, true);
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.handleNextFreeSpin(this.spinData.Free.LeftCount - 1);
|
||||||
|
}, 1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
if (this.spinData.Free.LeftCount == 0 && this.spinData.RoundInfo.Current == this.spinData.RoundInfo.Total) {
|
||||||
|
this.isFreeSpin = false;
|
||||||
|
this.slotMsg.showTotalWinMsg(this.spinData.AllScore);
|
||||||
|
this.slotBar.updatePlayerMsg(this.spinData, () => {
|
||||||
|
this.updateBg(false);
|
||||||
|
this.slotBar.updateIsFreeSpin(false);
|
||||||
|
this.slotBar.resetAllBtn();
|
||||||
|
if (
|
||||||
|
GameDataManager.instance.frb.Finished != null ||
|
||||||
|
GameDataManager.instance.frb.Ongoing != null
|
||||||
|
) {
|
||||||
|
this.slotBar.setSystemGiftContinue();
|
||||||
|
this.slotGame.setFeatureBuyBtnEnable(false);
|
||||||
|
} else {
|
||||||
|
this.slotGame.setFeatureBuyBtnEnable(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.slotBar.updateWinMsg(this.spinData.AllScore);
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.handleNextFreeSpin(this.spinData.Free.LeftCount - 1);
|
||||||
|
}, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (isReconnect) {
|
||||||
|
this.slotBar.updatePlayerMsg(this.spinData, () => {
|
||||||
|
this.updateBg(false);
|
||||||
|
this.slotBar.updateIsFreeSpin(false);
|
||||||
|
this.slotBar.resetAllBtn();
|
||||||
|
if (GameDataManager.instance.frb.Finished != null || GameDataManager.instance.frb.Ongoing != null) {
|
||||||
|
this.slotBar.setSystemGiftContinue();
|
||||||
|
this.slotGame.setFeatureBuyBtnEnable(false);
|
||||||
|
} else {
|
||||||
|
this.slotGame.setFeatureBuyBtnEnable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.slotMsg.showTotalWinMsg(this.spinData.AllScore);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.slotMsg.showTotalWinMsg(this.spinData.AllScore);
|
||||||
|
this.handleBigWin(() => {
|
||||||
|
this.slotBar.updatePlayerMsg(this.spinData, () => {
|
||||||
|
this.updateBg(false);
|
||||||
|
if (
|
||||||
|
!this.isAutoSpin &&
|
||||||
|
GameDataManager.instance.frb.Finished == null &&
|
||||||
|
GameDataManager.instance.frb.Ongoing == null
|
||||||
|
) {
|
||||||
|
this.slotGame.setFeatureBuyBtnEnable(true);
|
||||||
|
}
|
||||||
|
this.slotBar.updateIsFreeSpin(false);
|
||||||
|
this.checkAutoSpin(this.spinData.AllScore > 0);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
handleBigWin(callBack: () => void) {
|
||||||
|
let score = this.isFreeSpin
|
||||||
|
? this.spinData.SpinScore
|
||||||
|
: this.spinData.AllScore;
|
||||||
|
// score = 7000000000;
|
||||||
|
let winType = score ? this.checkWinType(score) : WIN_TYPE.NONE;
|
||||||
|
if (winType >= WIN_TYPE.BIG_WIN) {
|
||||||
|
NodePoolManager.instance
|
||||||
|
.getNodeFromPoolDynamic("BigWin", "Prefab/BigWin", "Game")
|
||||||
|
.then((prefab: Node) => {
|
||||||
|
this.node.addChild(prefab);
|
||||||
|
prefab
|
||||||
|
.getComponent(BigWin)
|
||||||
|
.open(
|
||||||
|
winType,
|
||||||
|
score,
|
||||||
|
this.slotBar.getBet(),
|
||||||
|
callBack,
|
||||||
|
this.isFreeSpin
|
||||||
|
);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
callBack();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
handleFreeSpinAgain(callBack: () => void) {
|
||||||
|
if (!this.slotGame.parsedData.hasFreeSpinAgain) {
|
||||||
|
callBack();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
NodePoolManager.instance.getNodeFromPoolDynamic("FreeSpinAgain", "Prefab/FreeSpinAgain", "Game").then((prefab: Node) => {
|
||||||
|
this.node.addChild(prefab);
|
||||||
|
prefab.getComponent(FreeSpinAgain).showAgain(callBack);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
checkWinType(score: number) {
|
||||||
|
let winType = WIN_TYPE.NORMAL_WIN;
|
||||||
|
let bet = this.slotBar.getBet();
|
||||||
|
let multi = score / bet;
|
||||||
|
if (multi == 0) {
|
||||||
|
winType = WIN_TYPE.NONE;
|
||||||
|
} else if (multi > 0 && multi < 20) {
|
||||||
|
winType = WIN_TYPE.NORMAL_WIN;
|
||||||
|
} else if (multi >= 20 && multi < 35) {
|
||||||
|
winType = WIN_TYPE.BIG_WIN;
|
||||||
|
} else if (multi >= 35 && multi < 50) {
|
||||||
|
winType = WIN_TYPE.MEGA_WIN;
|
||||||
|
} else if (multi >= 50) {
|
||||||
|
winType = WIN_TYPE.SUPER_MEGA_WIN;
|
||||||
|
}
|
||||||
|
return winType;
|
||||||
|
}
|
||||||
|
|
||||||
|
handleNextFreeSpin(leftCount: number) {
|
||||||
|
this.isFreeSpin = true;
|
||||||
|
this.slotBar.setLeftCount(leftCount);
|
||||||
|
|
||||||
|
this.onClickSpin();
|
||||||
|
this.slotBar.node.getChildByName("stopBtn").active = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 扣除金币 */
|
||||||
|
subBalacne() {
|
||||||
|
let frb = GameDataManager.instance.frb;
|
||||||
|
if (this.spinInfo.Frb && this.spinInfo.Frb.Ongoing != null) {
|
||||||
|
if (!this.isFreeSpin) {
|
||||||
|
let count = this.spinInfo.Frb.Ongoing.Frn;
|
||||||
|
if (count <= 0) {
|
||||||
|
count = 0;
|
||||||
|
}
|
||||||
|
this.sysGift.handleSysInfoFreeCount(count);
|
||||||
|
}
|
||||||
|
} else if (this.spinInfo.Frb && this.spinInfo.Frb.Finished != null) {
|
||||||
|
if (!this.isFreeSpin) {
|
||||||
|
let count = this.spinInfo.Frb.Finished.Frn;
|
||||||
|
if (count <= 0) {
|
||||||
|
count = 0;
|
||||||
|
}
|
||||||
|
this.sysGift.handleSysInfoFreeCount(count);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!this.isFreeSpin) {
|
||||||
|
if (!this.isFeatureBuySpin) {
|
||||||
|
let spinCost = this.isDoubleWin
|
||||||
|
? this.slotBar.getBet() * 1.25
|
||||||
|
: this.slotBar.getBet();
|
||||||
|
|
||||||
|
this.slotBar.setBalance(
|
||||||
|
this.slotBar.getBalance() - spinCost
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
this.slotBar.setBalance(
|
||||||
|
this.slotBar.getBalance() -
|
||||||
|
this.slotBar.getBet() * this.gameInfo.BuyMul
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
testBtn() {
|
||||||
|
NodePoolManager.instance
|
||||||
|
.getNodeFromPoolDynamic("FreeSpinEnter", "Prefab/FreeSpinEnter", "Game")
|
||||||
|
.then((prefab: Node) => {
|
||||||
|
this.node.addChild(prefab);
|
||||||
|
let freeCount = 10; //this.spinData.FreeSpin.MaxCount;
|
||||||
|
freeCount = 10;
|
||||||
|
prefab.getComponent(FreeSpinEnterSpine).showEnterAni(freeCount, () => {
|
||||||
|
NodePoolManager.instance.putNodeToPool("FreeSpinEnter", prefab);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
showErrorTip(errcode: number, errMsg: string, callBack?) {
|
||||||
|
let title = I18nManager.instance.t("AID_ERROR_TITLE");
|
||||||
|
let msg = "";
|
||||||
|
if (UIManager.instance.getHasTip()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
switch (errcode) {
|
||||||
|
case 1:
|
||||||
|
msg = `${I18nManager.instance.t(
|
||||||
|
"AID_ERROR_CONTENT_1"
|
||||||
|
)}\n${I18nManager.instance.t("AID_ERROR_CODE_1")}`;
|
||||||
|
UIManager.instance.showTipMessagePanel(
|
||||||
|
title,
|
||||||
|
msg,
|
||||||
|
true,
|
||||||
|
() => {
|
||||||
|
window.close();
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
I18nManager.instance.t("AID_QUIT_RIGHT_BUTTON")
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
msg = `${I18nManager.instance.t(
|
||||||
|
"AID_ERROR_CONTENT_2"
|
||||||
|
)}\n${I18nManager.instance.t("AID_ERROR_CODE_2")}`;
|
||||||
|
UIManager.instance.showTipMessagePanel(
|
||||||
|
title,
|
||||||
|
msg,
|
||||||
|
true,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
I18nManager.instance.t("AID_ERROR_OK_BUTTON")
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
msg = `${I18nManager.instance.t(
|
||||||
|
"AID_ERROR_CONTENT_3"
|
||||||
|
)}\n${I18nManager.instance.t("AID_ERROR_CODE_3")}`;
|
||||||
|
UIManager.instance.showTipMessagePanel(
|
||||||
|
title,
|
||||||
|
msg,
|
||||||
|
true,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
I18nManager.instance.t("AID_ERROR_OK_BUTTON")
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
msg = `${I18nManager.instance.t(
|
||||||
|
"AID_ERROR_CONTENT_4"
|
||||||
|
)}\n${I18nManager.instance.t("AID_ERROR_CODE_4")}`;
|
||||||
|
UIManager.instance.showTipMessagePanel(
|
||||||
|
title,
|
||||||
|
msg,
|
||||||
|
true,
|
||||||
|
() => {
|
||||||
|
window.close();
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
I18nManager.instance.t("AID_QUIT_RIGHT_BUTTON")
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
msg = `${I18nManager.instance.t(
|
||||||
|
"AID_ERROR_CONTENT_4"
|
||||||
|
)}\n${I18nManager.instance.t("AID_ERROR_CODE_4")}`;
|
||||||
|
UIManager.instance.showTipMessagePanel(
|
||||||
|
title,
|
||||||
|
msg,
|
||||||
|
false,
|
||||||
|
null,
|
||||||
|
() => {
|
||||||
|
window.close();
|
||||||
|
},
|
||||||
|
I18nManager.instance.t("AID_ERROR_RETRY_BUTTON"),
|
||||||
|
I18nManager.instance.t("AID_QUIT_RIGHT_BUTTON")
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
handleErrSpin() {
|
||||||
|
this.spinInfo = this.lastSpinInfo;
|
||||||
|
this.spinData = this.spinInfo.Data;
|
||||||
|
this.isAutoSpin = false;
|
||||||
|
this.spinData.AllScore = 0;
|
||||||
|
this.spinData.SpinScore = 0;
|
||||||
|
this.slotGame.stopScroll(this.spinData);
|
||||||
|
this.slotBar.setBalance(this.spinInfo.Balance);
|
||||||
|
}
|
||||||
|
|
||||||
|
async spinWithRetry(bet: number, maxTry: number = 5, initialDelay: number = 0.5): Promise<any> {
|
||||||
|
let delay = initialDelay;
|
||||||
|
for (let i = 0; i < maxTry; i++) {
|
||||||
|
if (!this.node || !this.node.isValid) throw new Error("node_invalid");
|
||||||
|
try {
|
||||||
|
return await callGameApi("spin", { Bet: bet });
|
||||||
|
} catch (e) {
|
||||||
|
let m = (e as any)?.message ?? "";
|
||||||
|
let code = parseInt(String(m).split("#")[0]);
|
||||||
|
if (!isNaN(code)) throw e; // 已知业务错误码:不重试
|
||||||
|
if (i === maxTry - 1) throw e; // 到达上限
|
||||||
|
await new Promise<void>((resolve) =>
|
||||||
|
this.scheduleOnce(() => resolve(), delay)
|
||||||
|
);
|
||||||
|
delay = Math.min(delay * 2, 2); // 指数退避,上限 2s
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new Error("retry_exhausted");
|
||||||
|
}
|
||||||
|
|
||||||
|
async spinWithRetryMsg(msg: any, maxTry: number = 5, initialDelay: number = 0.5): Promise<any> {
|
||||||
|
let delay = initialDelay;
|
||||||
|
for (let i = 0; i < maxTry; i++) {
|
||||||
|
if (!this.node || !this.node.isValid) throw new Error("node_invalid");
|
||||||
|
try {
|
||||||
|
return await callGameApi("spin", msg);
|
||||||
|
} catch (e) {
|
||||||
|
let m = (e as any)?.message ?? "";
|
||||||
|
let code = parseInt(String(m).split("#")[0]);
|
||||||
|
if (!isNaN(code)) throw e; // 已知业务错误码:不重试
|
||||||
|
if (i === maxTry - 1) throw e;
|
||||||
|
await new Promise<void>((resolve) =>
|
||||||
|
this.scheduleOnce(() => resolve(), delay)
|
||||||
|
);
|
||||||
|
delay = Math.min(delay * 2, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new Error("retry_exhausted");
|
||||||
|
}
|
||||||
|
}
|
||||||
9
assets/Game/Scripts/SlotScene.ts.meta
Normal file
9
assets/Game/Scripts/SlotScene.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "869a6736-75fa-4957-93e2-a1500927f2e4",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
155
assets/Game/Scripts/SysGift.ts
Normal file
155
assets/Game/Scripts/SysGift.ts
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
import { _decorator, Component, Label, Node, Sprite, tween, Vec3 } from 'cc';
|
||||||
|
import { SYS_GIFT } from './Define';
|
||||||
|
import { GameDataManager } from '../../Main/Scripts/managers/GameDataManager';
|
||||||
|
import { LocalizedSprite } from '../../Main/Scripts/i18n/LocalizedSprite';
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('SysGift')
|
||||||
|
export class SysGift extends Component {
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
info: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
confirm: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
settle: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
bg: Node = null;
|
||||||
|
|
||||||
|
fixedBet: number = -1;
|
||||||
|
totalWin: number = -1;
|
||||||
|
|
||||||
|
onLoad(): void {
|
||||||
|
// let sp_win = this.info.getChildByName("sysgift_win");
|
||||||
|
// sp_win.getComponent(LocalizedSprite).updateSprite();
|
||||||
|
// let scale = 116 / sp_win.getComponent(Sprite).spriteFrame.width;
|
||||||
|
// sp_win.setScale(scale, scale, scale);
|
||||||
|
// this.bg = this.node.getChildByName("bg");
|
||||||
|
// this.hideAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
hideAll() {
|
||||||
|
this.node.active = true;
|
||||||
|
this.bg.active = false;
|
||||||
|
this.confirm.active = false
|
||||||
|
this.settle.active = false
|
||||||
|
this.info.active = false
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**确认领取free spin, 下注额固定其他控件半透明且不可交互*/
|
||||||
|
onClickContinue() {
|
||||||
|
this.hide(this.confirm)
|
||||||
|
let frb = GameDataManager.instance.frb
|
||||||
|
if (!frb) return;
|
||||||
|
|
||||||
|
let txt_spin_num = this.info.getChildByName("count")
|
||||||
|
txt_spin_num.getComponent(Label).string = (frb.Ongoing.Frn.toLocaleString())
|
||||||
|
|
||||||
|
|
||||||
|
let txt_win = this.info.getChildByName("win")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
let num = Math.round(frb.Ongoing.Fra * 100 + 1e-6) / 100;
|
||||||
|
txt_win.getComponent(Label).string = num.toLocaleString('en-US', {
|
||||||
|
minimumFractionDigits: 2,
|
||||||
|
maximumFractionDigits: 2
|
||||||
|
})
|
||||||
|
|
||||||
|
this.info.active = true;
|
||||||
|
this.node.emit(SYS_GIFT.CLICK_CONTINUE, this.fixedBet);
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickConfirm() {
|
||||||
|
this.hide(this.settle);
|
||||||
|
this.node.emit(SYS_GIFT.SETTLE_CONTINUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 打开confirm的弹窗 */
|
||||||
|
showOngingPopup() {
|
||||||
|
if (this.confirm.active) return;
|
||||||
|
let frb = GameDataManager.instance.frb;
|
||||||
|
if (!frb) return;
|
||||||
|
|
||||||
|
this.fixedBet = frb.Ongoing.Bet
|
||||||
|
if (frb.Ongoing.Popup) {
|
||||||
|
this.confirm.getChildByName("count").getComponent(Label).string = frb.Ongoing.Frn.toLocaleString()
|
||||||
|
this.show(this.confirm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** 打开settle的win */
|
||||||
|
showSysFreeWinSettle() {
|
||||||
|
let frb = GameDataManager.instance.frb;
|
||||||
|
if (!frb) return;
|
||||||
|
if (frb.Finished?.Popup) {
|
||||||
|
let win = this.settle.getChildByName('win');
|
||||||
|
let num = Math.round(frb.Finished.Fra * 100 + 1e-6) / 100;
|
||||||
|
win.getComponent(Label).string = num.toLocaleString('en-US', {
|
||||||
|
minimumFractionDigits: 2,
|
||||||
|
maximumFractionDigits: 2
|
||||||
|
})
|
||||||
|
this.show(this.settle);
|
||||||
|
this.info.active = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 设置info的count */
|
||||||
|
handleSysInfoFreeCount(countNum: number) {
|
||||||
|
let frb = GameDataManager.instance.frb;
|
||||||
|
if (!frb) return;
|
||||||
|
if (frb.Finished == null) {
|
||||||
|
let count = this.info.getChildByName('count');
|
||||||
|
count.getComponent(Label).string = (countNum).toLocaleString();
|
||||||
|
this.show(count);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** 设置info的win */
|
||||||
|
handleSysInfoFreeWin() {
|
||||||
|
let frb = GameDataManager.instance.frb;
|
||||||
|
if (!frb) return;
|
||||||
|
if (frb.Finished == null && frb.Ongoing?.Popup == false) {
|
||||||
|
let win = this.info.getChildByName("win")
|
||||||
|
let num = Math.round(frb.Ongoing.Fra * 100 + 1e-6) / 100
|
||||||
|
win.getComponent(Label).string = num.toLocaleString('en-US', {
|
||||||
|
minimumFractionDigits: 2,
|
||||||
|
maximumFractionDigits: 2
|
||||||
|
})
|
||||||
|
this.show(win);
|
||||||
|
this.info.active = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
show(node: Node, scale: number = 1) {
|
||||||
|
node.active = true
|
||||||
|
if (node != this.settle && node != this.confirm) {
|
||||||
|
this.bg.active = false;
|
||||||
|
} else {
|
||||||
|
this.bg.active = true;
|
||||||
|
}
|
||||||
|
tween(node).to(0.1, { scale: new Vec3(0.8, 0.8, 1) })
|
||||||
|
.to(0.2, { scale: new Vec3(1.1, 1.1, 1) })
|
||||||
|
.to(0.1, { scale: new Vec3(scale, scale, scale) })
|
||||||
|
.start()
|
||||||
|
}
|
||||||
|
|
||||||
|
hide(node) {
|
||||||
|
this.bg.active = false;
|
||||||
|
tween(node).to(0.1, { scale: new Vec3(1.1, 1.1, 1) })
|
||||||
|
.to(0.2, { scale: new Vec3(0.8, 0.8, 1) })
|
||||||
|
.call(() => {
|
||||||
|
node.active = false
|
||||||
|
node.scale = new Vec3(1, 1, 1)
|
||||||
|
})
|
||||||
|
.start()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
9
assets/Game/Scripts/SysGift.ts.meta
Normal file
9
assets/Game/Scripts/SysGift.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "f9355816-a04e-433e-b08a-bf2c9941c40e",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
88
assets/Game/Scripts/TotalWinSpine.ts
Normal file
88
assets/Game/Scripts/TotalWinSpine.ts
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
import { _decorator, Component, Label, Node, sp, Tween, tween, Vec3 } from 'cc';
|
||||||
|
import { UIManager } from '../../Main/Scripts/managers/UIManager';
|
||||||
|
import { gold2cash, gold2cash2 } from '../../Main/Scripts/main/comm';
|
||||||
|
import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('TotalWinSpine')
|
||||||
|
export class TotalWinSpine extends Component {
|
||||||
|
@property(Node)
|
||||||
|
mainNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
fsTotalWinSpineNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
totalWinCount: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
collectBtn: Node = null;
|
||||||
|
|
||||||
|
totalWinCountValue: number = 0;
|
||||||
|
labelController: any = null;
|
||||||
|
hasClickBtn: boolean = false;
|
||||||
|
closeCallBack: () => void = null;
|
||||||
|
|
||||||
|
showTotalWinSpine(totalWinCount: number, cb) {
|
||||||
|
this.closeCallBack = cb;
|
||||||
|
this.totalWinCountValue = totalWinCount;
|
||||||
|
this.totalWinCount.getComponent(Label).string = '0.00';
|
||||||
|
this.collectBtn.active = false;
|
||||||
|
this.hasClickBtn = false;
|
||||||
|
this.node.getChildByName('grayBg').once(Node.EventType.TOUCH_START, this.onClickGrayBg, this);
|
||||||
|
|
||||||
|
tween(this.fsTotalWinSpineNode)
|
||||||
|
.set({ scale: new Vec3(1.1, 1.1, 1.1) })
|
||||||
|
.to(5, { scale: new Vec3(1, 1, 1) })
|
||||||
|
.call(() => {
|
||||||
|
this.collectBtn.active = true;
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
|
||||||
|
|
||||||
|
tween(this.mainNode)
|
||||||
|
.set({ scale: new Vec3(0, 0, 0) })
|
||||||
|
.to(0.5, { scale: new Vec3(1, 1, 1) }, { easing: 'bounceOut' })
|
||||||
|
.start();
|
||||||
|
|
||||||
|
AudioManager.instance.playSFX('Gold_Up');
|
||||||
|
this.labelController = UIManager.instance.tweenScorelinear(0, totalWinCount, 2)
|
||||||
|
.onUpdate((v: number) => {
|
||||||
|
this.totalWinCount.getComponent(Label).string = gold2cash(v);
|
||||||
|
})
|
||||||
|
.onComplete(() => {
|
||||||
|
AudioManager.instance.playBGM('Total_Win_Last_Bgm');
|
||||||
|
this.collectBtn.active = true;
|
||||||
|
this.totalWinCount.getComponent(Label).string = gold2cash(totalWinCount);
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.onClickCollectBtn();
|
||||||
|
}, 5);
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickGrayBg() {
|
||||||
|
AudioManager.instance.playBGM('Total_Win_Last_Bgm');
|
||||||
|
this.node.getChildByName('grayBg').off(Node.EventType.TOUCH_START, this.onClickGrayBg, this);
|
||||||
|
Tween.stopAllByTarget(this.labelController.holder);
|
||||||
|
AudioManager.instance.stopSFX('Gold_Up');
|
||||||
|
this.collectBtn.active = true;
|
||||||
|
this.totalWinCount.getComponent(Label).string = gold2cash(this.totalWinCountValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickCollectBtn() {
|
||||||
|
if (this.hasClickBtn) return;
|
||||||
|
this.hasClickBtn = true;
|
||||||
|
AudioManager.instance.playSFX('Click_Small_Game_Start');
|
||||||
|
tween(this.collectBtn)
|
||||||
|
.to(0.1, { scale: new Vec3(1.1, 1.1, 1.1) })
|
||||||
|
.to(0.1, { scale: new Vec3(1, 1, 1) })
|
||||||
|
.call(() => {
|
||||||
|
this.unscheduleAllCallbacks();
|
||||||
|
this.closeCallBack();
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
9
assets/Game/Scripts/TotalWinSpine.ts.meta
Normal file
9
assets/Game/Scripts/TotalWinSpine.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "241c5c30-4736-4e7d-badd-19d9be0296aa",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
211
assets/Game/Scripts/UpLayer.ts
Normal file
211
assets/Game/Scripts/UpLayer.ts
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
import { _decorator, Component, instantiate, Node, Prefab, sp, tween, UIOpacity, UITransform, v3 } from 'cc';
|
||||||
|
import { Icon } from './Icon';
|
||||||
|
import { Roller } from './Roller';
|
||||||
|
import { RollerManager } from './RollerManager';
|
||||||
|
let { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('UpLayer')
|
||||||
|
export class UpLayer extends Component {
|
||||||
|
@property(Node)
|
||||||
|
readHandLayer: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
wildLayer: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
readyHandGrayNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
scatterLayer: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
readyHandNode: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
winLayer: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
winGrayLayer: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
winSpineLayer: Node = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
winIconLayer: Node = null;
|
||||||
|
|
||||||
|
@property(Prefab)
|
||||||
|
winSpinePrefab: Prefab = null;
|
||||||
|
|
||||||
|
// 统一隐藏所有层
|
||||||
|
hideAllLayer() {
|
||||||
|
this.readHandLayer.active = false;
|
||||||
|
this.wildLayer.active = false;
|
||||||
|
this.readyHandGrayNode.active = false;
|
||||||
|
this.scatterLayer.active = false;
|
||||||
|
this.readyHandNode.active = false;
|
||||||
|
|
||||||
|
this.winLayer.active = false;
|
||||||
|
this.winGrayLayer.active = false;
|
||||||
|
this.winSpineLayer.active = false;
|
||||||
|
this.winIconLayer.active = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ---------------------------------------winIconLayer相关 ---------------------------------------
|
||||||
|
setWinLayerActive(bol: boolean) {
|
||||||
|
this.winLayer.active = bol;
|
||||||
|
this.winIconLayer.active = bol;
|
||||||
|
this.winSpineLayer.active = bol;
|
||||||
|
this.setWinGrayNode(bol);
|
||||||
|
}
|
||||||
|
|
||||||
|
setWinGrayNode(bool: boolean) {
|
||||||
|
this.winLayer.active = true;
|
||||||
|
this.winSpineLayer.active = true;
|
||||||
|
let uiOpacity = this.winGrayLayer.getComponent(UIOpacity);
|
||||||
|
if (bool) {
|
||||||
|
this.winGrayLayer.active = bool;
|
||||||
|
uiOpacity.opacity = 0;
|
||||||
|
tween(uiOpacity)
|
||||||
|
.to(0.1, { opacity: 255 })
|
||||||
|
.start();
|
||||||
|
} else {
|
||||||
|
uiOpacity.opacity = 255;
|
||||||
|
tween(uiOpacity)
|
||||||
|
.to(0.1, { opacity: 0 })
|
||||||
|
.call(() => {
|
||||||
|
this.winLayer.active = false;
|
||||||
|
this.winSpineLayer.active = false;
|
||||||
|
this.winGrayLayer.active = bool;
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
playIconWinAni(iconNode: Node) {
|
||||||
|
this.winLayer.active = true;
|
||||||
|
this.winSpineLayer.active = true;
|
||||||
|
this.winIconLayer.active = true;
|
||||||
|
let iconWorldPosition = iconNode.getWorldPosition();
|
||||||
|
let iconLocalPosition = this.winIconLayer.getComponent(UITransform).convertToNodeSpaceAR(iconWorldPosition);
|
||||||
|
iconNode.parent = this.winIconLayer;
|
||||||
|
iconNode.setPosition(iconLocalPosition);
|
||||||
|
iconNode.getComponent(Icon).playBounceSpine();
|
||||||
|
|
||||||
|
let winSpineNode = instantiate(this.winSpinePrefab);
|
||||||
|
let spine = winSpineNode.getChildByName('spine').getComponent(sp.Skeleton);
|
||||||
|
winSpineNode.parent = this.winSpineLayer;
|
||||||
|
winSpineNode.setPosition(iconLocalPosition);
|
||||||
|
winSpineNode.setSiblingIndex(9999);
|
||||||
|
spine.setCompleteListener(null);
|
||||||
|
spine.setCompleteListener(() => {
|
||||||
|
winSpineNode.destroy();
|
||||||
|
});
|
||||||
|
spine.setAnimation(0, 'animation', false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ---------------------------------------readyHandNode、scatterLayer、wildLayer相关 ---------------------------------------
|
||||||
|
adopted = new Map<Node, { rollerId: number; startPos: number; height: number; type: 'wild' | 'scatter' }>();
|
||||||
|
|
||||||
|
hideReadHandLayer() {
|
||||||
|
this.readHandLayer.active = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
setSpecialLayersActive() {
|
||||||
|
let hasWild = Array.from(this.adopted.values()).some(v => v.type === 'wild');
|
||||||
|
let hasScatter = Array.from(this.adopted.values()).some(v => v.type === 'scatter');
|
||||||
|
this.readHandLayer.active = hasWild || hasScatter;
|
||||||
|
this.wildLayer.active = hasWild;
|
||||||
|
this.scatterLayer.active = hasScatter;
|
||||||
|
}
|
||||||
|
|
||||||
|
adoptSpecial(node: Node, rollerId: number, startPos: number, height: number, type: 'wild' | 'scatter') {
|
||||||
|
if (!node || !node.isValid) return;
|
||||||
|
if (this.adopted.has(node)) return;
|
||||||
|
|
||||||
|
let wp = node.worldPosition.clone();
|
||||||
|
let layer = type === 'wild' ? this.wildLayer : this.scatterLayer;
|
||||||
|
layer.active = true;
|
||||||
|
|
||||||
|
node.parent = layer;
|
||||||
|
node.setWorldPosition(wp);
|
||||||
|
node.setSiblingIndex(9999);
|
||||||
|
|
||||||
|
this.adopted.set(node, { rollerId, startPos, height, type });
|
||||||
|
this.setSpecialLayersActive();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 增量同步某列(停轮/单列落定时可用)
|
||||||
|
syncSpecialFromRoller(roller: Roller) {
|
||||||
|
if (!roller) return;
|
||||||
|
let seen = new Set<Node>();
|
||||||
|
for (let i = 0; i < roller.row; i++) {
|
||||||
|
let n = (roller as any).getIconNode(i);
|
||||||
|
if (!n || seen.has(n)) continue;
|
||||||
|
seen.add(n);
|
||||||
|
|
||||||
|
let icon = n.getComponent(Icon);
|
||||||
|
if (!icon || !icon.isWildOrScatter) continue;
|
||||||
|
|
||||||
|
let msg = (roller as any).getNodeMsgFromPos(i);
|
||||||
|
if (!msg) continue;
|
||||||
|
|
||||||
|
let type: 'wild' | 'scatter' = icon.index === 0 ? 'wild' : 'scatter';
|
||||||
|
this.adoptSpecial(msg.node, roller.rollerId, msg.start, msg.height, type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除前:去登记,避免后续“归还”
|
||||||
|
removeSpecialByNode(node: Node) {
|
||||||
|
if (!node) return;
|
||||||
|
if (this.adopted.delete(node)) this.setSpecialLayersActive();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 统一归还(开新轮或重算前调用)
|
||||||
|
giveBackAllSpecials(rm: RollerManager) {
|
||||||
|
if (!rm) return;
|
||||||
|
this.adopted.forEach((info, node) => {
|
||||||
|
if (!node || !node.isValid) return;
|
||||||
|
let roller = rm.allRollers[info.rollerId];
|
||||||
|
if (!roller) return;
|
||||||
|
node.parent = roller.node;
|
||||||
|
node.setPosition(roller.getIconPosition(info.startPos, info.height));
|
||||||
|
});
|
||||||
|
this.adopted.clear();
|
||||||
|
this.setSpecialLayersActive();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 全量重算:不累加,重新扫描所有列
|
||||||
|
resetAndSyncAllSpecials(rm: RollerManager) {
|
||||||
|
if (!rm) return;
|
||||||
|
this.giveBackAllSpecials(rm); // 清空旧数据与节点
|
||||||
|
for (let i = 0; i < rm.allRollers.length; i++) {
|
||||||
|
this.syncSpecialFromRoller(rm.allRollers[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
playReadyHandAni(rollerId: number) {
|
||||||
|
this.readHandLayer.active = true;
|
||||||
|
this.setReadHandSkeletonActive(true);
|
||||||
|
this.readyHandNode.getComponent(sp.Skeleton).setAnimation(0, 'animation', true);
|
||||||
|
|
||||||
|
this.readyHandGrayNode.children.forEach(child => child.active = true)
|
||||||
|
this.readyHandGrayNode.children[rollerId].active = false;
|
||||||
|
|
||||||
|
this.readyHandNode.setPosition(this.readyHandGrayNode.children[rollerId].position.clone());
|
||||||
|
}
|
||||||
|
|
||||||
|
setReadHandSkeletonActive(bol: boolean) {
|
||||||
|
this.readyHandNode.active = bol;
|
||||||
|
this.readyHandGrayNode.active = bol;
|
||||||
|
}
|
||||||
|
|
||||||
|
playScatterSpine(bol: boolean) {
|
||||||
|
this.scatterLayer.children.forEach(child => child.getComponent(Icon).playScatterWaitSpine(bol));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
9
assets/Game/Scripts/UpLayer.ts.meta
Normal file
9
assets/Game/Scripts/UpLayer.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "7c2d264f-1587-492c-abfe-0c8fcbb02c4b",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
123
assets/Game/Scripts/WebView.ts
Normal file
123
assets/Game/Scripts/WebView.ts
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
import { _decorator, Component, director, Label, log, Node, tween, UITransform, v3, Vec3, view, WebView } from 'cc';
|
||||||
|
import { getHistoryUrl, getOddsUrl, getSupportUrl } from '../../Main/Scripts/main/comm';
|
||||||
|
import { I18nManager } from '../../Main/Scripts/managers/I18nManager';
|
||||||
|
import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
|
||||||
|
import { NodePoolManager } from '../../Main/Scripts/managers/NodePoolManager';
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass('webView')
|
||||||
|
export class webView extends Component {
|
||||||
|
@property(WebView)
|
||||||
|
webV: WebView = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
mainNode: Node = null;
|
||||||
|
|
||||||
|
@property(Label)
|
||||||
|
title: Label = null;
|
||||||
|
|
||||||
|
@property(Node)
|
||||||
|
loadingView: Node = null;
|
||||||
|
|
||||||
|
startPos = v3(0, 0, 0);
|
||||||
|
endPos = v3(0, 0, 0);
|
||||||
|
|
||||||
|
onLoad(): void {
|
||||||
|
this.startPos.y = -view.getVisibleSize().height;
|
||||||
|
this.endPos.y = 0;
|
||||||
|
this.mainNode.active = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
start(): void {
|
||||||
|
this.webV.node.on(WebView.EventType.LOADED, this.webViewLoaded, this);
|
||||||
|
this.webV.node.on(WebView.EventType.ERROR, this.webViewError, this);
|
||||||
|
this.webV.node.on(WebView.EventType.LOADING, this.webViewLoading, this);
|
||||||
|
const waitForIframe = () => {
|
||||||
|
const iframe = document.querySelector('iframe');
|
||||||
|
if (iframe) {
|
||||||
|
iframe.setAttribute('scrolling', 'no');
|
||||||
|
iframe.setAttribute('sandbox', 'allow-same-origin allow-scripts allow-forms allow-top-navigation-by-user-activation allow-popups');
|
||||||
|
} else {
|
||||||
|
setTimeout(waitForIframe, 100);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
waitForIframe();
|
||||||
|
}
|
||||||
|
|
||||||
|
webViewLoading() {
|
||||||
|
this.loadingView.active = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
webViewLoaded() {
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
this.loadingView.active = false;
|
||||||
|
this.webV.node.active = true;
|
||||||
|
}, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
webViewError() {
|
||||||
|
console.error('WebView load failed');
|
||||||
|
this.loadingView.active = false;
|
||||||
|
// 可以显示错误提示
|
||||||
|
this.onBtnClose();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 'http://192.168.0.30:5173/#/rp_fortuneRabbit/support?l=en';
|
||||||
|
async open(param: string) {
|
||||||
|
try {
|
||||||
|
this.mainNode.active = true;
|
||||||
|
this.mainNode.setPosition(this.startPos);
|
||||||
|
tween(this.mainNode)
|
||||||
|
.set({ position: this.startPos })
|
||||||
|
.call(() => {
|
||||||
|
this.mainNode.active = true;
|
||||||
|
})
|
||||||
|
.to(0.2, { position: this.endPos }, { easing: 'quadOut' })
|
||||||
|
.call(() => {
|
||||||
|
this.loadingView.active = true;
|
||||||
|
// 计算初始位置 - 屏幕中心
|
||||||
|
this.webV.node.active = false;
|
||||||
|
let url = '';
|
||||||
|
let title = '';
|
||||||
|
if (param == 'rule') {
|
||||||
|
url = getSupportUrl();
|
||||||
|
title = I18nManager.instance.t('AID_MAIN_OPERATE_RULES');
|
||||||
|
} else if (param == 'paytable') {
|
||||||
|
url = getOddsUrl();
|
||||||
|
title = I18nManager.instance.t('AID_MAIN_OPERATE_PAYTABLE');
|
||||||
|
} else if (param == 'history') {
|
||||||
|
url = getHistoryUrl();
|
||||||
|
title = I18nManager.instance.t('AID_MAIN_OPERATE_HISTORY');
|
||||||
|
}
|
||||||
|
this.title.string = title;
|
||||||
|
this.webV.url = url;
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
} catch (error) {
|
||||||
|
console.error('WebView open failed:', error);
|
||||||
|
this.onBtnClose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
isClosing: boolean = false; // 添加状态标记
|
||||||
|
onBtnClose() {
|
||||||
|
// 如果正在关闭中,直接返回
|
||||||
|
if (this.isClosing) return;
|
||||||
|
tween(this.mainNode)
|
||||||
|
.to(0.2, { position: this.startPos }, { easing: 'quadOut' })
|
||||||
|
.call(() => {
|
||||||
|
this.isClosing = true; // 设置关闭状态
|
||||||
|
|
||||||
|
AudioManager.instance.playSFX('Click_Menu');
|
||||||
|
this.webV.node.off(WebView.EventType.LOADED, this.webViewLoaded, this);
|
||||||
|
this.webV.node.off(WebView.EventType.ERROR, this.webViewError, this);
|
||||||
|
this.webV.node.off(WebView.EventType.LOADING, this.webViewLoading, this);
|
||||||
|
this.node.destroy();
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
9
assets/Game/Scripts/WebView.ts.meta
Normal file
9
assets/Game/Scripts/WebView.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.24",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "33b3ef25-a29c-4934-bb87-ee5c0381eca5",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
9
assets/Game/SlotRanking.meta
Normal file
9
assets/Game/SlotRanking.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.2.0",
|
||||||
|
"importer": "directory",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "6a75c968-9ddb-4414-bf8c-cf9fc361ec07",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
9
assets/Game/SlotRanking/prefab.meta
Normal file
9
assets/Game/SlotRanking/prefab.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.2.0",
|
||||||
|
"importer": "directory",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "20f9f4b6-7fc6-4001-89c6-a7240209ef73",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
26250
assets/Game/SlotRanking/prefab/SlotRanking.prefab
Normal file
26250
assets/Game/SlotRanking/prefab/SlotRanking.prefab
Normal file
File diff suppressed because it is too large
Load Diff
13
assets/Game/SlotRanking/prefab/SlotRanking.prefab.meta
Normal file
13
assets/Game/SlotRanking/prefab/SlotRanking.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "93f49f19-92c8-468b-a67d-b423f3be55f9",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "SlotRanking"
|
||||||
|
}
|
||||||
|
}
|
||||||
1535
assets/Game/SlotRanking/prefab/rankListItem.prefab
Normal file
1535
assets/Game/SlotRanking/prefab/rankListItem.prefab
Normal file
File diff suppressed because it is too large
Load Diff
13
assets/Game/SlotRanking/prefab/rankListItem.prefab.meta
Normal file
13
assets/Game/SlotRanking/prefab/rankListItem.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "094530e3-a444-4ada-a1f2-7d2141da235a",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "rankListItem"
|
||||||
|
}
|
||||||
|
}
|
||||||
1904
assets/Game/SlotRanking/prefab/rewardHistoryListItem.prefab
Normal file
1904
assets/Game/SlotRanking/prefab/rewardHistoryListItem.prefab
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "c50538f5-db13-41ea-b02d-08299cdd9a88",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "rewardHistoryListItem"
|
||||||
|
}
|
||||||
|
}
|
||||||
1211
assets/Game/SlotRanking/prefab/rewardListItem.prefab
Normal file
1211
assets/Game/SlotRanking/prefab/rewardListItem.prefab
Normal file
File diff suppressed because it is too large
Load Diff
13
assets/Game/SlotRanking/prefab/rewardListItem.prefab.meta
Normal file
13
assets/Game/SlotRanking/prefab/rewardListItem.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "700a6f2a-7bac-4ea3-86c2-e14928df32f6",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "rewardListItem"
|
||||||
|
}
|
||||||
|
}
|
||||||
1766
assets/Game/SlotRanking/prefab/selfRewardListItem.prefab
Normal file
1766
assets/Game/SlotRanking/prefab/selfRewardListItem.prefab
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "5c602474-bb9a-4277-a9ce-94bb99541f3b",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "selfRewardListItem"
|
||||||
|
}
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user