Merge branch 'feature/gacha' into develop
commit
4bfa05df0a
|
@ -21,5 +21,5 @@
|
|||
"library/": true,
|
||||
"**/*.anim": true
|
||||
},
|
||||
"cSpell.ignoreWords": ["Poolable", "ccclass", "endregion", "lerp"]
|
||||
"cSpell.ignoreWords": ["Gacha", "Poolable", "ccclass", "endregion", "lerp"]
|
||||
}
|
||||
|
|
|
@ -23,7 +23,11 @@
|
|||
],
|
||||
"_exoticAnimation": null,
|
||||
"_events": [],
|
||||
"_embeddedPlayers": []
|
||||
"_embeddedPlayers": [],
|
||||
"_additiveSettings": {
|
||||
"__id__": 23
|
||||
},
|
||||
"_auxiliaryCurveEntries": []
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.VectorTrack",
|
||||
|
@ -105,7 +109,7 @@
|
|||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"value": -40,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
|
@ -299,5 +303,10 @@
|
|||
"_values": [],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AnimationClipAdditiveSettings",
|
||||
"enabled": false,
|
||||
"refClip": null
|
||||
}
|
||||
]
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "22995de3-ea1d-4f64-b957-9ff35a0bb5a6",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "85f6d192-2e60-4da3-9170-7d8436913f8f",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
random-flip-card.png
|
||||
size: 1024,512
|
||||
format: RGBA8888
|
||||
filter: Linear,Linear
|
||||
repeat: none
|
||||
back
|
||||
rotate: false
|
||||
xy: 4, 4
|
||||
size: 423, 423
|
||||
orig: 423, 423
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
front
|
||||
rotate: false
|
||||
xy: 431, 4
|
||||
size: 423, 423
|
||||
orig: 423, 423
|
||||
offset: 0, 0
|
||||
index: -1
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.0.2",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "58baf684-79f6-4d9c-b11e-546a892df45d",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,316 @@
|
|||
{
|
||||
"skeleton": {
|
||||
"hash": "rPsrGVyt4kSHlUEyWQwYJ7BJ7Cc",
|
||||
"spine": "3.8.99",
|
||||
"x": -461.5,
|
||||
"y": -461.5,
|
||||
"width": 923,
|
||||
"height": 923,
|
||||
"images": "",
|
||||
"audio": ""
|
||||
},
|
||||
"bones": [
|
||||
{ "name": "root" },
|
||||
{ "name": "card1", "parent": "root", "x": -250, "y": 250 },
|
||||
{ "name": "card2", "parent": "root", "x": 250, "y": 250 },
|
||||
{ "name": "card3", "parent": "root", "x": 250, "y": -250 },
|
||||
{ "name": "card4", "parent": "root", "x": -250, "y": -250 },
|
||||
{ "name": "card1-flip", "parent": "card1" },
|
||||
{ "name": "card2-flip", "parent": "card2" },
|
||||
{ "name": "card3-flip", "parent": "card3" },
|
||||
{ "name": "card4-flip", "parent": "card4" }
|
||||
],
|
||||
"slots": [
|
||||
{ "name": "front1", "bone": "card1-flip", "color": "ffffff00", "attachment": "front" },
|
||||
{ "name": "front2", "bone": "card2-flip", "color": "ffffff00", "attachment": "front" },
|
||||
{ "name": "front3", "bone": "card3-flip", "color": "ffffff00", "attachment": "front" },
|
||||
{ "name": "front4", "bone": "card4-flip", "color": "ffffff00", "attachment": "front" },
|
||||
{ "name": "back1", "bone": "card1-flip", "attachment": "back" },
|
||||
{ "name": "back2", "bone": "card2-flip", "attachment": "back" },
|
||||
{ "name": "back3", "bone": "card3-flip", "attachment": "back" },
|
||||
{ "name": "back4", "bone": "card4-flip", "attachment": "back" }
|
||||
],
|
||||
"skins": [
|
||||
{
|
||||
"name": "default",
|
||||
"attachments": {
|
||||
"back1": {
|
||||
"back": { "width": 423, "height": 423 }
|
||||
},
|
||||
"back2": {
|
||||
"back": { "width": 423, "height": 423 }
|
||||
},
|
||||
"back3": {
|
||||
"back": { "width": 423, "height": 423 }
|
||||
},
|
||||
"back4": {
|
||||
"back": { "width": 423, "height": 423 }
|
||||
},
|
||||
"front1": {
|
||||
"front": { "width": 423, "height": 423 }
|
||||
},
|
||||
"front2": {
|
||||
"front": { "width": 423, "height": 423 }
|
||||
},
|
||||
"front3": {
|
||||
"front": { "width": 423, "height": 423 }
|
||||
},
|
||||
"front4": {
|
||||
"front": { "width": 423, "height": 423 }
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"events": {
|
||||
"card1-active": {},
|
||||
"card2-active": {},
|
||||
"card3-active": {},
|
||||
"card4-active": {}
|
||||
},
|
||||
"animations": {
|
||||
"appear": {
|
||||
"slots": {
|
||||
"back1": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1333, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"back2": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.1667, "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.3, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"back3": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.2333, "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.3667, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"back4": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.4, "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.5333, "color": "ffffffff" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"bones": {
|
||||
"card1": {
|
||||
"translate": [
|
||||
{ "y": -200.13, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1667, "y": 77.24, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2667, "y": -17.55, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4 }
|
||||
],
|
||||
"scale": [
|
||||
{ "x": 0.5, "y": 0.5, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.3 }
|
||||
]
|
||||
},
|
||||
"card2": {
|
||||
"translate": [
|
||||
{ "y": -200.13, "curve": "stepped" },
|
||||
{ "time": 0.1667, "y": -200.13, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.3333, "y": 77.24, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4333, "y": -17.55, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.5667 }
|
||||
],
|
||||
"scale": [
|
||||
{ "x": 0.5, "y": 0.5, "curve": "stepped" },
|
||||
{ "time": 0.1667, "x": 0.5, "y": 0.5, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2667, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4667 }
|
||||
]
|
||||
},
|
||||
"card3": {
|
||||
"translate": [
|
||||
{ "y": -200.13, "curve": "stepped" },
|
||||
{ "time": 0.2333, "y": -200.13, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4, "y": 77.24, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.5, "y": -17.55, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.6333 }
|
||||
],
|
||||
"scale": [
|
||||
{ "x": 0.5, "y": 0.5, "curve": "stepped" },
|
||||
{ "time": 0.2333, "x": 0.5, "y": 0.5, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.3333, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.5333 }
|
||||
]
|
||||
},
|
||||
"card4": {
|
||||
"translate": [
|
||||
{ "y": -200.13, "curve": "stepped" },
|
||||
{ "time": 0.4, "y": -200.13, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.5667, "y": 77.24, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.6667, "y": -17.55, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8 }
|
||||
],
|
||||
"scale": [
|
||||
{ "x": 0.5, "y": 0.5, "curve": "stepped" },
|
||||
{ "time": 0.4, "x": 0.5, "y": 0.5, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.5, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7 }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"card1-active": {
|
||||
"slots": {
|
||||
"back1": {
|
||||
"color": [
|
||||
{ "color": "ffffffff", "curve": "stepped" },
|
||||
{ "time": 0.1333, "color": "ffffff00" }
|
||||
]
|
||||
},
|
||||
"front1": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.1333, "color": "ffffffff" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"bones": {
|
||||
"card1": {
|
||||
"scale": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.0667, "x": 0.9, "y": 0.9, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1667, "x": 1.152, "y": 1.152, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.3 }
|
||||
]
|
||||
},
|
||||
"card1-flip": {
|
||||
"scale": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1333, "x": 0, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2667 }
|
||||
]
|
||||
}
|
||||
},
|
||||
"events": [
|
||||
{ "time": 0.1, "name": "card1-active" }
|
||||
]
|
||||
},
|
||||
"card2-active": {
|
||||
"slots": {
|
||||
"back2": {
|
||||
"color": [
|
||||
{ "color": "ffffffff", "curve": "stepped" },
|
||||
{ "time": 0.1333, "color": "ffffff00" }
|
||||
]
|
||||
},
|
||||
"front2": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.1333, "color": "ffffffff" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"bones": {
|
||||
"card2": {
|
||||
"scale": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.0667, "x": 0.9, "y": 0.9, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1667, "x": 1.152, "y": 1.152, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.3 }
|
||||
]
|
||||
},
|
||||
"card2-flip": {
|
||||
"scale": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1333, "x": 0, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2667 }
|
||||
]
|
||||
}
|
||||
},
|
||||
"events": [
|
||||
{ "time": 0.1, "name": "card2-active" }
|
||||
]
|
||||
},
|
||||
"card3-active": {
|
||||
"slots": {
|
||||
"back3": {
|
||||
"color": [
|
||||
{ "color": "ffffffff", "curve": "stepped" },
|
||||
{ "time": 0.1333, "color": "ffffff00" }
|
||||
]
|
||||
},
|
||||
"front3": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.1333, "color": "ffffffff" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"bones": {
|
||||
"card3": {
|
||||
"scale": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.0667, "x": 0.9, "y": 0.9, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1667, "x": 1.152, "y": 1.152, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.3 }
|
||||
]
|
||||
},
|
||||
"card3-flip": {
|
||||
"scale": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1333, "x": 0, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2667 }
|
||||
]
|
||||
}
|
||||
},
|
||||
"events": [
|
||||
{ "time": 0.1, "name": "card3-active" }
|
||||
]
|
||||
},
|
||||
"card4-active": {
|
||||
"slots": {
|
||||
"back4": {
|
||||
"color": [
|
||||
{ "color": "ffffffff", "curve": "stepped" },
|
||||
{ "time": 0.1333, "color": "ffffff00" }
|
||||
]
|
||||
},
|
||||
"front4": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.1333, "color": "ffffffff" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"bones": {
|
||||
"card4": {
|
||||
"scale": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.0667, "x": 0.9, "y": 0.9, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1667, "x": 1.152, "y": 1.152, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.3 }
|
||||
]
|
||||
},
|
||||
"card4-flip": {
|
||||
"scale": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1333, "x": 0, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2667 }
|
||||
]
|
||||
}
|
||||
},
|
||||
"events": [
|
||||
{ "time": 0.0667, "name": "card4-active" }
|
||||
]
|
||||
},
|
||||
"idle": {
|
||||
"slots": {
|
||||
"front4": {
|
||||
"color": [
|
||||
{ "time": 0.0667, "color": "ffffff00" }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.2.6",
|
||||
"importer": "spine-data",
|
||||
"imported": true,
|
||||
"uuid": "aadf64c3-e6a0-4bf8-9805-b291ef07fa28",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 134 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.26",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "5c48abf1-a8de-4880-8fcf-1888513a9bfa",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "5c48abf1-a8de-4880-8fcf-1888513a9bfa@6c48a",
|
||||
"displayName": "random-flip-card",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "5c48abf1-a8de-4880-8fcf-1888513a9bfa",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "5c48abf1-a8de-4880-8fcf-1888513a9bfa@f9941",
|
||||
"displayName": "random-flip-card",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": -83,
|
||||
"offsetY": 40.5,
|
||||
"trimX": 4,
|
||||
"trimY": 4,
|
||||
"width": 850,
|
||||
"height": 423,
|
||||
"rawWidth": 1024,
|
||||
"rawHeight": 512,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-425,
|
||||
-211.5,
|
||||
0,
|
||||
425,
|
||||
-211.5,
|
||||
0,
|
||||
-425,
|
||||
211.5,
|
||||
0,
|
||||
425,
|
||||
211.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
4,
|
||||
508,
|
||||
854,
|
||||
508,
|
||||
4,
|
||||
85,
|
||||
854,
|
||||
85
|
||||
],
|
||||
"nuv": [
|
||||
0.00390625,
|
||||
0.166015625,
|
||||
0.833984375,
|
||||
0.166015625,
|
||||
0.00390625,
|
||||
0.9921875,
|
||||
0.833984375,
|
||||
0.9921875
|
||||
],
|
||||
"minPos": [
|
||||
-425,
|
||||
-211.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
425,
|
||||
211.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "5c48abf1-a8de-4880-8fcf-1888513a9bfa@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "5c48abf1-a8de-4880-8fcf-1888513a9bfa@f9941"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "6f264072-3786-460d-92e2-e18724282b5c",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,83 @@
|
|||
|
||||
lucky chain.png
|
||||
size: 1024,512
|
||||
format: RGBA8888
|
||||
filter: Linear,Linear
|
||||
repeat: none
|
||||
card1
|
||||
rotate: true
|
||||
xy: 735, 149
|
||||
size: 135, 148
|
||||
orig: 135, 148
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
card2
|
||||
rotate: true
|
||||
xy: 735, 10
|
||||
size: 135, 148
|
||||
orig: 135, 148
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
card3
|
||||
rotate: true
|
||||
xy: 735, 10
|
||||
size: 135, 148
|
||||
orig: 135, 148
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
card4
|
||||
rotate: true
|
||||
xy: 735, 10
|
||||
size: 135, 148
|
||||
orig: 135, 148
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
card5
|
||||
rotate: true
|
||||
xy: 735, 10
|
||||
size: 135, 148
|
||||
orig: 135, 148
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
frame
|
||||
rotate: false
|
||||
xy: 4, 4
|
||||
size: 376, 468
|
||||
orig: 376, 469
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
frame-planet1
|
||||
rotate: false
|
||||
xy: 735, 288
|
||||
size: 186, 184
|
||||
orig: 186, 184
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
frame-planet2
|
||||
rotate: false
|
||||
xy: 887, 167
|
||||
size: 122, 117
|
||||
orig: 122, 117
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
frame-planet3
|
||||
rotate: false
|
||||
xy: 887, 51
|
||||
size: 114, 112
|
||||
orig: 114, 112
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
galaxy-screen
|
||||
rotate: false
|
||||
xy: 384, 45
|
||||
size: 347, 427
|
||||
orig: 347, 427
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
txt
|
||||
rotate: false
|
||||
xy: 384, 6
|
||||
size: 278, 35
|
||||
orig: 278, 35
|
||||
offset: 0, 0
|
||||
index: -1
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.0.2",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "e9ef255e-5772-4622-a331-65a911bdbc54",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,358 @@
|
|||
{
|
||||
"skeleton": {
|
||||
"hash": "o1owOunyFbd2Jp2OiNn7dNvQ1js",
|
||||
"spine": "3.8.99",
|
||||
"x": -631,
|
||||
"y": -680,
|
||||
"width": 1252,
|
||||
"height": 1960,
|
||||
"images": "",
|
||||
"audio": "D:/Huy 2D Animation/works/2024/Product/Galaxy Seeker/Reward Animation/lucky chain"
|
||||
},
|
||||
"bones": [
|
||||
{ "name": "root" },
|
||||
{ "name": "pivot", "parent": "root" },
|
||||
{ "name": "frame-pivot", "parent": "pivot" },
|
||||
{ "name": "cards-pivot", "parent": "frame-pivot" },
|
||||
{ "name": "card1", "parent": "cards-pivot", "x": -259.5, "y": 297.5 },
|
||||
{ "name": "card2", "parent": "cards-pivot", "x": 267.5, "y": 297.5 },
|
||||
{ "name": "card3", "parent": "cards-pivot", "x": 267.5, "y": -278.5 },
|
||||
{ "name": "card4", "parent": "cards-pivot", "x": -259.5, "y": -278.5 },
|
||||
{ "name": "frame-planet1", "parent": "frame-pivot", "length": 364.06, "rotation": 90, "y": 786.09 },
|
||||
{ "name": "frame-planet2", "parent": "frame-pivot", "length": 169.63, "rotation": 120.23, "x": -311.5, "y": 867.5 },
|
||||
{ "name": "frame-planet3", "parent": "frame-pivot", "length": 211.86, "rotation": 45.75, "x": 260.15, "y": 919.93 },
|
||||
{ "name": "card5", "parent": "cards-pivot", "x": -259.5, "y": -278.5 },
|
||||
{ "name": "txt", "parent": "frame-pivot", "x": 8, "y": 700 }
|
||||
],
|
||||
"slots": [
|
||||
{ "name": "galaxy-screen", "bone": "frame-pivot", "attachment": "galaxy-screen" },
|
||||
{ "name": "frame-planet3", "bone": "frame-planet3", "attachment": "frame-planet3" },
|
||||
{ "name": "frame-planet2", "bone": "frame-planet2", "attachment": "frame-planet2" },
|
||||
{ "name": "frame-planet1", "bone": "frame-planet1", "attachment": "frame-planet1" },
|
||||
{ "name": "frame", "bone": "frame-pivot", "attachment": "frame" },
|
||||
{ "name": "txt", "bone": "txt", "attachment": "txt" },
|
||||
{ "name": "card5", "bone": "card5", "color": "ffffff00", "attachment": "card5" },
|
||||
{ "name": "card4", "bone": "card4", "attachment": "card4" },
|
||||
{ "name": "card3", "bone": "card3", "attachment": "card3" },
|
||||
{ "name": "card2", "bone": "card2", "attachment": "card2" },
|
||||
{ "name": "card1", "bone": "card1", "attachment": "card1" },
|
||||
{ "name": "card2-orange", "bone": "card2", "color": "ffffff00", "attachment": "card1" },
|
||||
{ "name": "card1-glow", "bone": "card1", "color": "ffffff00", "attachment": "card1", "blend": "additive" }
|
||||
],
|
||||
"skins": [
|
||||
{
|
||||
"name": "default",
|
||||
"attachments": {
|
||||
"card1": {
|
||||
"card1": { "width": 451, "height": 493 }
|
||||
},
|
||||
"card1-glow": {
|
||||
"card1": { "width": 451, "height": 493 }
|
||||
},
|
||||
"card2": {
|
||||
"card2": { "width": 451, "height": 493 }
|
||||
},
|
||||
"card2-orange": {
|
||||
"card1": { "width": 451, "height": 493 }
|
||||
},
|
||||
"card3": {
|
||||
"card3": { "width": 451, "height": 493 }
|
||||
},
|
||||
"card4": {
|
||||
"card4": { "width": 451, "height": 493 }
|
||||
},
|
||||
"card5": {
|
||||
"card5": { "width": 451, "height": 493 }
|
||||
},
|
||||
"frame": {
|
||||
"frame": { "x": -5, "y": 101, "width": 1252, "height": 1562 }
|
||||
},
|
||||
"frame-planet1": {
|
||||
"frame-planet1": { "x": 187.41, "y": 18.5, "rotation": -90, "width": 621, "height": 613 }
|
||||
},
|
||||
"frame-planet2": {
|
||||
"frame-planet2": { "rotation": -120.23, "width": 405, "height": 391 }
|
||||
},
|
||||
"frame-planet3": {
|
||||
"frame-planet3": { "x": 24.62, "y": 21.4, "rotation": -45.75, "width": 380, "height": 373 }
|
||||
},
|
||||
"galaxy-screen": {
|
||||
"galaxy-screen": { "x": -3, "y": 61, "width": 1156, "height": 1424 }
|
||||
},
|
||||
"txt": {
|
||||
"txt": { "x": -31, "y": 10.5, "width": 926, "height": 115 }
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"events": {
|
||||
"card-claimed": {},
|
||||
"new-card-spawned": {}
|
||||
},
|
||||
"animations": {
|
||||
"active": {
|
||||
"slots": {
|
||||
"card1": {
|
||||
"color": [
|
||||
{ "time": 0.2, "color": "ffffffff", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4, "color": "ffffff00" }
|
||||
]
|
||||
},
|
||||
"card1-glow": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.0667, "color": "ffffffff", "curve": "stepped" },
|
||||
{ "time": 0.2, "color": "ffffffff", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4, "color": "ffffff00" }
|
||||
]
|
||||
},
|
||||
"card2": {
|
||||
"color": [
|
||||
{ "color": "dadadaff", "curve": "stepped" },
|
||||
{ "time": 0.4, "color": "dadadaff", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"card2-orange": {
|
||||
"color": [
|
||||
{ "time": 0.7, "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.9, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"card3": {
|
||||
"color": [
|
||||
{ "color": "989898ff", "curve": "stepped" },
|
||||
{ "time": 0.6, "color": "989898ff", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7667, "color": "dadadaff" }
|
||||
]
|
||||
},
|
||||
"card4": {
|
||||
"color": [
|
||||
{ "color": "797979ff", "curve": "stepped" },
|
||||
{ "time": 0.6, "color": "797979ff", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7667, "color": "808080ff" }
|
||||
]
|
||||
},
|
||||
"card5": {
|
||||
"color": [
|
||||
{ "color": "79797900", "curve": "stepped" },
|
||||
{ "time": 0.7, "color": "79797900", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8, "color": "797979ff" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"bones": {
|
||||
"card1": {
|
||||
"scale": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1333, "x": 0.9, "y": 0.95, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4, "x": 1.2, "y": 1.2 }
|
||||
]
|
||||
},
|
||||
"card2": {
|
||||
"translate": [
|
||||
{ "time": 0.4, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.5, "x": 12.5, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7, "x": -567.5, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.9, "x": -527 }
|
||||
]
|
||||
},
|
||||
"card3": {
|
||||
"translate": [
|
||||
{ "time": 0.6, "curve": 0, "c2": 0.79, "c3": 0.75 },
|
||||
{ "time": 0.7667, "y": 576 }
|
||||
]
|
||||
},
|
||||
"card4": {
|
||||
"translate": [
|
||||
{ "time": 0.6, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7667, "x": 527 }
|
||||
]
|
||||
},
|
||||
"card5": {
|
||||
"scale": [
|
||||
{ "x": 0.9, "y": 0.9, "curve": "stepped" },
|
||||
{ "time": 0.7, "x": 0.9, "y": 0.9, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.9, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.1 }
|
||||
]
|
||||
}
|
||||
},
|
||||
"events": [
|
||||
{ "time": 0.4, "name": "card-claimed" },
|
||||
{ "time": 0.8, "name": "new-card-spawned" }
|
||||
]
|
||||
},
|
||||
"appear": {
|
||||
"slots": {
|
||||
"card1": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.5, "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.6333, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"card2": {
|
||||
"color": [
|
||||
{ "color": "dadada00", "curve": "stepped" },
|
||||
{ "time": 0.6, "color": "dadada00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7333, "color": "dadadaff" }
|
||||
]
|
||||
},
|
||||
"card3": {
|
||||
"color": [
|
||||
{ "color": "98989800", "curve": "stepped" },
|
||||
{ "time": 0.7333, "color": "98989800", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8667, "color": "989898ff" }
|
||||
]
|
||||
},
|
||||
"card4": {
|
||||
"color": [
|
||||
{ "color": "79797900", "curve": "stepped" },
|
||||
{ "time": 0.9, "color": "79797900", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.0333, "color": "797979ff" }
|
||||
]
|
||||
},
|
||||
"frame": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"frame-planet1": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.6, "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"frame-planet2": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.6667, "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8667, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"frame-planet3": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.7333, "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.9333, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"galaxy-screen": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.1, "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"txt": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.8, "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1, "color": "ffffffff" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"bones": {
|
||||
"frame-planet3": {
|
||||
"translate": [
|
||||
{ "x": -91.68, "y": -94.13, "curve": "stepped" },
|
||||
{ "time": 0.7333, "x": -91.68, "y": -94.13, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.9333, "x": 22, "y": 22.59, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.1333 }
|
||||
]
|
||||
},
|
||||
"frame-planet2": {
|
||||
"translate": [
|
||||
{ "x": 66.15, "y": -113.54, "curve": "stepped" },
|
||||
{ "time": 0.6667, "x": 66.15, "y": -113.54, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8667, "x": -15.88, "y": 27.25, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.0667 }
|
||||
]
|
||||
},
|
||||
"frame-planet1": {
|
||||
"translate": [
|
||||
{ "y": -131.4, "curve": "stepped" },
|
||||
{ "time": 0.6, "y": -131.4, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8, "y": 31.54, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1 }
|
||||
]
|
||||
},
|
||||
"card4": {
|
||||
"scale": [
|
||||
{ "x": 0.8, "y": 0.8, "curve": "stepped" },
|
||||
{ "time": 0.9, "x": 0.8, "y": 0.8, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.0333, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.4 }
|
||||
]
|
||||
},
|
||||
"card3": {
|
||||
"scale": [
|
||||
{ "x": 0.8, "y": 0.8, "curve": "stepped" },
|
||||
{ "time": 0.7333, "x": 0.8, "y": 0.8, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8667, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.2333 }
|
||||
]
|
||||
},
|
||||
"card2": {
|
||||
"scale": [
|
||||
{ "x": 0.8, "y": 0.8, "curve": "stepped" },
|
||||
{ "time": 0.6, "x": 0.8, "y": 0.8, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7333, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.1 }
|
||||
]
|
||||
},
|
||||
"card1": {
|
||||
"scale": [
|
||||
{ "x": 0.8, "y": 0.8, "curve": "stepped" },
|
||||
{ "time": 0.5, "x": 0.8, "y": 0.8, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.6333, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8, "x": 0.95, "y": 0.95, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1 }
|
||||
]
|
||||
},
|
||||
"txt": {
|
||||
"translate": [
|
||||
{ "y": 20, "curve": "stepped" },
|
||||
{ "time": 0.8, "y": 20, "curve": 0, "c2": 0.51, "c3": 0.75 },
|
||||
{ "time": 1.1, "y": -20, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.4 }
|
||||
]
|
||||
},
|
||||
"frame-pivot": {
|
||||
"translate": [
|
||||
{ "y": -100, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2, "y": 50, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4 }
|
||||
],
|
||||
"scale": [
|
||||
{ "x": 0.8, "y": 0.8, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"idle": {
|
||||
"slots": {
|
||||
"card2": {
|
||||
"color": [
|
||||
{ "color": "dadadaff" }
|
||||
]
|
||||
},
|
||||
"card3": {
|
||||
"color": [
|
||||
{ "color": "989898ff" }
|
||||
]
|
||||
},
|
||||
"card4": {
|
||||
"color": [
|
||||
{ "color": "7a7a7aff" }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.2.6",
|
||||
"importer": "spine-data",
|
||||
"imported": true,
|
||||
"uuid": "2a73a1e0-9f9d-4cdd-b711-394a90fec7a8",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 318 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.26",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "add5af79-0201-4355-be84-161977c7cabf",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "add5af79-0201-4355-be84-161977c7cabf@6c48a",
|
||||
"displayName": "lucky chain",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "add5af79-0201-4355-be84-161977c7cabf",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "add5af79-0201-4355-be84-161977c7cabf@f9941",
|
||||
"displayName": "lucky chain",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": -5.5,
|
||||
"offsetY": 18,
|
||||
"trimX": 4,
|
||||
"trimY": 4,
|
||||
"width": 1005,
|
||||
"height": 468,
|
||||
"rawWidth": 1024,
|
||||
"rawHeight": 512,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-502.5,
|
||||
-234,
|
||||
0,
|
||||
502.5,
|
||||
-234,
|
||||
0,
|
||||
-502.5,
|
||||
234,
|
||||
0,
|
||||
502.5,
|
||||
234,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
4,
|
||||
508,
|
||||
1009,
|
||||
508,
|
||||
4,
|
||||
40,
|
||||
1009,
|
||||
40
|
||||
],
|
||||
"nuv": [
|
||||
0.00390625,
|
||||
0.078125,
|
||||
0.9853515625,
|
||||
0.078125,
|
||||
0.00390625,
|
||||
0.9921875,
|
||||
0.9853515625,
|
||||
0.9921875
|
||||
],
|
||||
"minPos": [
|
||||
-502.5,
|
||||
-234,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
502.5,
|
||||
234,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "add5af79-0201-4355-be84-161977c7cabf@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "add5af79-0201-4355-be84-161977c7cabf@f9941"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "82330651-9fc7-4280-a25c-80413cc57522",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
|
||||
lucky-chest.png
|
||||
size: 1024,256
|
||||
format: RGBA8888
|
||||
filter: Linear,Linear
|
||||
repeat: none
|
||||
chest-lid
|
||||
rotate: false
|
||||
xy: 4, 4
|
||||
size: 314, 217
|
||||
orig: 318, 221
|
||||
offset: 2, 3
|
||||
index: -1
|
||||
chest-lid2
|
||||
rotate: false
|
||||
xy: 619, 74
|
||||
size: 270, 147
|
||||
orig: 270, 149
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
glitter-vfx
|
||||
rotate: false
|
||||
xy: 619, 27
|
||||
size: 46, 43
|
||||
orig: 64, 64
|
||||
offset: 9, 11
|
||||
index: -1
|
||||
lower-chest
|
||||
rotate: false
|
||||
xy: 322, 9
|
||||
size: 293, 212
|
||||
orig: 295, 212
|
||||
offset: 2, 0
|
||||
index: -1
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.0.2",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "9ac5e8c6-d012-424f-ab22-590dafd96f4f",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,235 @@
|
|||
{
|
||||
"skeleton": {
|
||||
"hash": "/K19jcKuNHKoLrYG8MhOXbnbIBE",
|
||||
"spine": "3.8.99",
|
||||
"x": -596.69,
|
||||
"y": -520.93,
|
||||
"width": 1280,
|
||||
"height": 1280,
|
||||
"images": "",
|
||||
"audio": "D:/Huy 2D Animation/works/2024/Product/Galaxy Seeker/Reward Animation/lucky-chest"
|
||||
},
|
||||
"bones": [
|
||||
{ "name": "root" },
|
||||
{ "name": "pivot", "parent": "root" },
|
||||
{ "name": "lower-chest", "parent": "pivot", "length": 165.62, "rotation": 90, "x": 25, "y": -60 },
|
||||
{ "name": "chest-lid", "parent": "lower-chest", "length": 155.21, "x": 180, "y": 35 },
|
||||
{ "name": "chest-lid2", "parent": "lower-chest", "length": 425.29, "rotation": -79.62, "x": 284.38, "y": 326.62 },
|
||||
{ "name": "chest-lid3", "parent": "chest-lid2", "length": 177.55, "rotation": 85.02, "x": 79.17, "y": 23.44 },
|
||||
{ "name": "glitter-vfx", "parent": "pivot", "x": 25, "y": 140 }
|
||||
],
|
||||
"slots": [
|
||||
{ "name": "lower-chest", "bone": "lower-chest", "attachment": "lower-chest" },
|
||||
{ "name": "chest-lid", "bone": "chest-lid", "attachment": "chest-lid" },
|
||||
{ "name": "chest-lid2", "bone": "chest-lid2", "color": "ffffff00", "attachment": "chest-lid2" },
|
||||
{ "name": "glitter-vfx", "bone": "glitter-vfx", "color": "ffffff00", "attachment": "glitter-vfx", "blend": "additive" }
|
||||
],
|
||||
"skins": [
|
||||
{
|
||||
"name": "default",
|
||||
"attachments": {
|
||||
"chest-lid": {
|
||||
"chest-lid": { "x": 76.5, "y": 13.5, "rotation": -90, "width": 635, "height": 441 }
|
||||
},
|
||||
"chest-lid2": {
|
||||
"chest-lid2": {
|
||||
"type": "mesh",
|
||||
"uvs": [ 0.95375, 0.23206, 1, 0.52982, 1, 0.57456, 0.77212, 1, 0.69633, 1, 0.56734, 0.80867, 0.53351, 0.80013, 0.06079, 0.96486, 0.04029, 0.87795, 0, 0.70712, 0, 0.62556, 0.00698, 0.42219, 0.10158, 0.19664, 0.33872, 0.08632, 0.42451, 0.16327, 0.82256, 0.01507, 0.0994, 0.84876, 0.2266, 0.80342, 0.44554, 0.7184, 0.63529, 0.66739, 0.89424, 0.56915 ],
|
||||
"triangles": [ 3, 20, 2, 20, 3, 19, 5, 19, 4, 3, 4, 19, 6, 17, 18, 6, 7, 17, 7, 16, 17, 7, 8, 16, 8, 9, 16, 17, 16, 10, 5, 6, 19, 17, 10, 11, 11, 12, 17, 17, 14, 18, 17, 13, 14, 17, 12, 13, 6, 18, 19, 18, 14, 19, 10, 16, 9, 19, 15, 20, 19, 14, 15, 20, 1, 2, 20, 0, 1, 20, 15, 0 ],
|
||||
"vertices": [ 2, 4, 495.4, 120.21, 0.99494, 5, 132.54, -406.26, 0.00506, 1, 4, 503.98, 28.43, 1, 1, 4, 501.58, 15.31, 1, 1, 4, 357.7, -87.23, 1, 1, 4, 317.45, -79.86, 1, 1, 4, 259.2, -11.23, 1, 1, 4, 241.69, -5.44, 1, 2, 4, -18.24, -7.75, 0.99759, 5, -39.53, 94.34, 0.00241, 2, 4, -24.47, 19.72, 0.88135, 5, -12.71, 102.92, 0.11865, 2, 4, -36.7, 73.71, 0.4648, 5, 40.02, 119.79, 0.5352, 2, 4, -32.32, 97.62, 0.32542, 5, 64.22, 117.51, 0.67458, 2, 4, -17.7, 156.55, 0.08952, 5, 124.2, 108.06, 0.91048, 2, 4, 44.65, 213.47, 0.0015, 5, 186.31, 50.88, 0.9985, 2, 4, 176.54, 222.74, 0.16621, 5, 207, -79.7, 0.83379, 2, 4, 217.98, 191.84, 0.40708, 5, 179.81, -123.66, 0.59292, 2, 4, 437.36, 196.57, 0.97028, 5, 203.57, -341.81, 0.02972, 2, 4, 8.49, 22.52, 0.85311, 5, -7.05, 70.33, 0.14689, 2, 4, 78.49, 23.44, 0.00376, 5, -0.05, 0.67, 0.99624, 2, 4, 199.35, 27.07, 0.93561, 5, 14.05, -119.41, 0.06439, 2, 4, 302.88, 23.57, 0.98865, 5, 19.55, -222.86, 0.01135, 2, 4, 445.69, 27.18, 0.99966, 5, 35.55, -364.82, 3.4E-4 ],
|
||||
"hull": 16,
|
||||
"edges": [ 0, 30, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 14, 16, 16, 18, 16, 32, 32, 34, 34, 36, 36, 38, 38, 40, 40, 2 ],
|
||||
"width": 540,
|
||||
"height": 298
|
||||
}
|
||||
},
|
||||
"glitter-vfx": {
|
||||
"glitter-vfx": { "x": 18.31, "y": -20.93, "scaleX": 10, "scaleY": 10, "width": 128, "height": 128 }
|
||||
},
|
||||
"lower-chest": {
|
||||
"lower-chest": { "x": 132, "y": 59.5, "rotation": -90, "width": 589, "height": 424 }
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"animations": {
|
||||
"appear": {
|
||||
"slots": {
|
||||
"chest-lid": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1333, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"lower-chest": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1333, "color": "ffffffff" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"bones": {
|
||||
"pivot": {
|
||||
"scale": [
|
||||
{ "x": 0.7, "y": 0.7, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2667, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.5 }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"idle": {
|
||||
"bones": {
|
||||
"pivot": {
|
||||
"scale": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4, "x": 1.02, "y": 1.02, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8 }
|
||||
]
|
||||
},
|
||||
"chest-lid": {
|
||||
"translate": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2667, "x": 4.89, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.5333, "x": -7.33, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8 }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"open": {
|
||||
"slots": {
|
||||
"chest-lid": {
|
||||
"color": [
|
||||
{ "time": 0.6667, "color": "ffffffff", "curve": "stepped" },
|
||||
{ "time": 0.7333, "color": "ffffff00" }
|
||||
]
|
||||
},
|
||||
"chest-lid2": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.6667, "color": "ffffff00", "curve": "stepped" },
|
||||
{ "time": 0.7333, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"glitter-vfx": {
|
||||
"color": [
|
||||
{ "time": 0.7, "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7667, "color": "ffffffff", "curve": "stepped" },
|
||||
{ "time": 0.9, "color": "ffffffff", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.3, "color": "ffffff00" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"bones": {
|
||||
"pivot": {
|
||||
"rotate": [
|
||||
{ "time": 0.7, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8333, "angle": 2.85, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.9667, "angle": -1.62, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.1, "angle": 1.81, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.2667 }
|
||||
],
|
||||
"translate": [
|
||||
{ "time": 0.7, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7667, "y": 46.56, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8333, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.9667, "y": 6.65, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.0667, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.1667, "y": 2.22, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.3 }
|
||||
],
|
||||
"scale": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7, "x": 0.9, "y": 0.9, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1 }
|
||||
]
|
||||
},
|
||||
"lower-chest": {
|
||||
"translate": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1, "x": -2.42, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2, "x": 12.33, "y": -7.37, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.3, "x": 4.81, "y": 0.14, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4, "x": 8.82, "y": 2.81, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.5, "x": 3.37, "y": 1.45, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.6, "x": 7.52, "y": -4.08, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7, "x": 10.31, "y": 1.49, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8 }
|
||||
]
|
||||
},
|
||||
"chest-lid": {
|
||||
"translate": [
|
||||
{ "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1, "x": -5.48, "y": -7.31, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2, "x": -9.2, "y": 3.82, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2667, "x": -3.56, "y": 13.21, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.3333, "x": -5.46, "y": 3.7, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4, "x": -11.25, "y": -2.09, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.4667, "x": -9.3, "y": 3.77, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.5333, "x": -3.36, "y": -2.16, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.6, "x": -9.36, "y": 1.84, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.6667, "x": -31.49, "y": 5.86, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8 }
|
||||
]
|
||||
},
|
||||
"chest-lid2": {
|
||||
"rotate": [
|
||||
{ "time": 0.6667, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8, "angle": 4.28, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.9333, "angle": -7.73, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.1 }
|
||||
],
|
||||
"translate": [
|
||||
{ "time": 0.6667, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8333, "x": -3.91, "y": 3.78, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.9667, "x": 4.44, "y": 14.77, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.1333 }
|
||||
],
|
||||
"scale": [
|
||||
{ "time": 0.6667, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7667, "x": 0.984, "y": 1.127, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1 }
|
||||
],
|
||||
"shear": [
|
||||
{ "time": 0.6667, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8, "x": -2.21, "y": 4.37, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.9333, "x": 2.3, "y": 2.71, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.1 }
|
||||
]
|
||||
},
|
||||
"chest-lid3": {
|
||||
"scale": [
|
||||
{ "time": 0.7, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.7667, "x": 0.817, "y": 0.721, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1 }
|
||||
],
|
||||
"shear": [
|
||||
{ "time": 0.7, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.8, "x": 7.69, "y": -14.24, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.9333, "x": -6.27, "y": 5.08, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.1 }
|
||||
]
|
||||
},
|
||||
"glitter-vfx": {
|
||||
"rotate": [
|
||||
{ "time": 0.6333, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.4, "angle": -67.1, "curve": "stepped" },
|
||||
{ "time": 1.5, "angle": -67.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 1.6333, "curve": "stepped" },
|
||||
{ "time": 2 }
|
||||
],
|
||||
"translate": [
|
||||
{ "x": 22.9, "y": 24.3 }
|
||||
],
|
||||
"scale": [
|
||||
{ "x": 0.5, "y": 0.5, "curve": "stepped" },
|
||||
{ "time": 0.7, "x": 0.5, "y": 0.5, "curve": 0, "c2": 0.89, "c3": 0.75 },
|
||||
{ "time": 1.3, "x": 1.757, "y": 1.757 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.2.6",
|
||||
"importer": "spine-data",
|
||||
"imported": true,
|
||||
"uuid": "75cc4005-0956-4ded-8966-c8e347fc48d5",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 240 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.26",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "c2c33a8f-af06-4fc8-b718-548b2187eae9",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "c2c33a8f-af06-4fc8-b718-548b2187eae9@6c48a",
|
||||
"displayName": "lucky-chest",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "c2c33a8f-af06-4fc8-b718-548b2187eae9",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "c2c33a8f-af06-4fc8-b718-548b2187eae9@f9941",
|
||||
"displayName": "lucky-chest",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": -65.5,
|
||||
"offsetY": 15.5,
|
||||
"trimX": 4,
|
||||
"trimY": 4,
|
||||
"width": 885,
|
||||
"height": 217,
|
||||
"rawWidth": 1024,
|
||||
"rawHeight": 256,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-442.5,
|
||||
-108.5,
|
||||
0,
|
||||
442.5,
|
||||
-108.5,
|
||||
0,
|
||||
-442.5,
|
||||
108.5,
|
||||
0,
|
||||
442.5,
|
||||
108.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
4,
|
||||
252,
|
||||
889,
|
||||
252,
|
||||
4,
|
||||
35,
|
||||
889,
|
||||
35
|
||||
],
|
||||
"nuv": [
|
||||
0.00390625,
|
||||
0.13671875,
|
||||
0.8681640625,
|
||||
0.13671875,
|
||||
0.00390625,
|
||||
0.984375,
|
||||
0.8681640625,
|
||||
0.984375
|
||||
],
|
||||
"minPos": [
|
||||
-442.5,
|
||||
-108.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
442.5,
|
||||
108.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "c2c33a8f-af06-4fc8-b718-548b2187eae9@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "c2c33a8f-af06-4fc8-b718-548b2187eae9@f9941"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "4aba6020-b969-4d5c-8c38-bd57ad8dc70d",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
|
||||
lucky-spin.png
|
||||
size: 1024,1024
|
||||
format: RGBA8888
|
||||
filter: Linear,Linear
|
||||
repeat: none
|
||||
arrow
|
||||
rotate: false
|
||||
xy: 452, 155
|
||||
size: 103, 157
|
||||
orig: 103, 158
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
base
|
||||
rotate: false
|
||||
xy: 4, 452
|
||||
size: 543, 548
|
||||
orig: 544, 550
|
||||
offset: 0, 1
|
||||
index: -1
|
||||
button
|
||||
rotate: false
|
||||
xy: 452, 316
|
||||
size: 132, 132
|
||||
orig: 132, 132
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
txt-spin
|
||||
rotate: true
|
||||
xy: 452, 49
|
||||
size: 102, 58
|
||||
orig: 108, 62
|
||||
offset: 3, 3
|
||||
index: -1
|
||||
wheel
|
||||
rotate: false
|
||||
xy: 4, 4
|
||||
size: 444, 444
|
||||
orig: 444, 444
|
||||
offset: 0, 0
|
||||
index: -1
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.0.2",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "7859d8c6-2440-4ffa-ac4a-03b52c0673cb",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,130 @@
|
|||
{
|
||||
"skeleton": {
|
||||
"hash": "sKAs3NK0GSdpZcOpBJA0pZ3Vlxo",
|
||||
"spine": "3.8.99",
|
||||
"x": -541,
|
||||
"y": -557,
|
||||
"width": 1087,
|
||||
"height": 1227,
|
||||
"images": "",
|
||||
"audio": "D:/Huy 2D Animation/works/2024/Product/Galaxy Seeker/Reward Animation/lucky-spin"
|
||||
},
|
||||
"bones": [
|
||||
{ "name": "root" },
|
||||
{ "name": "pivot", "parent": "root" },
|
||||
{ "name": "wheel", "parent": "pivot", "length": 415.93, "y": 3.5 },
|
||||
{ "name": "arrow", "parent": "pivot", "x": -3.78, "y": 505.13 },
|
||||
{ "name": "spin-button", "parent": "pivot" },
|
||||
{ "name": "slot01", "parent": "wheel", "length": 80, "x": 3.31, "y": 264.08 },
|
||||
{ "name": "slot02", "parent": "wheel", "length": 80, "rotation": 36, "x": -152.54, "y": 215.59 },
|
||||
{ "name": "slot03", "parent": "wheel", "length": 80, "rotation": 72, "x": -250.13, "y": 84.75 },
|
||||
{ "name": "slot04", "parent": "wheel", "length": 80, "rotation": 108, "x": -252.18, "y": -78.45 },
|
||||
{ "name": "slot05", "parent": "wheel", "length": 80, "rotation": 144, "x": -157.9, "y": -211.7 },
|
||||
{ "name": "slot06", "parent": "wheel", "length": 80, "rotation": 180, "x": -3.31, "y": -264.08 },
|
||||
{ "name": "slot07", "parent": "wheel", "length": 80, "rotation": -144, "x": 152.54, "y": -215.59 },
|
||||
{ "name": "slot08", "parent": "wheel", "length": 80, "rotation": -108, "x": 250.13, "y": -84.75 },
|
||||
{ "name": "slot09", "parent": "wheel", "length": 80, "rotation": -72, "x": 252.18, "y": 78.46 },
|
||||
{ "name": "slot10", "parent": "wheel", "length": 80, "rotation": -36, "x": 157.9, "y": 211.7 }
|
||||
],
|
||||
"slots": [
|
||||
{ "name": "base", "bone": "pivot", "attachment": "base" },
|
||||
{ "name": "wheel", "bone": "wheel", "attachment": "wheel" },
|
||||
{ "name": "button", "bone": "spin-button", "attachment": "button" },
|
||||
{ "name": "arrow", "bone": "arrow", "attachment": "arrow" },
|
||||
{ "name": "txt-spin", "bone": "spin-button", "attachment": "txt-spin" }
|
||||
],
|
||||
"skins": [
|
||||
{
|
||||
"name": "default",
|
||||
"attachments": {
|
||||
"arrow": {
|
||||
"arrow": { "x": 6.28, "y": 7.37, "width": 205, "height": 315 }
|
||||
},
|
||||
"base": {
|
||||
"base": { "x": 2.5, "y": -7.5, "width": 1087, "height": 1099 }
|
||||
},
|
||||
"button": {
|
||||
"button": { "width": 264, "height": 264 }
|
||||
},
|
||||
"txt-spin": {
|
||||
"txt-spin": { "y": -2.5, "width": 216, "height": 123 }
|
||||
},
|
||||
"wheel": {
|
||||
"wheel": { "width": 888, "height": 887 }
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"animations": {
|
||||
"appear": {
|
||||
"slots": {
|
||||
"arrow": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1667, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"base": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1667, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"button": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1667, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"txt-spin": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1667, "color": "ffffffff" }
|
||||
]
|
||||
},
|
||||
"wheel": {
|
||||
"color": [
|
||||
{ "color": "ffffff00", "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.1667, "color": "ffffffff" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"bones": {
|
||||
"pivot": {
|
||||
"scale": [
|
||||
{ "x": 0.8, "y": 0.8, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.2667, "x": 1.1, "y": 1.1, "curve": 0.25, "c3": 0.75 },
|
||||
{ "time": 0.5333 }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"idle": {
|
||||
"bones": {
|
||||
"wheel": {
|
||||
"rotate": [
|
||||
{},
|
||||
{ "time": 3.3333, "angle": 90 },
|
||||
{ "time": 6.6667, "angle": 180 },
|
||||
{ "time": 10, "angle": -90 },
|
||||
{ "time": 13.3333 }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"spin": {
|
||||
"bones": {
|
||||
"wheel": {
|
||||
"rotate": [
|
||||
{},
|
||||
{ "time": 0.1333, "angle": -90 },
|
||||
{ "time": 0.2667, "angle": 180 },
|
||||
{ "time": 0.4, "angle": 90 },
|
||||
{ "time": 0.5333 }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"stop": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.2.6",
|
||||
"importer": "spine-data",
|
||||
"imported": true,
|
||||
"uuid": "5321c5a2-7473-436b-913c-39a871376ea0",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 679 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.26",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "005f87de-32cd-49c8-bc85-958afeb9e364",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "005f87de-32cd-49c8-bc85-958afeb9e364@6c48a",
|
||||
"displayName": "lucky-spin",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "005f87de-32cd-49c8-bc85-958afeb9e364",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "005f87de-32cd-49c8-bc85-958afeb9e364@f9941",
|
||||
"displayName": "lucky-spin",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": -218,
|
||||
"offsetY": 10,
|
||||
"trimX": 4,
|
||||
"trimY": 4,
|
||||
"width": 580,
|
||||
"height": 996,
|
||||
"rawWidth": 1024,
|
||||
"rawHeight": 1024,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-290,
|
||||
-498,
|
||||
0,
|
||||
290,
|
||||
-498,
|
||||
0,
|
||||
-290,
|
||||
498,
|
||||
0,
|
||||
290,
|
||||
498,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
4,
|
||||
1020,
|
||||
584,
|
||||
1020,
|
||||
4,
|
||||
24,
|
||||
584,
|
||||
24
|
||||
],
|
||||
"nuv": [
|
||||
0.00390625,
|
||||
0.0234375,
|
||||
0.5703125,
|
||||
0.0234375,
|
||||
0.00390625,
|
||||
0.99609375,
|
||||
0.5703125,
|
||||
0.99609375
|
||||
],
|
||||
"minPos": [
|
||||
-290,
|
||||
-498,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
290,
|
||||
498,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "005f87de-32cd-49c8-bc85-958afeb9e364@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "005f87de-32cd-49c8-bc85-958afeb9e364@f9941"
|
||||
}
|
||||
}
|
|
@ -153,7 +153,7 @@
|
|||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"y": 40,
|
||||
"z": 10
|
||||
},
|
||||
"_lrot": {
|
||||
|
@ -1017,7 +1017,7 @@
|
|||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
"y": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
|
@ -1127,12 +1127,15 @@
|
|||
"__id__": 80
|
||||
},
|
||||
"_collectSound": {
|
||||
"__uuid__": "1ac12acc-dde3-4d31-9106-dfc30c030d40",
|
||||
"__uuid__": "05a2671e-35bb-4be0-9244-43d541b9a26a",
|
||||
"__expectedType__": "cc.AudioClip"
|
||||
},
|
||||
"_animation": {
|
||||
"__id__": 82
|
||||
},
|
||||
"sprite": {
|
||||
"__id__": 73
|
||||
},
|
||||
"displayName": "CHEESE",
|
||||
"time": 10,
|
||||
"_id": ""
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "fd465778-69b4-4cf8-9be2-48528a561b58",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "SecretBooster_flip_card"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "3aaaa833-5e70-4ec2-9480-47180250bb9d",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "SecretBooster_free_reward"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "a0154013-d559-4ebd-9c19-e549f8759829",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "SecretBooster_lucky_chain"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "c4569dbe-f865-41fd-9cb9-d2be403e5c52",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "SecretBooster_lucky_wheel"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "90d80be9-d824-4dd9-bfd1-2035981a793b",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "95970f5f-8dce-493c-8996-6e3965a2fd9f",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Flip_Card"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "5daa0690-4b3e-4026-b745-0b0420095ef2",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Lucky_Chain"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,925 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "Lucky_Chest",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_native": "",
|
||||
"data": {
|
||||
"__id__": 1
|
||||
},
|
||||
"optimizationPolicy": 0,
|
||||
"persistent": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Lucky_Chest",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 2
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 35
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 39
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 41
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "spine",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 3
|
||||
},
|
||||
{
|
||||
"__id__": 10
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 28
|
||||
},
|
||||
{
|
||||
"__id__": 30
|
||||
},
|
||||
{
|
||||
"__id__": 32
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 34
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Button",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 4
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 9
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -30,
|
||||
"y": 140,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 5
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 600,
|
||||
"height": 600
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "17q54A7hRAu7w+5ib7EKGa"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Button",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 7
|
||||
},
|
||||
"clickEvents": [
|
||||
{
|
||||
"__id__": 8
|
||||
}
|
||||
],
|
||||
"_interactable": true,
|
||||
"_transition": 0,
|
||||
"_normalColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_hoverColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 211,
|
||||
"g": 211,
|
||||
"b": 211,
|
||||
"a": 255
|
||||
},
|
||||
"_pressedColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_disabledColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 124,
|
||||
"g": 124,
|
||||
"b": 124,
|
||||
"a": 255
|
||||
},
|
||||
"_normalSprite": null,
|
||||
"_hoverSprite": null,
|
||||
"_pressedSprite": null,
|
||||
"_disabledSprite": null,
|
||||
"_duration": 0.1,
|
||||
"_zoomScale": 1.2,
|
||||
"_target": null,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "0bNQnwKhtHNrIlRZw8VaXB"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ClickEvent",
|
||||
"target": {
|
||||
"__id__": 1
|
||||
},
|
||||
"component": "",
|
||||
"_componentId": "ad470Ao3iRJlqlmRKGumrMu",
|
||||
"handler": "open",
|
||||
"customEventData": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "a7FWR8Hx1IfILVF+Kna5vR",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Reward",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 11
|
||||
},
|
||||
{
|
||||
"__id__": 17
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 23
|
||||
},
|
||||
{
|
||||
"__id__": 25
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 27
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Label",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 10
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 12
|
||||
},
|
||||
{
|
||||
"__id__": 14
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 16
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -125.884765625,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 11
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 13
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 148.23046875,
|
||||
"height": 138
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "18zn0tVhhFMpybcPN2M0FU"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Label",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 11
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 15
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_string": "100",
|
||||
"_horizontalAlign": 1,
|
||||
"_verticalAlign": 1,
|
||||
"_actualFontSize": 100,
|
||||
"_fontSize": 100,
|
||||
"_fontFamily": "Arial",
|
||||
"_lineHeight": 100,
|
||||
"_overflow": 0,
|
||||
"_enableWrapText": true,
|
||||
"_font": {
|
||||
"__uuid__": "4eb60b5b-72b8-497c-b499-d7921c9b84db",
|
||||
"__expectedType__": "cc.TTFFont"
|
||||
},
|
||||
"_isSystemFontUsed": false,
|
||||
"_spacingX": 0,
|
||||
"_isItalic": false,
|
||||
"_isBold": false,
|
||||
"_isUnderline": false,
|
||||
"_underlineHeight": 2,
|
||||
"_cacheMode": 0,
|
||||
"_enableOutline": true,
|
||||
"_outlineColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 0,
|
||||
"g": 0,
|
||||
"b": 0,
|
||||
"a": 255
|
||||
},
|
||||
"_outlineWidth": 6,
|
||||
"_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": "f0DWlVpChH9b/FpF1x9GMP"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "2au8tDWs9GiJ0Z29DO/vrO",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Sprite",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 10
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 18
|
||||
},
|
||||
{
|
||||
"__id__": 20
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 22
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 58.23046875,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 17
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 19
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 200,
|
||||
"height": 200
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "eeSLyxaSdA14MnU1JhQE8L"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Sprite",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 17
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 21
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "5b5a3073-f986-4350-9ef0-e1fddb56a494@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": "ecbp9qmr5AsK8U3oG22/LR"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "01q2I1EmNPXr4APxBvWUXg",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 10
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 24
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 400,
|
||||
"height": 100
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "00TALsq4ZHl6Ld0LVWiUr7"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Layout",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 10
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 26
|
||||
},
|
||||
"_resizeMode": 0,
|
||||
"_layoutType": 1,
|
||||
"_cellSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 40,
|
||||
"height": 40
|
||||
},
|
||||
"_startAxis": 0,
|
||||
"_paddingLeft": 0,
|
||||
"_paddingRight": 0,
|
||||
"_paddingTop": 0,
|
||||
"_paddingBottom": 0,
|
||||
"_spacingX": 10,
|
||||
"_spacingY": 0,
|
||||
"_verticalDirection": 1,
|
||||
"_horizontalDirection": 0,
|
||||
"_constraint": 0,
|
||||
"_constraintNum": 2,
|
||||
"_affectedByScale": false,
|
||||
"_isAlign": true,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "289shnSS9OzLTNRZIo1ZaP"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "eecto8uchI0JBttEQ77b3N",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 29
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 1280,
|
||||
"height": 1280
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.46616406440734864,
|
||||
"y": 0.4069765567779541
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "0cfBKLa1pChZne6FjL9cYq"
|
||||
},
|
||||
{
|
||||
"__type__": "sp.Skeleton",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 31
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_skeletonData": {
|
||||
"__uuid__": "75cc4005-0956-4ded-8966-c8e347fc48d5",
|
||||
"__expectedType__": "sp.SkeletonData"
|
||||
},
|
||||
"defaultSkin": "default",
|
||||
"defaultAnimation": "",
|
||||
"_premultipliedAlpha": true,
|
||||
"_timeScale": 1,
|
||||
"_preCacheMode": 0,
|
||||
"_cacheMode": 0,
|
||||
"_sockets": [],
|
||||
"_useTint": false,
|
||||
"_debugMesh": false,
|
||||
"_debugBones": false,
|
||||
"_debugSlots": false,
|
||||
"_enableBatch": false,
|
||||
"loop": false,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "21L7AIRjlL4LYtwXg0hbBU"
|
||||
},
|
||||
{
|
||||
"__type__": "88095558MdN+qsTqyxCx1uE",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 33
|
||||
},
|
||||
"ignoreTimeScale": true,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "d5wG1k12tPSLtnW0+IQXsf"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "d8x2Oiw+pDOaWKifX4nb+x",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 36
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 100,
|
||||
"height": 100
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "88ziLh6chEWpDcSRlXBn+Z"
|
||||
},
|
||||
{
|
||||
"__type__": "b2937Y+5yVLE4z8uGa84ZqS",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 38
|
||||
},
|
||||
"skeleton": {
|
||||
"__id__": 30
|
||||
},
|
||||
"_flipX": false,
|
||||
"_flipY": false,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "c1MbWXU5hLnKm6/fqQUv00"
|
||||
},
|
||||
{
|
||||
"__type__": "ad470Ao3iRJlqlmRKGumrMu",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 40
|
||||
},
|
||||
"animationHandler": {
|
||||
"__id__": 37
|
||||
},
|
||||
"spineRoot": {
|
||||
"__id__": 2
|
||||
},
|
||||
"rewardRoot": {
|
||||
"__id__": 10
|
||||
},
|
||||
"rewardSprite": {
|
||||
"__id__": 20
|
||||
},
|
||||
"rewardLabel": {
|
||||
"__id__": 14
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "cfV16eXGdO6agmNgVxnedh"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "d8nEtFnupHxp1DyuqkemXx",
|
||||
"instance": null,
|
||||
"targetOverrides": null
|
||||
}
|
||||
]
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "f1071cf2-53d2-46b0-8fa4-c95b17f8e622",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Lucky_Chest"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "624d1fb0-782f-48f7-8864-9e1db2dc8483",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Lucky_Wheel"
|
||||
}
|
||||
}
|
|
@ -92,7 +92,7 @@
|
|||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 30.310546875,
|
||||
"x": 46.12109375,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
|
@ -207,7 +207,7 @@
|
|||
"_alignFlags": 34,
|
||||
"_target": null,
|
||||
"_left": 20.619999999999997,
|
||||
"_right": -40,
|
||||
"_right": -45,
|
||||
"_top": 0,
|
||||
"_bottom": 0,
|
||||
"_horizontalCenter": 0,
|
||||
|
@ -255,7 +255,7 @@
|
|||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 60.62109375,
|
||||
"width": 82.2421875,
|
||||
"height": 54.4
|
||||
},
|
||||
"_anchorPoint": {
|
||||
|
@ -291,7 +291,7 @@
|
|||
"b": 0,
|
||||
"a": 255
|
||||
},
|
||||
"_string": "+10",
|
||||
"_string": "+100",
|
||||
"_horizontalAlign": 1,
|
||||
"_verticalAlign": 1,
|
||||
"_actualFontSize": 40,
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,938 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.SceneAsset",
|
||||
"_name": "Gacha",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_native": "",
|
||||
"scene": {
|
||||
"__id__": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Scene",
|
||||
"_name": "Gacha",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 2
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [],
|
||||
"_prefab": {
|
||||
"__id__": 40
|
||||
},
|
||||
"_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
|
||||
},
|
||||
"autoReleaseAssets": false,
|
||||
"_globals": {
|
||||
"__id__": 41
|
||||
},
|
||||
"_id": "8eb392e2-dfc6-410a-9878-b5a65b2550f5"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Canvas",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 3
|
||||
},
|
||||
{
|
||||
"__id__": 5
|
||||
},
|
||||
{
|
||||
"__id__": 13
|
||||
},
|
||||
{
|
||||
"__id__": 21
|
||||
},
|
||||
{
|
||||
"__id__": 29
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 38
|
||||
},
|
||||
{
|
||||
"__id__": 39
|
||||
}
|
||||
],
|
||||
"_prefab": null,
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 540,
|
||||
"y": 1170,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": "41AP9kplZNU7evCD9gzXVY"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Camera",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 4
|
||||
}
|
||||
],
|
||||
"_prefab": null,
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 1000
|
||||
},
|
||||
"_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": "51BKHOQYxNLqscuw1zcU/M"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Camera",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": null,
|
||||
"_projection": 0,
|
||||
"_priority": 1073741824,
|
||||
"_fov": 45,
|
||||
"_fovAxis": 0,
|
||||
"_orthoHeight": 1170,
|
||||
"_near": 1,
|
||||
"_far": 2000,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 0,
|
||||
"g": 0,
|
||||
"b": 0,
|
||||
"a": 255
|
||||
},
|
||||
"_depth": 1,
|
||||
"_stencil": 0,
|
||||
"_clearFlags": 6,
|
||||
"_rect": {
|
||||
"__type__": "cc.Rect",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"width": 1,
|
||||
"height": 1
|
||||
},
|
||||
"_aperture": 19,
|
||||
"_shutter": 7,
|
||||
"_iso": 0,
|
||||
"_screenScale": 1,
|
||||
"_visibility": 41943040,
|
||||
"_targetTexture": null,
|
||||
"_postProcess": null,
|
||||
"_usePostProcess": false,
|
||||
"_cameraType": -1,
|
||||
"_trackingType": 0,
|
||||
"_id": "ad49ilyBRJKaliSJ0LVK+c"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 6
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 5
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "95970f5f-8dce-493c-8996-6e3965a2fd9f",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "244TXoUqdKA4qqvhPODAbd",
|
||||
"instance": {
|
||||
"__id__": 7
|
||||
},
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "a4XVLiWqxF76rWoXo+3ZjB",
|
||||
"prefabRootNode": null,
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 8
|
||||
},
|
||||
{
|
||||
"__id__": 10
|
||||
},
|
||||
{
|
||||
"__id__": 11
|
||||
},
|
||||
{
|
||||
"__id__": 12
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 9
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Flip_Card"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"244TXoUqdKA4qqvhPODAbd"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 9
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 9
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 9
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 14
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 13
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "5daa0690-4b3e-4026-b745-0b0420095ef2",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "ec0xxH/etG0KDLbW0fRRht",
|
||||
"instance": {
|
||||
"__id__": 15
|
||||
},
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "33Dn9AllBGnZKARbgAO2Xe",
|
||||
"prefabRootNode": null,
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 16
|
||||
},
|
||||
{
|
||||
"__id__": 18
|
||||
},
|
||||
{
|
||||
"__id__": 19
|
||||
},
|
||||
{
|
||||
"__id__": 20
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 17
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Lucky_Chain"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"ec0xxH/etG0KDLbW0fRRht"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 17
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 17
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 17
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 22
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 21
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "f1071cf2-53d2-46b0-8fa4-c95b17f8e622",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "d8nEtFnupHxp1DyuqkemXx",
|
||||
"instance": {
|
||||
"__id__": 23
|
||||
},
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "27EfF6GvJF+KV13+AjJAGy",
|
||||
"prefabRootNode": null,
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 24
|
||||
},
|
||||
{
|
||||
"__id__": 26
|
||||
},
|
||||
{
|
||||
"__id__": 27
|
||||
},
|
||||
{
|
||||
"__id__": 28
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 25
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Lucky_Chest"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"d8nEtFnupHxp1DyuqkemXx"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 25
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 25
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 25
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 30
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 29
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "624d1fb0-782f-48f7-8864-9e1db2dc8483",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "b0CgrEZDdPP6qjRGc5LHCx",
|
||||
"instance": {
|
||||
"__id__": 31
|
||||
},
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "b1LNwy8O9NnJG96oZk+dmI",
|
||||
"prefabRootNode": null,
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 32
|
||||
},
|
||||
{
|
||||
"__id__": 34
|
||||
},
|
||||
{
|
||||
"__id__": 35
|
||||
},
|
||||
{
|
||||
"__id__": 36
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 33
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "Lucky_Wheel"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"b0CgrEZDdPP6qjRGc5LHCx"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 33
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 33
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 33
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": null,
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 1080,
|
||||
"height": 2340
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": "1byJDTeCFEMplbBRH6ENVx"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Canvas",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": null,
|
||||
"_cameraComponent": {
|
||||
"__id__": 4
|
||||
},
|
||||
"_alignCanvasWithScreen": true,
|
||||
"_id": "5cIJe+efpGw4NUMmyS4LLA"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Widget",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": null,
|
||||
"_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": 0,
|
||||
"_originalHeight": 0,
|
||||
"_alignMode": 2,
|
||||
"_lockFlags": 0,
|
||||
"_id": "d01IgeBABMcb9w3a9D7uoK"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": null,
|
||||
"asset": null,
|
||||
"fileId": "8eb392e2-dfc6-410a-9878-b5a65b2550f5",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 5
|
||||
},
|
||||
{
|
||||
"__id__": 13
|
||||
},
|
||||
{
|
||||
"__id__": 21
|
||||
},
|
||||
{
|
||||
"__id__": 29
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "cc.SceneGlobals",
|
||||
"ambient": {
|
||||
"__id__": 42
|
||||
},
|
||||
"shadows": {
|
||||
"__id__": 43
|
||||
},
|
||||
"_skybox": {
|
||||
"__id__": 44
|
||||
},
|
||||
"fog": {
|
||||
"__id__": 45
|
||||
},
|
||||
"octree": {
|
||||
"__id__": 46
|
||||
},
|
||||
"skin": {
|
||||
"__id__": 47
|
||||
},
|
||||
"lightProbeInfo": {
|
||||
"__id__": 48
|
||||
},
|
||||
"postSettings": {
|
||||
"__id__": 49
|
||||
},
|
||||
"bakedWithStationaryMainLight": false,
|
||||
"bakedWithHighpLightmap": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AmbientInfo",
|
||||
"_skyColorHDR": {
|
||||
"__type__": "cc.Vec4",
|
||||
"x": 0.2,
|
||||
"y": 0.5,
|
||||
"z": 0.8,
|
||||
"w": 0.520833125
|
||||
},
|
||||
"_skyColor": {
|
||||
"__type__": "cc.Vec4",
|
||||
"x": 0.2,
|
||||
"y": 0.5,
|
||||
"z": 0.8,
|
||||
"w": 0.520833125
|
||||
},
|
||||
"_skyIllumHDR": 20000,
|
||||
"_skyIllum": 20000,
|
||||
"_groundAlbedoHDR": {
|
||||
"__type__": "cc.Vec4",
|
||||
"x": 0.2,
|
||||
"y": 0.2,
|
||||
"z": 0.2,
|
||||
"w": 1
|
||||
},
|
||||
"_groundAlbedo": {
|
||||
"__type__": "cc.Vec4",
|
||||
"x": 0.2,
|
||||
"y": 0.2,
|
||||
"z": 0.2,
|
||||
"w": 1
|
||||
},
|
||||
"_skyColorLDR": {
|
||||
"__type__": "cc.Vec4",
|
||||
"x": 0.452588,
|
||||
"y": 0.607642,
|
||||
"z": 0.755699,
|
||||
"w": 0
|
||||
},
|
||||
"_skyIllumLDR": 0.8,
|
||||
"_groundAlbedoLDR": {
|
||||
"__type__": "cc.Vec4",
|
||||
"x": 0.618555,
|
||||
"y": 0.577848,
|
||||
"z": 0.544564,
|
||||
"w": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ShadowsInfo",
|
||||
"_enabled": false,
|
||||
"_type": 0,
|
||||
"_normal": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 1,
|
||||
"z": 0
|
||||
},
|
||||
"_distance": 0,
|
||||
"_planeBias": 1,
|
||||
"_shadowColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 76,
|
||||
"g": 76,
|
||||
"b": 76,
|
||||
"a": 255
|
||||
},
|
||||
"_maxReceived": 4,
|
||||
"_size": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 1024,
|
||||
"y": 1024
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.SkyboxInfo",
|
||||
"_envLightingType": 0,
|
||||
"_envmapHDR": {
|
||||
"__uuid__": "d032ac98-05e1-4090-88bb-eb640dcb5fc1@b47c0",
|
||||
"__expectedType__": "cc.TextureCube"
|
||||
},
|
||||
"_envmap": {
|
||||
"__uuid__": "d032ac98-05e1-4090-88bb-eb640dcb5fc1@b47c0",
|
||||
"__expectedType__": "cc.TextureCube"
|
||||
},
|
||||
"_envmapLDR": {
|
||||
"__uuid__": "6f01cf7f-81bf-4a7e-bd5d-0afc19696480@b47c0",
|
||||
"__expectedType__": "cc.TextureCube"
|
||||
},
|
||||
"_diffuseMapHDR": null,
|
||||
"_diffuseMapLDR": null,
|
||||
"_enabled": false,
|
||||
"_useHDR": true,
|
||||
"_editableMaterial": null,
|
||||
"_reflectionHDR": null,
|
||||
"_reflectionLDR": null,
|
||||
"_rotationAngle": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.FogInfo",
|
||||
"_type": 0,
|
||||
"_fogColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 200,
|
||||
"g": 200,
|
||||
"b": 200,
|
||||
"a": 255
|
||||
},
|
||||
"_enabled": false,
|
||||
"_fogDensity": 0.3,
|
||||
"_fogStart": 0.5,
|
||||
"_fogEnd": 300,
|
||||
"_fogAtten": 5,
|
||||
"_fogTop": 1.5,
|
||||
"_fogRange": 1.2,
|
||||
"_accurate": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.OctreeInfo",
|
||||
"_enabled": false,
|
||||
"_minPos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -1024,
|
||||
"y": -1024,
|
||||
"z": -1024
|
||||
},
|
||||
"_maxPos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1024,
|
||||
"y": 1024,
|
||||
"z": 1024
|
||||
},
|
||||
"_depth": 8
|
||||
},
|
||||
{
|
||||
"__type__": "cc.SkinInfo",
|
||||
"_enabled": true,
|
||||
"_blurRadius": 0.01,
|
||||
"_sssIntensity": 3
|
||||
},
|
||||
{
|
||||
"__type__": "cc.LightProbeInfo",
|
||||
"_giScale": 1,
|
||||
"_giSamples": 1024,
|
||||
"_bounces": 2,
|
||||
"_reduceRinging": 0,
|
||||
"_showProbe": true,
|
||||
"_showWireframe": true,
|
||||
"_showConvex": false,
|
||||
"_data": null,
|
||||
"_lightProbeSphereVolume": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PostSettingsInfo",
|
||||
"_toneMappingType": 0
|
||||
}
|
||||
]
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "scene",
|
||||
"imported": true,
|
||||
"uuid": "8eb392e2-dfc6-410a-9878-b5a65b2550f5",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
import { _decorator, Component, Node } from 'cc';
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('GachaBase')
|
||||
export default abstract class GachaBase extends Component {
|
||||
public abstract show(): void;
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "f323b624-13bd-4ebd-9abf-28bb66340668",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,282 @@
|
|||
import { _decorator, Component, Enum, Node, setPropertyEnumType, sp } from 'cc';
|
||||
|
||||
const { ccclass, property, type } = _decorator;
|
||||
|
||||
export enum SocketPath {}
|
||||
Enum(SocketPath);
|
||||
|
||||
export enum SpineAnimation {}
|
||||
Enum(SpineAnimation);
|
||||
|
||||
export enum SpineSkin {}
|
||||
Enum(SpineSkin);
|
||||
|
||||
@ccclass('SpineAnimationHandler')
|
||||
export default class SpineAnimationHandler extends Component {
|
||||
@property(sp.Skeleton)
|
||||
private skeleton: sp.Skeleton;
|
||||
@property({ visible: true })
|
||||
private _flipX: boolean = false;
|
||||
@property({ visible: true })
|
||||
private _flipY: boolean = false;
|
||||
|
||||
public get flipX() {
|
||||
return this._flipX;
|
||||
}
|
||||
public set flipX(value: boolean) {
|
||||
if (value) {
|
||||
this.skeleton._skeleton.scaleX = -Math.abs(this.skeleton._skeleton.scaleX);
|
||||
} else {
|
||||
this.skeleton._skeleton.scaleX = Math.abs(this.skeleton._skeleton.scaleX);
|
||||
}
|
||||
|
||||
this._flipX = value;
|
||||
}
|
||||
public get flipY() {
|
||||
return this._flipY;
|
||||
}
|
||||
public set flipY(value: boolean) {
|
||||
if (value) {
|
||||
this.skeleton._skeleton.scaleY = -Math.abs(this.skeleton._skeleton.scaleY);
|
||||
} else {
|
||||
this.skeleton._skeleton.scaleY = Math.abs(this.skeleton._skeleton.scaleY);
|
||||
}
|
||||
|
||||
this._flipX = value;
|
||||
}
|
||||
|
||||
private _enumSocketPath = Enum({});
|
||||
private _enumAnimation = Enum({});
|
||||
private _enumSkin = Enum({});
|
||||
|
||||
onFocusInEditor(): void {
|
||||
this.setPropertySocketPath(this, '');
|
||||
}
|
||||
|
||||
protected onLoad(): void {
|
||||
this.skeleton._skeleton.scaleX = this._flipX ? -this.skeleton._skeleton.scaleX : this.skeleton._skeleton.scaleX;
|
||||
this.skeleton._skeleton.scaleY = this._flipY ? -this.skeleton._skeleton.scaleY : this.skeleton._skeleton.scaleY;
|
||||
}
|
||||
|
||||
public setPropertySocketPath(object: object, propertyName: string) {
|
||||
//update enum SocketPath
|
||||
let pathEnum = {};
|
||||
this.skeleton.querySockets().forEach((path, i) => {
|
||||
pathEnum[path] = i;
|
||||
});
|
||||
this._enumSocketPath = Enum({});
|
||||
Object.assign(this._enumSocketPath, pathEnum);
|
||||
Enum.update(this._enumSocketPath);
|
||||
setPropertyEnumType(object, propertyName, this._enumSocketPath);
|
||||
}
|
||||
|
||||
public setPropertySpineAnimation(object: object, propertyName: string) {
|
||||
//update enum Animations
|
||||
let animEnum = this.skeleton.skeletonData.getAnimsEnum();
|
||||
this._enumAnimation = Enum({});
|
||||
Object.assign(this._enumAnimation, animEnum);
|
||||
Enum.update(this._enumAnimation);
|
||||
setPropertyEnumType(object, propertyName, this._enumAnimation);
|
||||
}
|
||||
|
||||
public setPropertySpineSkin(object: object, propertyName: string) {
|
||||
//update enum Skin
|
||||
let skinEnum = this.skeleton.skeletonData.getSkinsEnum();
|
||||
this._enumSkin = Enum({});
|
||||
Object.assign(this._enumSkin, skinEnum);
|
||||
Enum.update(this._enumSkin);
|
||||
setPropertyEnumType(object, propertyName, this._enumSkin);
|
||||
}
|
||||
|
||||
public setAnimation(
|
||||
animName: string,
|
||||
options?: {
|
||||
loop?: boolean;
|
||||
trackIndex?: number;
|
||||
ignoreAnimationRunning?: boolean;
|
||||
onComplete?: (entry: sp.spine.TrackEntry) => void;
|
||||
},
|
||||
): sp.spine.TrackEntry {
|
||||
if (!this.skeleton) return null;
|
||||
const opts = {
|
||||
trackIndex: 0,
|
||||
loop: false,
|
||||
...options,
|
||||
};
|
||||
|
||||
if (opts.ignoreAnimationRunning) {
|
||||
const trackEntry = this.skeleton.getCurrent(opts.trackIndex);
|
||||
const animRunning = trackEntry?.animation?.name;
|
||||
if (animRunning && animRunning == animName) return trackEntry;
|
||||
}
|
||||
|
||||
this.skeleton.setCompleteListener(null);
|
||||
const trackEntry = this.skeleton.setAnimation(opts?.trackIndex || 0, animName, opts?.loop);
|
||||
if (opts.onComplete) {
|
||||
this.skeleton.setCompleteListener(opts.onComplete);
|
||||
}
|
||||
|
||||
return trackEntry;
|
||||
}
|
||||
|
||||
public setListener(listener: (entry: sp.spine.TrackEntry, e: sp.spine.Event) => void) {
|
||||
this.skeleton.setEventListener(listener);
|
||||
}
|
||||
|
||||
public setAnimationAsync(
|
||||
animName: string,
|
||||
options?: {
|
||||
loop?: boolean;
|
||||
trackIndex?: number;
|
||||
ignoreAnimationRunning?: boolean;
|
||||
},
|
||||
): Promise<sp.spine.TrackEntry> {
|
||||
return new Promise((resolve) => {
|
||||
this.setAnimation(animName, {
|
||||
...options,
|
||||
onComplete(entry) {
|
||||
resolve(entry);
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public addAnimation(
|
||||
animName: string,
|
||||
options?: {
|
||||
loop?: boolean;
|
||||
trackIndex?: number;
|
||||
mixDuration?: number;
|
||||
delay?: number;
|
||||
onComplete?: (entry: sp.spine.TrackEntry) => void;
|
||||
},
|
||||
): sp.spine.TrackEntry {
|
||||
if (!this.skeleton) return null;
|
||||
const opts = {
|
||||
trackIndex: 0,
|
||||
loop: false,
|
||||
...options,
|
||||
};
|
||||
|
||||
this.skeleton.setCompleteListener(null);
|
||||
const trackEntry = this.skeleton.addAnimation(opts?.trackIndex || 0, animName, opts?.loop, opts?.delay);
|
||||
|
||||
if (opts?.mixDuration) {
|
||||
trackEntry.mixDuration = opts.mixDuration;
|
||||
}
|
||||
|
||||
if (opts.onComplete) {
|
||||
this.skeleton.setCompleteListener(opts.onComplete);
|
||||
}
|
||||
|
||||
return trackEntry;
|
||||
}
|
||||
|
||||
public addAnimationAsync(
|
||||
animName: string,
|
||||
options?: {
|
||||
loop?: boolean;
|
||||
trackIndex?: number;
|
||||
mixDuration?: number;
|
||||
delay?: number;
|
||||
},
|
||||
): Promise<sp.spine.TrackEntry> {
|
||||
return new Promise((resolve) => {
|
||||
this.addAnimation(animName, {
|
||||
...options,
|
||||
onComplete(entry) {
|
||||
resolve(entry);
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public addEmptyAnimation(options?: {
|
||||
trackIndex?: number;
|
||||
mixDuration?: number;
|
||||
delay?: number;
|
||||
onComplete?: (entry: sp.spine.TrackEntry) => void;
|
||||
}): sp.spine.TrackEntry {
|
||||
if (!this.skeleton) return;
|
||||
const opts = {
|
||||
trackIndex: 0,
|
||||
mixDuration: 0.2,
|
||||
delay: 0.2,
|
||||
...options,
|
||||
};
|
||||
|
||||
const trackEntry = this.skeleton.getState().addEmptyAnimation(opts.trackIndex, opts.mixDuration, opts.delay);
|
||||
|
||||
if (opts.onComplete) {
|
||||
this.skeleton.setTrackCompleteListener(trackEntry, opts.onComplete);
|
||||
}
|
||||
return trackEntry;
|
||||
}
|
||||
|
||||
public addEmptyAnimationAsync(options?: {
|
||||
trackIndex?: number;
|
||||
mixDuration?: number;
|
||||
delay?: number;
|
||||
}): Promise<sp.spine.TrackEntry> {
|
||||
return new Promise((resolve) => {
|
||||
this.addEmptyAnimation({
|
||||
...options,
|
||||
onComplete(entry) {
|
||||
resolve(entry);
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public clearTrack(trackIndex: number = 0): void {
|
||||
if (!this.skeleton) return;
|
||||
this.skeleton.clearTrack(trackIndex);
|
||||
}
|
||||
|
||||
public findBone(boneName: string): sp.spine.Bone {
|
||||
return this.skeleton.findBone(boneName);
|
||||
}
|
||||
|
||||
public socketPathToString(socketPath: SocketPath): string {
|
||||
return this.skeleton.querySockets()[socketPath];
|
||||
}
|
||||
|
||||
public SpineAnimationToString(animationName: SpineAnimation): string {
|
||||
return this.skeleton._skeleton.data.animations[animationName].name;
|
||||
}
|
||||
|
||||
public SpineAnimationToAnimation(animationName: SpineAnimation): sp.spine.Animation {
|
||||
return this.skeleton._skeleton.data.animations[animationName];
|
||||
}
|
||||
|
||||
public addSocket(socketPath: SocketPath | string, target: Node): sp.SpineSocket {
|
||||
let socket: sp.SpineSocket;
|
||||
if (typeof socketPath === 'string') {
|
||||
socket = new sp.SpineSocket(socketPath, target);
|
||||
} else {
|
||||
socket = new sp.SpineSocket(this.socketPathToString(socketPath), target);
|
||||
}
|
||||
this.skeleton.sockets.push(socket);
|
||||
this.skeleton!.sockets = this.skeleton!.sockets;
|
||||
return socket;
|
||||
}
|
||||
|
||||
public updateSocketPath(socket: sp.SpineSocket, socketPath: SocketPath | string): sp.SpineSocket {
|
||||
let newSocket: sp.SpineSocket;
|
||||
if (typeof socketPath === 'string') {
|
||||
newSocket = new sp.SpineSocket(socketPath, socket.target);
|
||||
} else {
|
||||
newSocket = new sp.SpineSocket(this.socketPathToString(socketPath), socket.target);
|
||||
}
|
||||
const index = this.skeleton.sockets.indexOf(socket);
|
||||
this.skeleton.sockets[index] = newSocket;
|
||||
this.skeleton!.sockets = this.skeleton!.sockets;
|
||||
return newSocket;
|
||||
}
|
||||
|
||||
public removeSocket(socket: sp.SpineSocket): void {
|
||||
const index = this.skeleton.sockets.indexOf(socket);
|
||||
this.skeleton.sockets.splice(index, 1);
|
||||
this.skeleton!.sockets = this.skeleton!.sockets;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "b293763e-e725-4b13-8cfc-b866bce19a92",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
import { _decorator, CCBoolean, Component, game, Node, sp } from 'cc';
|
||||
|
||||
const { ccclass, property, requireComponent } = _decorator;
|
||||
|
||||
@ccclass('SpineIgnoreTimeScale')
|
||||
@requireComponent(sp.Skeleton)
|
||||
export default class SpineIgnoreTimeScale extends Component {
|
||||
@property(CCBoolean)
|
||||
private ignoreTimeScale: boolean = false;
|
||||
|
||||
private _skeleton: sp.Skeleton;
|
||||
|
||||
protected onLoad(): void {
|
||||
this._skeleton = this.getComponent(sp.Skeleton);
|
||||
}
|
||||
|
||||
protected update(dt: number): void {
|
||||
if (game.timeScale != 1) {
|
||||
this._skeleton.updateAnimation(this.ignoreTimeScale ? game.deltaTime : dt);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "88095e79-f0c7-4dfa-ab13-ab2c42c75b84",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -1,7 +1,21 @@
|
|||
import { _decorator, Animation, AudioClip, CCFloat, CCString, Collider2D, Component, Contact2DType } from 'cc';
|
||||
import {
|
||||
_decorator,
|
||||
Animation,
|
||||
AudioClip,
|
||||
CCFloat,
|
||||
CCString,
|
||||
Collider2D,
|
||||
Component,
|
||||
Contact2DType,
|
||||
Node,
|
||||
Sprite,
|
||||
Vec3,
|
||||
} from 'cc';
|
||||
import BoosterType from '../Enum/BoosterType';
|
||||
import GameEvent from '../Events/GameEvent';
|
||||
import AudioManager from '../Manager/AudioManager';
|
||||
import { EventManger } from '../Manager/EventManger';
|
||||
import { GameManager } from '../Manager/GameManager';
|
||||
import IPoolable from '../Pool/IPoolable';
|
||||
import ObjectPool from '../Pool/ObjectPool';
|
||||
import Utils from '../Utilities';
|
||||
|
@ -15,35 +29,73 @@ export class BoosterBase extends Component implements IPoolable {
|
|||
protected _collectSound: AudioClip;
|
||||
@property({ type: Animation, visible: true })
|
||||
private _animation: Animation;
|
||||
@property(Sprite)
|
||||
private sprite: Sprite;
|
||||
@property(CCString)
|
||||
public readonly displayName: string = 'CHEESE';
|
||||
@property(CCFloat)
|
||||
protected time: number = 10;
|
||||
protected duration: number = 10;
|
||||
|
||||
private active: boolean = true;
|
||||
public readonly type: BoosterType;
|
||||
private _timer: number = 0;
|
||||
private _activeCollider: boolean = true;
|
||||
private _active: boolean = false;
|
||||
|
||||
public get active() {
|
||||
return this._active;
|
||||
}
|
||||
|
||||
protected onLoad(): void {
|
||||
this._collider.on(Contact2DType.BEGIN_CONTACT, this.onContactBegin, this);
|
||||
this.active = false;
|
||||
this._activeCollider = false;
|
||||
}
|
||||
|
||||
private onContactBegin(self: Collider2D, other: Collider2D) {
|
||||
if (!this.active) return;
|
||||
this.boosterActive();
|
||||
this.active = false;
|
||||
if (!this._activeCollider) return;
|
||||
this._activeCollider = false;
|
||||
AudioManager.playSfx(this._collectSound);
|
||||
EventManger.instance.emit(GameEvent.ObjectRelease, this.node);
|
||||
ObjectPool.release(this.node);
|
||||
GameManager.instance.addBooster(this);
|
||||
}
|
||||
|
||||
protected boosterActive?(): void;
|
||||
public tick(dt: number) {
|
||||
if (!this._active) return;
|
||||
this.node.setPosition(Vec3.ZERO);
|
||||
this._timer += dt;
|
||||
if (this._timer >= this.duration) {
|
||||
this._active = false;
|
||||
}
|
||||
}
|
||||
|
||||
public resetTime() {
|
||||
this._timer = 0;
|
||||
}
|
||||
|
||||
public collect(collector: Node) {
|
||||
this._active = true;
|
||||
this._timer = 0;
|
||||
this.sprite.setNodeActive(false);
|
||||
this.node.setParent(collector);
|
||||
}
|
||||
public end() {
|
||||
if (!this.node.releaseToPool()) {
|
||||
this.node.destroy();
|
||||
}
|
||||
}
|
||||
public dispose() {
|
||||
if (!this.node.releaseToPool()) {
|
||||
this.node.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
async onGet() {
|
||||
this._animation.play();
|
||||
await Utils.delay(this._animation.defaultClip.duration);
|
||||
this.active = true;
|
||||
this._activeCollider = true;
|
||||
this.sprite.setNodeActive(true);
|
||||
}
|
||||
|
||||
onRelease() {
|
||||
this.active = false;
|
||||
this._activeCollider = false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,20 @@
|
|||
import { _decorator, Component, Node } from 'cc';
|
||||
import { BoosterBase } from './BoosterBase';
|
||||
import { GameManager } from '../Manager/GameManager';
|
||||
import BoosterType from '../Enum/BoosterType';
|
||||
import AudioManager from '../Manager/AudioManager';
|
||||
import { BoosterBase } from './BoosterBase';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('CumulativeBooster')
|
||||
export class CumulativeBooster extends BoosterBase {
|
||||
protected boosterActive(): void {
|
||||
GameManager.instance.ActiveBooster(BoosterType.CumulativeBar, this.time, this.displayName);
|
||||
public readonly type: BoosterType = BoosterType.CumulativeBar;
|
||||
|
||||
public collect(collector: Node): void {
|
||||
super.collect(collector);
|
||||
AudioManager.setPlayRateBGM(1.5);
|
||||
}
|
||||
|
||||
public end(): void {
|
||||
super.end();
|
||||
AudioManager.setPlayRateBGM(1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
import { _decorator, Component, game, Node, TweenSystem } from 'cc';
|
||||
import BoosterType from '../Enum/BoosterType';
|
||||
import GachaManager, { GachaType } from '../Manager/GachaManager';
|
||||
import { BoosterBase } from './BoosterBase';
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('SecretBoxBooster')
|
||||
export default class SecretBoxBooster extends BoosterBase {
|
||||
public readonly type: BoosterType = BoosterType.Gacha;
|
||||
|
||||
@property({ type: GachaType })
|
||||
private gachaType: GachaType;
|
||||
|
||||
public collect(collector: Node) {
|
||||
super.collect(collector);
|
||||
GachaManager.instance.show(this.gachaType, 1.5);
|
||||
}
|
||||
|
||||
public tick(dt: number): void {
|
||||
super.tick(dt);
|
||||
TweenSystem.instance.update(game.deltaTime);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "016c5a9d-bb6a-44d9-acef-c99f56add5a3",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
enum BoosterType {
|
||||
CumulativeBar,
|
||||
Gacha,
|
||||
}
|
||||
|
||||
export default BoosterType;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import { _decorator, CCFloat, Component, geometry, Label, Sprite, SpriteFrame, tween, Vec3 } from 'cc';
|
||||
import { _decorator, CCFloat, Component, geometry, Label, Sprite, SpriteFrame, tween, Vec3, Widget } from 'cc';
|
||||
import ObjectPool from '../Pool/ObjectPool';
|
||||
import Utils from '../Utilities';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('FloatingText')
|
||||
|
@ -16,7 +17,7 @@ export class FloatingText extends Component {
|
|||
private readonly _scaleDownDuration = 0.2;
|
||||
private _moveDuration = 0;
|
||||
|
||||
public show(text: string, position: Vec3, scale = 1, duration = 1, image: SpriteFrame = null) {
|
||||
public async show(text: string, position: Vec3, scale = 1, duration = 1, image: SpriteFrame = null) {
|
||||
if (duration < this._scaleUpDuration + this._scaleDownDuration) {
|
||||
console.warn(
|
||||
`show duration time of floating text must be greater than ${this._scaleUpDuration + this._scaleDownDuration}`,
|
||||
|
@ -54,5 +55,7 @@ export class FloatingText extends Component {
|
|||
ObjectPool.release(this.node);
|
||||
})
|
||||
.start();
|
||||
await Utils.delay(0.05);
|
||||
this._sprite.getComponent(Widget).updateAlignment();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ import BoosterType from '../Enum/BoosterType';
|
|||
import ControllerSide from '../Enum/ControllerSide';
|
||||
import GameState from '../Enum/GameState';
|
||||
import ScoreType from '../Enum/ScoreType';
|
||||
import { RewardType } from '../Manager/GachaManager';
|
||||
|
||||
enum GameEvent {
|
||||
Score,
|
||||
|
|
|
@ -85,6 +85,7 @@ declare global {
|
|||
}
|
||||
|
||||
interface Array<T> {
|
||||
getRandomIndex(): number;
|
||||
getRandom(): T;
|
||||
getRandom(weights: number[]): T;
|
||||
}
|
||||
|
@ -268,6 +269,10 @@ String.prototype.isNullOrWhiteSpace = function () {
|
|||
|
||||
//#region ARRAY
|
||||
|
||||
Array.prototype.getRandomIndex = function () {
|
||||
return randomRangeInt(0, this.length);
|
||||
};
|
||||
|
||||
Array.prototype.getRandom = function (weights?: number[]) {
|
||||
if (weights) {
|
||||
let weightsClone = [...weights];
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "8c032cda-38fa-43e1-8b9f-3e8ba49c6c13",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
import { _decorator, Component, Node, Sprite } from 'cc';
|
||||
import GachaBase from '../Base/GachaBase';
|
||||
import SpineAnimationHandler from '../Base/SpineAnimationHandler';
|
||||
import GachaManager from '../Manager/GachaManager';
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('FlipCard')
|
||||
export default class FlipCard extends GachaBase {
|
||||
@property(SpineAnimationHandler)
|
||||
private animationHandler: SpineAnimationHandler;
|
||||
@property(Node)
|
||||
private spineRoot: Node;
|
||||
@property(Sprite)
|
||||
private cards: Sprite[] = [];
|
||||
|
||||
private _opened: boolean = false;
|
||||
|
||||
protected onLoad(): void {
|
||||
this.animationHandler.setListener((_, e) => {
|
||||
switch (e.data.name) {
|
||||
case 'card1-active':
|
||||
this.cards[0].setNodeActive(true);
|
||||
break;
|
||||
case 'card2-active':
|
||||
this.cards[1].setNodeActive(true);
|
||||
break;
|
||||
case 'card3-active':
|
||||
this.cards[2].setNodeActive(true);
|
||||
break;
|
||||
case 'card4-active':
|
||||
this.cards[3].setNodeActive(true);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected onEnable(): void {
|
||||
this._opened = false;
|
||||
this.cards.forEach((card) => card.setNodeActive(false));
|
||||
this.spineRoot.setActive(false);
|
||||
}
|
||||
|
||||
public async show(): Promise<void> {
|
||||
this.spineRoot.setActive(true);
|
||||
await this.animationHandler.setAnimationAsync('appear');
|
||||
this.animationHandler.addAnimation('idle', { loop: true });
|
||||
}
|
||||
|
||||
public async open(event: Event, value: string) {
|
||||
if (this._opened) return;
|
||||
this._opened = true;
|
||||
if (this.cards[+value - 1].node.active) return;
|
||||
const reward = await GachaManager.instance.getReward();
|
||||
if (reward) {
|
||||
this.cards[+value - 1].spriteFrame = reward.icon;
|
||||
await this.animationHandler.setAnimationAsync(`card${value}-active`, { trackIndex: +value });
|
||||
GachaManager.instance.showFloatingText(
|
||||
reward.quantity.toString(),
|
||||
this.cards[+value - 1].node.worldPosition,
|
||||
reward.icon,
|
||||
);
|
||||
GachaManager.instance.gachaDone();
|
||||
}
|
||||
|
||||
GachaManager.instance.gachaDone();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "818c6c87-fb05-44d6-8633-e887d400aab5",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
import { _decorator, clamp01, Component, easing, game, Label, Node, Sprite, Vec3 } from 'cc';
|
||||
import GachaBase from '../Base/GachaBase';
|
||||
import SpineAnimationHandler from '../Base/SpineAnimationHandler';
|
||||
import GachaManager, { RewardConfig } from '../Manager/GachaManager';
|
||||
import Utils from '../Utilities';
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('FreeReward')
|
||||
export default class FreeReward extends GachaBase {
|
||||
@property(SpineAnimationHandler)
|
||||
private animationHandler: SpineAnimationHandler;
|
||||
@property(Node)
|
||||
private spineRoot: Node;
|
||||
@property(Node)
|
||||
private rewardRoot: Node;
|
||||
@property(Sprite)
|
||||
private rewardSprite: Sprite;
|
||||
@property(Label)
|
||||
private rewardLabel: Label;
|
||||
|
||||
private _opened: boolean = false;
|
||||
private _startShowReward: boolean = false;
|
||||
private _timer: number = 0;
|
||||
private _reward: RewardConfig;
|
||||
|
||||
protected onEnable(): void {
|
||||
this.spineRoot.setActive(false);
|
||||
this.rewardRoot.setActive(false);
|
||||
this._opened = false;
|
||||
}
|
||||
|
||||
protected update(dt: number): void {
|
||||
if (this._startShowReward) {
|
||||
let k = clamp01(this._timer / 0.3);
|
||||
k = easing.quintInOut(k);
|
||||
const targetScale = Vec3.lerp(this.rewardRoot.scale, Vec3.ZERO, Vec3.ONE, k);
|
||||
const targetPosition = Vec3.lerp(this.rewardRoot.position, new Vec3(0, 150), new Vec3(0, 700), k);
|
||||
this.rewardRoot.setScale(targetScale);
|
||||
this.rewardRoot.setPosition(targetPosition);
|
||||
this._timer += game.deltaTime;
|
||||
if (k === 1) {
|
||||
this._startShowReward = false;
|
||||
GachaManager.instance.gachaDone();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async show() {
|
||||
this.spineRoot.setActive(true);
|
||||
await this.animationHandler.setAnimationAsync('appear');
|
||||
this.animationHandler.addAnimation('idle', { loop: true });
|
||||
}
|
||||
|
||||
public async open() {
|
||||
if (this._opened) return;
|
||||
this._timer = 0;
|
||||
this._opened = true;
|
||||
this._reward = await GachaManager.instance.getReward();
|
||||
if (this._reward) {
|
||||
this.animationHandler.setAnimation('open');
|
||||
this.rewardSprite.spriteFrame = this._reward.icon;
|
||||
this.rewardLabel.string = this._reward.quantity.toString();
|
||||
await Utils.delay(1);
|
||||
this.rewardRoot.setActive(true);
|
||||
this._startShowReward = true;
|
||||
return;
|
||||
}
|
||||
|
||||
this._startShowReward = false;
|
||||
GachaManager.instance.gachaDone();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "ad470028-de24-4996-a966-44a1ae9ab32e",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,109 @@
|
|||
import { _decorator, Component, Node, sp, Sprite, SpriteFrame } from 'cc';
|
||||
import GachaBase from '../Base/GachaBase';
|
||||
import SpineAnimationHandler, { SocketPath, SpineAnimation, SpineSkin } from '../Base/SpineAnimationHandler';
|
||||
import GachaManager, { RewardConfig } from '../Manager/GachaManager';
|
||||
import Utils from '../Utilities';
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
class RewardCard {
|
||||
public socket: sp.SpineSocket;
|
||||
public node: Node;
|
||||
public reward: RewardConfig;
|
||||
|
||||
constructor(node: Node, reward: RewardConfig) {
|
||||
this.node = node;
|
||||
this.reward = reward;
|
||||
}
|
||||
|
||||
public setActive(value: boolean) {
|
||||
this.node.setActive(value);
|
||||
}
|
||||
}
|
||||
|
||||
@ccclass('LuckyChain')
|
||||
export default class LuckyChain extends GachaBase {
|
||||
@property(SpineAnimationHandler)
|
||||
private animationHandler: SpineAnimationHandler;
|
||||
@property(Node)
|
||||
private spriteRoot: Node;
|
||||
@property(Node)
|
||||
private cards: Node[] = [];
|
||||
@property({ type: SocketPath })
|
||||
private cardSlotPath: SocketPath[] = [];
|
||||
|
||||
private _activeCards: RewardCard[] = [];
|
||||
private _allCards: RewardCard[] = [];
|
||||
private _reward: RewardCard;
|
||||
|
||||
onFocusInEditor(): void {
|
||||
this.animationHandler.setPropertySocketPath(this, 'cardSlotPath');
|
||||
}
|
||||
|
||||
protected onLoad(): void {
|
||||
this.setReward();
|
||||
|
||||
for (let i = 0; i < 4; i++) {
|
||||
const card = this._allCards.shift();
|
||||
const path = this.cardSlotPath[i];
|
||||
const socket = this.animationHandler.addSocket(path, card.node);
|
||||
card.setActive(true);
|
||||
card.socket = socket;
|
||||
this._activeCards.push(card);
|
||||
}
|
||||
|
||||
this.animationHandler.setListener((_, e) => {
|
||||
switch (e.data.name) {
|
||||
case 'card-claimed':
|
||||
const cardRemove = this._activeCards.shift();
|
||||
this._reward = cardRemove;
|
||||
this.animationHandler.removeSocket(cardRemove.socket);
|
||||
cardRemove.setActive(false);
|
||||
cardRemove.socket = null;
|
||||
this._allCards.push(cardRemove);
|
||||
break;
|
||||
case 'new-card-spawned':
|
||||
const card = this._allCards.shift();
|
||||
const path = this.cardSlotPath[this.cardSlotPath.length - 1];
|
||||
const socket = this.animationHandler.addSocket(path, card.node);
|
||||
card.setActive(true);
|
||||
card.socket = socket;
|
||||
this._activeCards.push(card);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected onEnable(): void {
|
||||
this.spriteRoot.setActive(false);
|
||||
}
|
||||
|
||||
private setReward() {
|
||||
this._allCards = this.cards.map((card) => {
|
||||
const rw = GachaManager.instance.getRandomReward([60, 35, 5]);
|
||||
card.getComponent(Sprite).spriteFrame = rw.icon;
|
||||
card.setActive(false);
|
||||
return new RewardCard(card, rw);
|
||||
});
|
||||
}
|
||||
|
||||
public async show(): Promise<void> {
|
||||
this.spriteRoot.setActive(true);
|
||||
await this.animationHandler.setAnimationAsync('appear');
|
||||
await this.animationHandler.addAnimationAsync('active');
|
||||
GachaManager.instance.showFloatingText(
|
||||
this._reward.reward.quantity.toString(),
|
||||
this.node.worldPosition,
|
||||
this._reward.reward.icon,
|
||||
);
|
||||
GachaManager.instance.setReward(this._reward.reward.id);
|
||||
|
||||
await Utils.delay(1.5);
|
||||
//update socket path
|
||||
for (let i = 0; i < 4; i++) {
|
||||
const card = this._activeCards[i];
|
||||
const path = this.cardSlotPath[i];
|
||||
this._activeCards[i].socket = this.animationHandler.updateSocketPath(card.socket, path);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "750b24fe-b9b8-4a9d-aa06-2da4dfb6d70d",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,122 @@
|
|||
import {
|
||||
_decorator,
|
||||
CCInteger,
|
||||
CCString,
|
||||
Component,
|
||||
game,
|
||||
Node,
|
||||
random,
|
||||
randomRangeInt,
|
||||
RealCurve,
|
||||
sp,
|
||||
Sprite,
|
||||
} from 'cc';
|
||||
import GachaBase from '../Base/GachaBase';
|
||||
import SpineAnimationHandler from '../Base/SpineAnimationHandler';
|
||||
import GachaManager, { RewardConfig } from '../Manager/GachaManager';
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
class RewardCard {
|
||||
public node: Node;
|
||||
public reward: RewardConfig;
|
||||
|
||||
constructor(node: Node, reward: RewardConfig) {
|
||||
this.node = node;
|
||||
this.reward = reward;
|
||||
}
|
||||
|
||||
public setActive(value: boolean) {
|
||||
this.node.setActive(value);
|
||||
}
|
||||
}
|
||||
|
||||
@ccclass('LuckyWheel')
|
||||
export default class LuckyWheel extends GachaBase {
|
||||
@property(SpineAnimationHandler)
|
||||
private animationHandler: SpineAnimationHandler;
|
||||
@property(Node)
|
||||
private spineRoot: Node;
|
||||
@property(CCString)
|
||||
private wheelBoneName: string = '';
|
||||
@property(CCInteger)
|
||||
private speed: number = 1;
|
||||
@property(RealCurve)
|
||||
private spinCurve: RealCurve = new RealCurve();
|
||||
@property(Sprite)
|
||||
private sprites: Sprite[] = [];
|
||||
|
||||
private _wheel: sp.spine.Bone;
|
||||
private _targetAngle: number = 0;
|
||||
private _spinning: boolean = false;
|
||||
private _timer: number = 0;
|
||||
private _timeSpin: number = 0;
|
||||
private _maxAngle: number = 0;
|
||||
private _allCards: RewardCard[];
|
||||
private _random: number;
|
||||
|
||||
protected onLoad(): void {
|
||||
this._wheel = this.animationHandler.findBone(this.wheelBoneName);
|
||||
}
|
||||
|
||||
protected onEnable(): void {
|
||||
this.setReward();
|
||||
this.spineRoot.setActive(false);
|
||||
this._wheel.rotation = 0;
|
||||
this._wheel.update();
|
||||
}
|
||||
|
||||
protected update(): void {
|
||||
if (this._spinning) {
|
||||
this._timer += game.deltaTime * this.speed;
|
||||
const angle = this._maxAngle * this.spinCurve.evaluate(this._timer / this._timeSpin);
|
||||
this._wheel.rotation = this._targetAngle + angle;
|
||||
this._wheel.update();
|
||||
if (this._timer >= this._timeSpin) {
|
||||
this._spinning = false;
|
||||
GachaManager.instance.showFloatingText(
|
||||
this._allCards[this._random].reward.quantity.toString(),
|
||||
this.node.worldPosition,
|
||||
this._allCards[this._random].reward.icon,
|
||||
);
|
||||
GachaManager.instance.setReward(this._allCards[this._random].reward.id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private setReward() {
|
||||
this._allCards = this.sprites.map((card) => {
|
||||
const rw = GachaManager.instance.getRandomReward([60, 35, 5]);
|
||||
card.spriteFrame = rw.icon;
|
||||
return new RewardCard(card.node, rw);
|
||||
});
|
||||
}
|
||||
|
||||
public async show(): Promise<void> {
|
||||
for (let i = 0; i < GachaManager.instance.rewards.length; i++) {
|
||||
this.sprites[i].spriteFrame = GachaManager.instance.rewards[i].icon;
|
||||
}
|
||||
this.spineRoot.setActive(true);
|
||||
await this.animationHandler.setAnimationAsync('appear');
|
||||
|
||||
this.animationHandler.addAnimation('idle', { loop: true });
|
||||
}
|
||||
|
||||
public async spin() {
|
||||
if (this._spinning) return;
|
||||
this._spinning = true;
|
||||
this._random = this._allCards.getRandomIndex();
|
||||
if (this._random) {
|
||||
this.animationHandler.clearTrack(0);
|
||||
this._targetAngle = -36 * this._random;
|
||||
this._timer = 0;
|
||||
this._timeSpin = randomRangeInt(10, 15);
|
||||
this._maxAngle = 360 * this._timeSpin;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
this._spinning = true;
|
||||
GachaManager.instance.setReward(this._allCards[this._random].reward.id);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "622ab578-e8ed-4f66-b548-d7fc834c69d4",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,156 @@
|
|||
import {
|
||||
_decorator,
|
||||
CCInteger,
|
||||
CCString,
|
||||
clamp01,
|
||||
Component,
|
||||
easing,
|
||||
Enum,
|
||||
game,
|
||||
lerp,
|
||||
Node,
|
||||
SpriteFrame,
|
||||
tween,
|
||||
UIOpacity,
|
||||
Vec3,
|
||||
} from 'cc';
|
||||
import GachaBase from '../Base/GachaBase';
|
||||
import ScoreType from '../Enum/ScoreType';
|
||||
import GameEvent from '../Events/GameEvent';
|
||||
import FloatingTextFactory from '../Factory/FloatingTextFactory';
|
||||
import Singleton from '../Singleton';
|
||||
import Utils from '../Utilities';
|
||||
import { EventManger } from './EventManger';
|
||||
import { GameManager } from './GameManager';
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
export enum GachaType {
|
||||
FreeReward,
|
||||
LuckyWheel,
|
||||
LuckyChain,
|
||||
FlipCard,
|
||||
}
|
||||
Enum(GachaType);
|
||||
|
||||
export enum RewardType {
|
||||
Star,
|
||||
Time,
|
||||
Cheese,
|
||||
}
|
||||
Enum(RewardType);
|
||||
|
||||
@ccclass('Gacha')
|
||||
class Gacha {
|
||||
@property(CCString)
|
||||
public id: string = '';
|
||||
@property({ type: GachaType })
|
||||
public type: GachaType = GachaType.FreeReward;
|
||||
@property(GachaBase)
|
||||
public gacha: GachaBase;
|
||||
}
|
||||
|
||||
@ccclass('RewardConfig')
|
||||
export class RewardConfig {
|
||||
@property(CCString)
|
||||
public id: string = '';
|
||||
@property({ type: RewardType })
|
||||
public type: RewardType = RewardType.Star;
|
||||
@property(SpriteFrame)
|
||||
public icon: SpriteFrame;
|
||||
@property(CCInteger)
|
||||
public quantity: number;
|
||||
}
|
||||
|
||||
@ccclass('GachaManager')
|
||||
export default class GachaManager extends Singleton<GachaManager>() {
|
||||
@property(CCString)
|
||||
public gachaId: string;
|
||||
@property(UIOpacity)
|
||||
private container: UIOpacity;
|
||||
@property(FloatingTextFactory)
|
||||
private floatingScoreFactory: FloatingTextFactory;
|
||||
@property(Gacha)
|
||||
private gachas: Gacha[] = [];
|
||||
@property(RewardConfig)
|
||||
public rewards: RewardConfig[] = [];
|
||||
|
||||
private _reward: RewardConfig;
|
||||
private _showing: boolean = false;
|
||||
private _showTimer: number = 0;
|
||||
private _idType: GachaType;
|
||||
|
||||
protected onLoad(): void {
|
||||
super.onLoad();
|
||||
this.container.setNodeActive(false);
|
||||
}
|
||||
|
||||
public async show(type: GachaType, delay: number = 0) {
|
||||
game.timeScale = 0;
|
||||
await Utils.delay(delay);
|
||||
this.container.setNodeActive(true);
|
||||
this._showTimer = 0;
|
||||
this._showing = true;
|
||||
this._idType = type;
|
||||
}
|
||||
|
||||
protected update(dt: number): void {
|
||||
if (this._showing) {
|
||||
this._showTimer += game.deltaTime;
|
||||
const k = easing.smooth(clamp01(this._showTimer / 0.2));
|
||||
this.container.opacity = lerp(0, 255, k);
|
||||
if (k === 1) {
|
||||
this._showing = false;
|
||||
this.showGacha();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public showFloatingText(text: string, position: Vec3, icon: SpriteFrame) {
|
||||
const floatingText = this.floatingScoreFactory.create(this.node);
|
||||
floatingText.show(`+${text}`, position, 3, 1, icon);
|
||||
}
|
||||
|
||||
private showGacha() {
|
||||
const gacha = this.gachas.find((gacha) => gacha.type == this._idType);
|
||||
gacha.gacha.show();
|
||||
}
|
||||
|
||||
public async getReward(): Promise<RewardConfig> {
|
||||
this._reward = this.getRandomReward();
|
||||
return this._reward;
|
||||
}
|
||||
|
||||
public getRewardIndex(reward: RewardConfig): number {
|
||||
return this.rewards.indexOf(reward);
|
||||
}
|
||||
|
||||
public async gachaDone() {
|
||||
console.log(`Gacha reward: ${RewardType[this._reward.type]} quantity: ${this._reward.quantity}`);
|
||||
await Utils.delay(1);
|
||||
game.timeScale = 1;
|
||||
tween(this.container)
|
||||
.to(0.1, { opacity: 0 })
|
||||
.call(() => {
|
||||
this.container.setNodeActive(false);
|
||||
switch (this._reward.type) {
|
||||
case RewardType.Star:
|
||||
GameManager.instance.addScore(this._reward.quantity, ScoreType.DestroyObject);
|
||||
break;
|
||||
case RewardType.Time:
|
||||
GameManager.instance.addTime(this._reward.quantity, Vec3.ZERO);
|
||||
break;
|
||||
}
|
||||
})
|
||||
.start();
|
||||
}
|
||||
|
||||
public getRandomReward(weights?: number[]) {
|
||||
return this.rewards.getRandom(weights);
|
||||
}
|
||||
|
||||
public setReward(id: string) {
|
||||
this._reward = this.rewards.find((r) => r.id == id);
|
||||
this.gachaDone();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "d004121d-a639-4e05-8376-794e0c448bbc",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -9,11 +9,13 @@ import {
|
|||
Quat,
|
||||
randomRangeInt,
|
||||
SpriteFrame,
|
||||
tween,
|
||||
Vec2,
|
||||
Vec3,
|
||||
} from 'cc';
|
||||
import BEConnector from '../API/BEConnector';
|
||||
import Timer, { TimerType } from '../Base/Timer';
|
||||
import { BoosterBase } from '../Booster/BoosterBase';
|
||||
import BoosterType from '../Enum/BoosterType';
|
||||
import GameState from '../Enum/GameState';
|
||||
import ScoreType from '../Enum/ScoreType';
|
||||
|
@ -41,17 +43,6 @@ window.addEventListener('message', (data) => {
|
|||
}
|
||||
});
|
||||
|
||||
class Booster {
|
||||
public type: BoosterType;
|
||||
public time: number;
|
||||
public runningTime: number = 0;
|
||||
|
||||
constructor(type: BoosterType, time: number) {
|
||||
this.type = type;
|
||||
this.time = time;
|
||||
}
|
||||
}
|
||||
|
||||
@ccclass('GameManager')
|
||||
export class GameManager extends Singleton<GameManager>() {
|
||||
@property({ visible: true })
|
||||
|
@ -70,8 +61,6 @@ export class GameManager extends Singleton<GameManager>() {
|
|||
@property({ type: SpriteFrame, visible: true })
|
||||
private _clockIcon: SpriteFrame;
|
||||
|
||||
@property({ type: AudioClip, visible: true })
|
||||
private _boosterActiveSound: AudioClip;
|
||||
@property({ type: AudioClip, visible: true })
|
||||
private _startSound: AudioClip;
|
||||
@property({ type: AudioClip, visible: true })
|
||||
|
@ -83,7 +72,7 @@ export class GameManager extends Singleton<GameManager>() {
|
|||
|
||||
private _gameState: GameState;
|
||||
private _timer: Timer = new Timer(TimerType.countDown);
|
||||
private _boostersActive: Booster[] = [];
|
||||
private _activeBoosters: Map<BoosterType, BoosterBase> = new Map();
|
||||
|
||||
private _score = 0;
|
||||
private isReplayed = false;
|
||||
|
@ -125,17 +114,7 @@ export class GameManager extends Singleton<GameManager>() {
|
|||
protected update(dt: number): void {
|
||||
this._timer.update(dt);
|
||||
if (this._gameState != GameState.Playing) return;
|
||||
for (let i = 0; i < this._boostersActive.length; i++) {
|
||||
const booster = this._boostersActive[i];
|
||||
booster.runningTime += dt;
|
||||
if (booster.runningTime >= booster.time) {
|
||||
this._boostersActive.splice(i, 1);
|
||||
if (this._boostersActive.length == 0) {
|
||||
AudioManager.setPlayRateBGM(1);
|
||||
}
|
||||
EventManger.instance.emit(GameEvent.BoosterDisable, booster.type);
|
||||
}
|
||||
}
|
||||
this.runBooster(dt);
|
||||
}
|
||||
|
||||
private async changeGameState(state: GameState) {
|
||||
|
@ -169,17 +148,19 @@ export class GameManager extends Singleton<GameManager>() {
|
|||
public addScore(
|
||||
score: number,
|
||||
type: ScoreType,
|
||||
position: Vec3,
|
||||
position?: Vec3,
|
||||
opts?: { scaleMin?: number; scaleMax?: number; duration?: number },
|
||||
) {
|
||||
this._score += score;
|
||||
const floatingScore = this._floatingScoreFactory.create(this._topContainer);
|
||||
floatingScore.show(
|
||||
`+${score}`,
|
||||
position,
|
||||
score >= 100 ? opts?.scaleMax || 1 : opts?.scaleMin || 1,
|
||||
opts?.duration || 1,
|
||||
);
|
||||
if (position) {
|
||||
floatingScore.show(
|
||||
`+${score}`,
|
||||
position,
|
||||
score >= 100 ? opts?.scaleMax || 1 : opts?.scaleMin || 1,
|
||||
opts?.duration || 1,
|
||||
);
|
||||
}
|
||||
EventManger.instance.emit(GameEvent.Score, [this._score, score, type, position]);
|
||||
}
|
||||
|
||||
|
@ -236,7 +217,7 @@ export class GameManager extends Singleton<GameManager>() {
|
|||
if (playStartSound) AudioManager.playSfx(this._startSound);
|
||||
this.setCurrentBallInGame(1);
|
||||
const ball = BallFactory.instance.create(this._ballHolder);
|
||||
ball.init(this._boostersActive.length > 0);
|
||||
ball.init(this._activeBoosters.size > 0);
|
||||
ball.node.setRotation(Quat.IDENTITY);
|
||||
ball.node.setPosition(this._ballSpawnPosition);
|
||||
if (!throwBall) return ball;
|
||||
|
@ -254,7 +235,7 @@ export class GameManager extends Singleton<GameManager>() {
|
|||
if (this._currentBallInGame <= 0) {
|
||||
EventManger.instance.emit(GameEvent.BallOut, null);
|
||||
AudioManager.playSfx(this._ballOutSound);
|
||||
this.DisableAllBooster();
|
||||
this.cleanBooster();
|
||||
await Utils.delay(TimeConfig.DelayPLay);
|
||||
this.spawnBall(true);
|
||||
}
|
||||
|
@ -283,24 +264,26 @@ export class GameManager extends Singleton<GameManager>() {
|
|||
await Utils.delay(0.3);
|
||||
}
|
||||
if (bonusTime) {
|
||||
this.addTime(bonusTime);
|
||||
const floatingScore = this._floatingScoreFactory.create(this._topContainer);
|
||||
floatingScore.show(`+${bonusTime}`, position, 1.5, 1, this._clockIcon);
|
||||
this.addTime(bonusTime, position);
|
||||
}
|
||||
}
|
||||
|
||||
public addTime(time: number) {
|
||||
public addTime(time: number, position?: Vec3) {
|
||||
this._timer.time += time;
|
||||
if (this._warningTime && this._timer.time > 10) {
|
||||
this._warningTime = false;
|
||||
EventManger.instance.emit(GameEvent.WarningTime, false);
|
||||
}
|
||||
if (position) {
|
||||
const floatingScore = this._floatingScoreFactory.create(this._topContainer);
|
||||
floatingScore.show(`+${time}`, position, 1.5, 1, this._clockIcon);
|
||||
}
|
||||
EventManger.instance.emit(GameEvent.TimeUpdate, this._timer.timeRound);
|
||||
}
|
||||
|
||||
public async gameOver() {
|
||||
BallFactory.instance.releaseAll();
|
||||
this.DisableAllBooster();
|
||||
this.cleanBooster();
|
||||
AudioManager.playBGM(this._gameOverMusic);
|
||||
StickerManager.instance.showLabel('TIME UP!!!', { color: new Color('#ed3a18'), outLineColor: Color.WHITE });
|
||||
BEConnector.gameScore = this.score;
|
||||
|
@ -341,24 +324,46 @@ export class GameManager extends Singleton<GameManager>() {
|
|||
this.spawnBall(true);
|
||||
}
|
||||
|
||||
private DisableAllBooster() {
|
||||
for (let i = 0; i < this._boostersActive.length; i++) {
|
||||
const booster = this._boostersActive[i];
|
||||
EventManger.instance.emit(GameEvent.BoosterDisable, booster.type);
|
||||
public addBooster(booster: BoosterBase) {
|
||||
let activeBooster = this._activeBoosters.get(booster.type);
|
||||
if (activeBooster) {
|
||||
booster.dispose();
|
||||
activeBooster.resetTime();
|
||||
return;
|
||||
} else {
|
||||
activeBooster = booster;
|
||||
}
|
||||
this._boostersActive = [];
|
||||
AudioManager.setPlayRateBGM(1);
|
||||
activeBooster.collect(this.node);
|
||||
console.log(booster.displayName + ' active');
|
||||
this._activeBoosters.set(booster.type, booster);
|
||||
EventManger.instance.emit(GameEvent.BoosterActive, [booster.type, booster.displayName]);
|
||||
}
|
||||
|
||||
public async ActiveBooster(type: BoosterType, time: number, displayName: string) {
|
||||
//check booster already active
|
||||
for (let i = 0; i < this._boostersActive.length; i++) {
|
||||
const booster = this._boostersActive[i];
|
||||
if (booster.type == type) return;
|
||||
private cleanBooster() {
|
||||
this._activeBoosters.forEach((booster) => {
|
||||
booster.end();
|
||||
EventManger.instance.emit(GameEvent.BoosterDisable, booster.type);
|
||||
});
|
||||
|
||||
this._activeBoosters.clear();
|
||||
}
|
||||
|
||||
private runBooster(dt: number) {
|
||||
if (this._activeBoosters.size > 0) {
|
||||
const boosterToRemove: BoosterBase[] = [];
|
||||
this._activeBoosters.forEach((booster) => {
|
||||
booster.tick(dt);
|
||||
if (!booster.active) {
|
||||
boosterToRemove.push(booster);
|
||||
}
|
||||
});
|
||||
console.log(boosterToRemove.length);
|
||||
boosterToRemove.forEach((booster) => {
|
||||
booster.end();
|
||||
EventManger.instance.emit(GameEvent.BoosterDisable, booster.type);
|
||||
this._activeBoosters.delete(booster.type);
|
||||
console.log(booster.displayName + ' inactive');
|
||||
});
|
||||
}
|
||||
this._boostersActive.push(new Booster(type, time));
|
||||
EventManger.instance.emit(GameEvent.BoosterActive, [type, displayName]);
|
||||
AudioManager.playSfx(this._boosterActiveSound);
|
||||
AudioManager.setPlayRateBGM(1.25);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { _decorator, CCString, Color, Component, Label, Node, Sprite, SpriteFrame, Tween, tween, Vec3 } from 'cc';
|
||||
import { _decorator, CCString, Color, Label, Node, Sprite, SpriteFrame, Tween, tween, Vec3 } from 'cc';
|
||||
import Singleton from '../Singleton';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "9d09f58c-4e94-4644-bb29-5926a43a1b18",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -131,7 +131,7 @@ export class GameOverPanel extends Component {
|
|||
score += x;
|
||||
duration = this._starSpeedCurve.evaluate(i / items - 1);
|
||||
score = score > totalScore ? totalScore : score;
|
||||
const obj = this._floatingStarFactory.create(this.node);
|
||||
const obj = this._floatingStarFactory.create(this._scoreUI);
|
||||
obj.node.setWorldPosition(this._scoreUI.worldPosition);
|
||||
tween(obj.node)
|
||||
.to(
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.26",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "9ee71731-507c-4afa-acbe-f2f16dc3cd50",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "9ee71731-507c-4afa-acbe-f2f16dc3cd50@6c48a",
|
||||
"displayName": "Asset Booster Random Gacha",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "9ee71731-507c-4afa-acbe-f2f16dc3cd50",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "9ee71731-507c-4afa-acbe-f2f16dc3cd50@f9941",
|
||||
"displayName": "Asset Booster Random Gacha",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 176,
|
||||
"height": 155,
|
||||
"rawWidth": 176,
|
||||
"rawHeight": 155,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-88,
|
||||
-77.5,
|
||||
0,
|
||||
88,
|
||||
-77.5,
|
||||
0,
|
||||
-88,
|
||||
77.5,
|
||||
0,
|
||||
88,
|
||||
77.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
155,
|
||||
176,
|
||||
155,
|
||||
0,
|
||||
0,
|
||||
176,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-88,
|
||||
-77.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
88,
|
||||
77.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "9ee71731-507c-4afa-acbe-f2f16dc3cd50@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "9ee71731-507c-4afa-acbe-f2f16dc3cd50@f9941"
|
||||
}
|
||||
}
|
|
@ -110,7 +110,7 @@
|
|||
"_value": false
|
||||
},
|
||||
"spine": {
|
||||
"_value": false
|
||||
"_value": true
|
||||
},
|
||||
"dragon-bones": {
|
||||
"_value": false
|
||||
|
@ -138,6 +138,7 @@
|
|||
"particle-2d",
|
||||
"physics-2d-box2d",
|
||||
"profiler",
|
||||
"spine",
|
||||
"tween",
|
||||
"ui",
|
||||
"websocket"
|
||||
|
|
Loading…
Reference in New Issue