Merge fix

This commit is contained in:
Martin 2023-01-04 12:28:02 +01:00
commit bf28e8dc88
48 changed files with 6196 additions and 660 deletions

16
README.md Normal file
View File

@ -0,0 +1,16 @@
Open sourced with the courtesy of [Y8.com](https://www.y8.com)
# Slash The Hordes
#### A rouglike game, heavily inspired by [Vampire Survivors](https://poncle.itch.io/vampire-survivors)
## Useful(?) bits:
- [Modal window system](https://github.com/MartinKral/SlashTheHordes/tree/master/assets/Scripts/Services/ModalWindowSystem) ([Example usage](https://github.com/MartinKral/SlashTheHordes/blob/master/assets/Scripts/Game/ModalWIndows/ChestModalWindow.ts))
- [Event System](https://github.com/MartinKral/SlashTheHordes/tree/master/assets/Scripts/Services/EventSystem)
Feedback is welcome
<p align="center">Are you HTML5 game developer? Join the Y8 rev share program!<p>
[![Snímek obrazovky 2023-01-03 094643](https://user-images.githubusercontent.com/4499530/210324665-372ec1aa-3553-4795-be36-b864ba0cf8ff.png)](https://www.y8.com/revshare?pk_campaign=SlashTheHordesGit)

View File

@ -9,7 +9,7 @@
"_native": "",
"sample": 60,
"speed": 1,
"wrapMode": 2,
"wrapMode": 1,
"enableTrsBlending": false,
"_duration": 0.35,
"_hash": 500763545,

View File

@ -8,6 +8,6 @@
],
"subMetas": {},
"userData": {
"name": "DamageFlash"
"name": "DeathEffect"
}
}

View File

@ -11,7 +11,7 @@
"speed": 1,
"wrapMode": 1,
"enableTrsBlending": false,
"_duration": 16.183333333333334,
"_duration": 20.6,
"_hash": 500763545,
"_tracks": [
{
@ -31,6 +31,12 @@
},
{
"__id__": 57
},
{
"__id__": 68
},
{
"__id__": 79
}
],
"_exoticAnimation": null,
@ -199,7 +205,8 @@
"__type__": "cc.RealCurve",
"_times": [
0.8333333134651184,
1.6666666269302368
1.6666666269302368,
20.600000381469727
],
"_values": [
{
@ -223,6 +230,17 @@
"leftTangent": -47.090335845947266,
"leftTangentWeight": 30.223112106323242,
"easingMethod": 0
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
}
],
"preExtrapolation": 1,
@ -249,8 +267,22 @@
},
{
"__type__": "cc.RealCurve",
"_times": [],
"_values": [],
"_times": [
20.600000381469727
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
@ -314,7 +346,8 @@
"__type__": "cc.RealCurve",
"_times": [
0.8333333134651184,
1.6666666269302368
1.6666666269302368,
20.600000381469727
],
"_values": [
{
@ -338,6 +371,17 @@
"leftTangent": 45.74485778808594,
"leftTangentWeight": 29.359962463378906,
"easingMethod": 0
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
}
],
"preExtrapolation": 1,
@ -351,22 +395,8 @@
},
{
"__type__": "cc.RealCurve",
"_times": [
0.8333333134651184
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 19.05500030517578,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
}
],
"_times": [],
"_values": [],
"preExtrapolation": 1,
"postExtrapolation": 1
},
@ -378,22 +408,8 @@
},
{
"__type__": "cc.RealCurve",
"_times": [
0.8333333134651184
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
}
],
"_times": [],
"_values": [],
"preExtrapolation": 1,
"postExtrapolation": 1
},
@ -469,7 +485,7 @@
{
"__type__": "cc.RealCurve",
"_times": [
3.7333333492279053,
1.3166667222976685,
16.183332443237305
],
"_values": [
@ -477,23 +493,27 @@
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 2,
"tangentWeightMode": 2,
"value": -611.5670166015625,
"rightTangent": 72.86482238769531,
"rightTangentWeight": 178.57205200195312,
"leftTangent": 0,
"value": -494.1093444824219,
"rightTangent": 15.03869915008545,
"rightTangentWeight": 38.45438003540039,
"leftTangent": -0.5,
"leftTangentWeight": 1,
"easingMethod": 0
"easingMethod": 0,
"__editorExtras__": {
"broken": true
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 2,
"tangentWeightMode": 1,
"value": -322.9915771484375,
"value": -250.343994140625,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 2.7646665573120117,
"easingMethod": 0
"leftTangent": 1.4227283000946045,
"leftTangentWeight": 11.992213249206543,
"easingMethod": 0,
"__editorExtras__": null
}
],
"preExtrapolation": 1,
@ -616,30 +636,30 @@
{
"__type__": "cc.RealCurve",
"_times": [
1.9166666269302368,
1.5,
5.949999809265137
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"interpolationMode": 2,
"tangentWeightMode": 2,
"value": -0.0038286715280264616,
"rightTangent": 78.67181396484375,
"rightTangentWeight": 56.386024475097656,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"interpolationMode": 2,
"tangentWeightMode": 1,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"leftTangent": 11.833462715148926,
"leftTangentWeight": 12.667349815368652,
"easingMethod": 0
}
],
@ -714,28 +734,22 @@
"interpolationMode": 2,
"tangentWeightMode": 2,
"value": -536.6669921875,
"rightTangent": 245.08799743652344,
"rightTangentWeight": 51.0604248046875,
"rightTangent": 410.6460266113281,
"rightTangentWeight": 85.551513671875,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
"easingMethod": 0
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 2,
"tangentWeightMode": 1,
"value": -425.6669921875,
"value": -350.6860046386719,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 12.109090805053711,
"leftTangentWeight": 5.568892955780029,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
"leftTangent": 20.288835525512695,
"leftTangentWeight": 9.310338020324707,
"easingMethod": 0
}
],
"preExtrapolation": 1,
@ -766,5 +780,347 @@
"_values": [],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.VectorTrack",
"_binding": {
"__type__": "cc.animation.TrackBinding",
"path": {
"__id__": 69
}
},
"_channels": [
{
"__id__": 71
},
{
"__id__": 73
},
{
"__id__": 75
},
{
"__id__": 77
}
],
"_nComponents": 3
},
{
"__type__": "cc.animation.TrackPath",
"_paths": [
{
"__id__": 70
},
"position"
]
},
{
"__type__": "cc.animation.HierarchyPath",
"path": "Y8Logo"
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 72
}
},
{
"__type__": "cc.RealCurve",
"_times": [
1.649999976158142
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 74
}
},
{
"__type__": "cc.RealCurve",
"_times": [
1.1666666269302368,
1.8333333730697632
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 2,
"tangentWeightMode": 2,
"value": -566.7440185546875,
"rightTangent": 394.11419677734375,
"rightTangentWeight": 65.6859130859375,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 2,
"tangentWeightMode": 1,
"value": -423.9490051269531,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 19.4720458984375,
"leftTangentWeight": 7.149158954620361,
"easingMethod": 0
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 76
}
},
{
"__type__": "cc.RealCurve",
"_times": [
1.649999976158142
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 78
}
},
{
"__type__": "cc.RealCurve",
"_times": [],
"_values": [],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.ColorTrack",
"_binding": {
"__type__": "cc.animation.TrackBinding",
"path": {
"__id__": 80
}
},
"_channels": [
{
"__id__": 83
},
{
"__id__": 85
},
{
"__id__": 87
},
{
"__id__": 89
}
]
},
{
"__type__": "cc.animation.TrackPath",
"_paths": [
{
"__id__": 81
},
{
"__id__": 82
},
"color"
]
},
{
"__type__": "cc.animation.HierarchyPath",
"path": "HighscoreLabel"
},
{
"__type__": "cc.animation.ComponentPath",
"component": "cc.Label"
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 84
}
},
{
"__type__": "cc.RealCurve",
"_times": [
1.5,
3.7166666984558105
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 86
}
},
{
"__type__": "cc.RealCurve",
"_times": [
1.5,
3.7166666984558105
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 88
}
},
{
"__type__": "cc.RealCurve",
"_times": [
1.5,
3.7166666984558105
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 90
}
},
{
"__type__": "cc.RealCurve",
"_times": [
1.5,
3.7166666984558105
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
}
]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "aceed48f-96ea-4a01-ba0e-a0b546ee0dee",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "17984bfa-ef0a-4389-9748-e7c383f1527b",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

View File

@ -0,0 +1,12 @@
{
"ver": "1.1.0",
"importer": "directory",
"imported": true,
"uuid": "35f11bf8-7656-4e60-9bec-b15e62716094",
"files": [],
"subMetas": {},
"userData": {
"compressionType": {},
"isRemoteBundle": {}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.25",
"importer": "image",
"imported": true,
"uuid": "5ed877f5-04ac-4dc9-bdc9-3a89f95069bb",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "5ed877f5-04ac-4dc9-bdc9-3a89f95069bb@6c48a",
"displayName": "ChestBottom",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "nearest",
"magfilter": "nearest",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "5ed877f5-04ac-4dc9-bdc9-3a89f95069bb",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "5ed877f5-04ac-4dc9-bdc9-3a89f95069bb@f9941",
"displayName": "ChestBottom",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 98,
"height": 60,
"rawWidth": 98,
"rawHeight": 60,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-49,
-30,
0,
49,
-30,
0,
-49,
30,
0,
49,
30,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
60,
98,
60,
0,
0,
98,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-49,
-30,
0
],
"maxPos": [
49,
30,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "5ed877f5-04ac-4dc9-bdc9-3a89f95069bb@6c48a",
"atlasUuid": ""
},
"ver": "1.0.11",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": true,
"hasAlpha": true,
"redirect": "5ed877f5-04ac-4dc9-bdc9-3a89f95069bb@f9941"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 B

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.25",
"importer": "image",
"imported": true,
"uuid": "eb5a1c36-325c-405e-9858-2ae2d1e69c91",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "eb5a1c36-325c-405e-9858-2ae2d1e69c91@6c48a",
"displayName": "ChestCapClosed",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "nearest",
"magfilter": "nearest",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "eb5a1c36-325c-405e-9858-2ae2d1e69c91",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "eb5a1c36-325c-405e-9858-2ae2d1e69c91@f9941",
"displayName": "ChestCapClosed",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 94,
"height": 29,
"rawWidth": 94,
"rawHeight": 29,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-47,
-14.5,
0,
47,
-14.5,
0,
-47,
14.5,
0,
47,
14.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
29,
94,
29,
0,
0,
94,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-47,
-14.5,
0
],
"maxPos": [
47,
14.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "eb5a1c36-325c-405e-9858-2ae2d1e69c91@6c48a",
"atlasUuid": ""
},
"ver": "1.0.11",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": true,
"hasAlpha": true,
"redirect": "eb5a1c36-325c-405e-9858-2ae2d1e69c91@f9941"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 B

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.25",
"importer": "image",
"imported": true,
"uuid": "3f4af4b2-d3fa-4266-906f-192ce5ef2402",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "3f4af4b2-d3fa-4266-906f-192ce5ef2402@6c48a",
"displayName": "ChestCapOpened",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "nearest",
"magfilter": "nearest",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "3f4af4b2-d3fa-4266-906f-192ce5ef2402",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "3f4af4b2-d3fa-4266-906f-192ce5ef2402@f9941",
"displayName": "ChestCapOpened",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 94,
"height": 49,
"rawWidth": 94,
"rawHeight": 49,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-47,
-24.5,
0,
47,
-24.5,
0,
-47,
24.5,
0,
47,
24.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
49,
94,
49,
0,
0,
94,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-47,
-24.5,
0
],
"maxPos": [
47,
24.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "3f4af4b2-d3fa-4266-906f-192ce5ef2402@6c48a",
"atlasUuid": ""
},
"ver": "1.0.11",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": true,
"hasAlpha": true,
"redirect": "3f4af4b2-d3fa-4266-906f-192ce5ef2402@f9941"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.25",
"importer": "image",
"imported": true,
"uuid": "6d516041-f0c1-4895-8565-8d08d862e65d",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "6d516041-f0c1-4895-8565-8d08d862e65d@6c48a",
"displayName": "ChestGlowUp",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "6d516041-f0c1-4895-8565-8d08d862e65d",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "6d516041-f0c1-4895-8565-8d08d862e65d@f9941",
"displayName": "ChestGlowUp",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 169,
"height": 94,
"rawWidth": 169,
"rawHeight": 94,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-84.5,
-47,
0,
84.5,
-47,
0,
-84.5,
47,
0,
84.5,
47,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
94,
169,
94,
0,
0,
169,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-84.5,
-47,
0
],
"maxPos": [
84.5,
47,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "6d516041-f0c1-4895-8565-8d08d862e65d@6c48a",
"atlasUuid": ""
},
"ver": "1.0.11",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": true,
"hasAlpha": true,
"redirect": "6d516041-f0c1-4895-8565-8d08d862e65d@f9941"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 B

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.25",
"importer": "image",
"imported": true,
"uuid": "2beb36d4-fac7-49fb-b734-d7aa8afd1615",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "2beb36d4-fac7-49fb-b734-d7aa8afd1615@6c48a",
"displayName": "ChestShadow",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "nearest",
"magfilter": "nearest",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "2beb36d4-fac7-49fb-b734-d7aa8afd1615",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "2beb36d4-fac7-49fb-b734-d7aa8afd1615@f9941",
"displayName": "ChestShadow",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 110,
"height": 26,
"rawWidth": 110,
"rawHeight": 26,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-55,
-13,
0,
55,
-13,
0,
-55,
13,
0,
55,
13,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
26,
110,
26,
0,
0,
110,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-55,
-13,
0
],
"maxPos": [
55,
13,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "2beb36d4-fac7-49fb-b734-d7aa8afd1615@6c48a",
"atlasUuid": ""
},
"ver": "1.0.11",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": true,
"hasAlpha": true,
"redirect": "2beb36d4-fac7-49fb-b734-d7aa8afd1615@f9941"
}
}

View File

@ -0,0 +1,12 @@
{
"ver": "1.1.0",
"importer": "directory",
"imported": true,
"uuid": "b1148d9b-15b5-41e8-b78e-1111828d4b42",
"files": [],
"subMetas": {},
"userData": {
"compressionType": {},
"isRemoteBundle": {}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 B

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.25",
"importer": "image",
"imported": true,
"uuid": "aea2c33e-3f43-4623-8c68-750cb033c3a0",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "aea2c33e-3f43-4623-8c68-750cb033c3a0@6c48a",
"displayName": "VirJoyInner",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "nearest",
"magfilter": "nearest",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "aea2c33e-3f43-4623-8c68-750cb033c3a0",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "aea2c33e-3f43-4623-8c68-750cb033c3a0@f9941",
"displayName": "VirJoyInner",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 11,
"height": 11,
"rawWidth": 11,
"rawHeight": 11,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-5.5,
-5.5,
0,
5.5,
-5.5,
0,
-5.5,
5.5,
0,
5.5,
5.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
11,
11,
11,
0,
0,
11,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-5.5,
-5.5,
0
],
"maxPos": [
5.5,
5.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "aea2c33e-3f43-4623-8c68-750cb033c3a0@6c48a",
"atlasUuid": ""
},
"ver": "1.0.11",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": true,
"hasAlpha": true,
"redirect": "aea2c33e-3f43-4623-8c68-750cb033c3a0@f9941"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.25",
"importer": "image",
"imported": true,
"uuid": "609b1e5c-ea59-45f1-8b04-f17ee69ac79b",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "609b1e5c-ea59-45f1-8b04-f17ee69ac79b@6c48a",
"displayName": "VirJoyOutter",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "nearest",
"magfilter": "nearest",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "609b1e5c-ea59-45f1-8b04-f17ee69ac79b",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "609b1e5c-ea59-45f1-8b04-f17ee69ac79b@f9941",
"displayName": "VirJoyOutter",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 55,
"height": 55,
"rawWidth": 55,
"rawHeight": 55,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-27.5,
-27.5,
0,
27.5,
-27.5,
0,
-27.5,
27.5,
0,
27.5,
27.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
55,
55,
55,
0,
0,
55,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-27.5,
-27.5,
0
],
"maxPos": [
27.5,
27.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "609b1e5c-ea59-45f1-8b04-f17ee69ac79b@6c48a",
"atlasUuid": ""
},
"ver": "1.0.11",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": true,
"hasAlpha": true,
"redirect": "609b1e5c-ea59-45f1-8b04-f17ee69ac79b@f9941"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.25",
"importer": "image",
"imported": true,
"uuid": "3e324d01-0072-417d-b0fc-b8bbdb9d909d",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "3e324d01-0072-417d-b0fc-b8bbdb9d909d@6c48a",
"displayName": "Y8Logo",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "nearest",
"magfilter": "nearest",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "3e324d01-0072-417d-b0fc-b8bbdb9d909d",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "3e324d01-0072-417d-b0fc-b8bbdb9d909d@f9941",
"displayName": "Y8Logo",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 51,
"height": 24,
"rawWidth": 51,
"rawHeight": 24,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-25.5,
-12,
0,
25.5,
-12,
0,
-25.5,
12,
0,
25.5,
12,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
24,
51,
24,
0,
0,
51,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-25.5,
-12,
0
],
"maxPos": [
25.5,
12,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "3e324d01-0072-417d-b0fc-b8bbdb9d909d@6c48a",
"atlasUuid": ""
},
"ver": "1.0.11",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": true,
"hasAlpha": true,
"redirect": "3e324d01-0072-417d-b0fc-b8bbdb9d909d@f9941"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 B

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.25",
"importer": "image",
"imported": true,
"uuid": "87d1f48b-2b9c-452d-83a7-c221d59e2293",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "87d1f48b-2b9c-452d-83a7-c221d59e2293@6c48a",
"displayName": "Y8LogoSplash",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "nearest",
"magfilter": "nearest",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "87d1f48b-2b9c-452d-83a7-c221d59e2293",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "87d1f48b-2b9c-452d-83a7-c221d59e2293@f9941",
"displayName": "Y8LogoSplash",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 153,
"height": 72,
"rawWidth": 153,
"rawHeight": 72,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-76.5,
-36,
0,
76.5,
-36,
0,
-76.5,
36,
0,
76.5,
36,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
72,
153,
72,
0,
0,
153,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-76.5,
-36,
0
],
"maxPos": [
76.5,
36,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "87d1f48b-2b9c-452d-83a7-c221d59e2293@6c48a",
"atlasUuid": ""
},
"ver": "1.0.11",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": true,
"hasAlpha": true,
"redirect": "87d1f48b-2b9c-452d-83a7-c221d59e2293@f9941"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.25",
"importer": "image",
"imported": true,
"uuid": "61d24ef9-0189-409c-8271-a66769a519eb",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "61d24ef9-0189-409c-8271-a66769a519eb@6c48a",
"displayName": "sunrays",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "61d24ef9-0189-409c-8271-a66769a519eb",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "61d24ef9-0189-409c-8271-a66769a519eb@f9941",
"displayName": "sunrays",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0.5,
"offsetY": -0.5,
"trimX": 3,
"trimY": 3,
"width": 123,
"height": 123,
"rawWidth": 128,
"rawHeight": 128,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-61.5,
-61.5,
0,
61.5,
-61.5,
0,
-61.5,
61.5,
0,
61.5,
61.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
3,
125,
126,
125,
3,
2,
126,
2
],
"nuv": [
0.0234375,
0.015625,
0.984375,
0.015625,
0.0234375,
0.9765625,
0.984375,
0.9765625
],
"minPos": [
-61.5,
-61.5,
0
],
"maxPos": [
61.5,
61.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "61d24ef9-0189-409c-8271-a66769a519eb@6c48a",
"atlasUuid": ""
},
"ver": "1.0.11",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": true,
"hasAlpha": true,
"redirect": "61d24ef9-0189-409c-8271-a66769a519eb@f9941"
}
}

View File

@ -247,7 +247,7 @@
"__id__": 9
},
"_clip": {
"__uuid__": "0faecdcf-e5d6-4cc1-b3cf-3b2873f8ee62",
"__uuid__": "62c90d56-a5f2-4125-9748-a8784593fc9a",
"__expectedType__": "cc.AudioClip"
},
"_loop": true,
@ -617,7 +617,7 @@
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -420,
"x": -320,
"y": 0,
"z": -2000
},
@ -634,7 +634,7 @@
"y": 1,
"z": 1
},
"_layer": 1073741824,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
@ -656,12 +656,12 @@
},
"_contentSize": {
"__type__": "cc.Size",
"width": 200,
"width": 1000,
"height": 1200
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"x": 1,
"y": 0.5
},
"_id": ""
@ -746,7 +746,7 @@
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 420,
"x": 320,
"y": 0,
"z": -2000
},
@ -763,7 +763,7 @@
"y": 1,
"z": 1
},
"_layer": 1073741824,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
@ -785,12 +785,12 @@
},
"_contentSize": {
"__type__": "cc.Size",
"width": 200,
"width": 1000,
"height": 1200
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"x": 0,
"y": 0.5
},
"_id": ""
@ -876,7 +876,7 @@
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 580,
"y": 480,
"z": -2000
},
"_lrot": {
@ -892,7 +892,7 @@
"y": 1,
"z": 1
},
"_layer": 1073741824,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
@ -914,13 +914,13 @@
},
"_contentSize": {
"__type__": "cc.Size",
"width": 1050,
"height": 200
"width": 2640,
"height": 500
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
"y": 0
},
"_id": ""
},
@ -1005,7 +1005,7 @@
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": -580,
"y": -480,
"z": -2000
},
"_lrot": {
@ -1021,7 +1021,7 @@
"y": 1,
"z": 1
},
"_layer": 1073741824,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
@ -1043,13 +1043,13 @@
},
"_contentSize": {
"__type__": "cc.Size",
"width": 1050,
"height": 200
"width": 2640,
"height": 500
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
"y": 1
},
"_id": ""
},

View File

@ -1,7 +1,7 @@
[
{
"__type__": "cc.Prefab",
"_name": "DamageFlash",
"_name": "DeathEffect",
"_objFlags": 0,
"_native": "",
"data": {
@ -13,7 +13,7 @@
},
{
"__type__": "cc.Node",
"_name": "DamageFlash",
"_name": "DeathEffect",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": null,
@ -28,10 +28,13 @@
},
{
"__id__": 6
},
{
"__id__": 8
}
],
"_prefab": {
"__id__": 8
"__id__": 10
},
"_lpos": {
"__type__": "cc.Vec3",
@ -163,6 +166,26 @@
"__type__": "cc.CompPrefabInfo",
"fileId": "3ag4rexLNJW6A/sp6OpwZ8"
},
{
"__type__": "213a9aw7AxJUZPp4rSYoD+B",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 9
},
"animation": {
"__id__": 6
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "85y4e2eRBItKLP5t7xinqV"
},
{
"__type__": "cc.PrefabInfo",
"root": {

View File

@ -8,6 +8,6 @@
],
"subMetas": {},
"userData": {
"syncNodeName": "DamageFlash"
"syncNodeName": "DeathEffect"
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -20,6 +20,7 @@ import { GameModalLauncher } from "./ModalWIndows/GameModalLauncher";
import { Pauser } from "./Pauser";
import { TestValues } from "./TestGameRunner";
import { GameUI } from "./UI/GameUI";
import { EnemyDeathEffectSpawner } from "./Unit/Enemy/EnemyDeathEffectSpawner/EnemyDeathEffectSpawner";
import { EnemyManager } from "./Unit/Enemy/EnemyManager";
import { EnemyProjectileLauncher } from "./Unit/Enemy/ProjectileLauncher.cs/EnemyProjectileLauncher";
import { MetaUpgrades } from "./Unit/MetaUpgrades/MetaUpgrades";
@ -45,6 +46,7 @@ export class Game extends Component {
@property(ProjectileLauncher) private enemyAxeProjectileLauncherComponent: ProjectileLauncher;
@property(ProjectileLauncher) private enemyMagicOrbProjectileLauncherComponent: ProjectileLauncher;
@property(EnemyManager) private enemyManager: EnemyManager;
@property(EnemyDeathEffectSpawner) private deathEffectSpawner: EnemyDeathEffectSpawner;
@property(ItemManager) private itemManager: ItemManager;
@property(GameUI) private gameUI: GameUI;
@property(Canvas) private gameCanvas: Canvas;
@ -96,6 +98,7 @@ export class Game extends Component {
this.player.init(multiInput, this.createPlayerData(settings.player, metaUpgrades));
this.enemyManager.init(this.player.node, settings.enemyManager);
this.deathEffectSpawner.init(this.enemyManager);
this.playerCollisionSystem = new PlayerCollisionSystem(this.player, settings.player.collisionDelay, this.itemManager);
new WeaponCollisionSystem(this.player.Weapon);

View File

@ -143,6 +143,8 @@ export class Enemy extends Component {
this.sprite.node.active = false;
await delay(200);
if (this.sprite == null) break; // exit scene
this.sprite.node.active = true;
await delay(200);
}

View File

@ -0,0 +1,12 @@
{
"ver": "1.1.0",
"importer": "directory",
"imported": true,
"uuid": "5d3c93fa-41c2-4927-8a1a-5be0ccaa177b",
"files": [],
"subMetas": {},
"userData": {
"compressionType": {},
"isRemoteBundle": {}
}
}

View File

@ -0,0 +1,14 @@
import { _decorator, Component, Animation, Vec3 } from "cc";
const { ccclass, property } = _decorator;
@ccclass("EnemyDeathEffect")
export class EnemyDeathEffect extends Component {
@property(Animation) private animation: Animation;
public setup(worldPosition: Vec3): void {
this.node.setWorldPosition(worldPosition);
this.node.active = true;
this.animation.play("DeathEffect");
}
}

View File

@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "213a96b0-ec0c-4951-93e9-e2b498a03f81",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@ -0,0 +1,39 @@
import { _decorator, Component, Node, Prefab } from "cc";
import { ObjectPool } from "../../../../Services/ObjectPool";
import { delay } from "../../../../Services/Utils/AsyncUtils";
import { Enemy } from "../Enemy";
import { EnemyManager } from "../EnemyManager";
import { EnemyDeathEffect } from "./EnemyDeathEffect";
const { ccclass, property } = _decorator;
@ccclass("EnemyDeathEffectSpawner")
export class EnemyDeathEffectSpawner extends Component {
@property(Prefab) private deathEffectPrefab: Prefab;
private effectPool: ObjectPool<EnemyDeathEffect>;
public init(enemyManager: EnemyManager): void {
enemyManager.EnemyAddedEvent.on(this.onEnemyAdded, this);
enemyManager.EnemyRemovedEvent.on(this.onEnemyRemoved, this);
this.effectPool = new ObjectPool(this.deathEffectPrefab, this.node, 5, "EnemyDeathEffect");
}
private onEnemyAdded(enemy: Enemy): void {
enemy.DeathEvent.on(this.animateDeathEffect, this);
}
private onEnemyRemoved(enemy: Enemy): void {
enemy.DeathEvent.off(this.animateDeathEffect);
}
private async animateDeathEffect(enemy: Enemy): Promise<void> {
const deathEffect = this.effectPool.borrow();
deathEffect.setup(enemy.node.worldPosition);
await delay(360);
this.effectPool.return(deathEffect);
}
}

View File

@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "3d207f4e-7b88-466f-8280-409925d8bbb2",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@ -91,9 +91,9 @@ export class Player extends Component {
this.animation.play("Move");
}
if (movement.x <= 0) {
if (movement.x < 0) {
this.playerGraphics.setScale(new Vec3(1, 1, 1));
} else {
} else if (0 < movement.x) {
this.playerGraphics.setScale(new Vec3(-1, 1, 1));
}
} else {

View File

@ -1,4 +1,4 @@
import { Canvas, Component, _decorator } from "cc";
import { Canvas, Component, Label, _decorator } from "cc";
import { AppRoot } from "../AppRoot/AppRoot";
import { requireAppRootAsync } from "../AppRoot/AppRootUtils";
import { ModalWindowManager } from "../Services/ModalWindowSystem/ModalWindowManager";
@ -15,6 +15,7 @@ export class Menu extends Component {
@property(UIButton) private upgradeBtn: UIButton;
@property(UIButton) private audioSettingsBtn: UIButton;
@property(Canvas) private menuCanvas: Canvas;
@property(Label) private highscoreLabel: Label;
private menuModalLauncher: MenuModalLauncher;
@ -27,6 +28,8 @@ export class Menu extends Component {
this.audioSettingsBtn.InteractedEvent.on(this.openAudioSettingsWindow, this);
this.menuModalLauncher = new MenuModalLauncher(AppRoot.Instance.ModalWindowManager);
this.highscoreLabel.string = `Highscore: ${Math.floor(AppRoot.Instance.LiveUserData.game.highscore)}`;
}
private startGame(): void {

View File

@ -8,5 +8,7 @@ export function randomPositiveOrNegative(): number {
export function getDegreeAngleFromDirection(x: number, y: number): number {
const radianAngle = Math.atan2(y, x);
return (radianAngle / Math.PI) * 180;
const angle = (radianAngle / Math.PI) * 180;
return angle < 0 ? angle + 360 : angle;
}

View File

@ -1,5 +1,5 @@
{
"name": "VampSu",
"name": "Slash the Hordes",
"uuid": "44d41970-47e0-4ec4-84a9-e2884a9f7957",
"version": "3.6.2",
"creator": {
@ -25,4 +25,4 @@
"ts-jest": "^29.0.3",
"lodash": "^4.17.21"
}
}
}

View File

@ -0,0 +1,14 @@
{
"splash-setting": {
"totalTime": 2000,
"displayWatermark": false,
"url": "project://assets/Media/Images/Game/UI/Y8LogoSplash.png",
"clearColor": {
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"displayRatio": 0.1
}
}

View File

@ -8,8 +8,7 @@ const testCases: { x: number; y: number; expectedAngle: number }[] = [
for (const testCase of testCases) {
test(`returns correct degree angle for direction [X: ${testCase.x} , Y: ${testCase.y}] (${testCase.expectedAngle} degrees)`, () => {
let angle = getDegreeAngleFromDirection(testCase.x, testCase.y);
if (angle < 0) angle += 360;
const angle = getDegreeAngleFromDirection(testCase.x, testCase.y);
expect(angle).toBe(testCase.expectedAngle);
});