技能继续调整
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
"_native": "",
|
"_native": "",
|
||||||
"sample": 15,
|
"sample": 15,
|
||||||
"speed": 1,
|
"speed": 1,
|
||||||
"wrapMode": 2,
|
"wrapMode": 1,
|
||||||
"enableTrsBlending": false,
|
"enableTrsBlending": false,
|
||||||
"_duration": 1.0666666666666667,
|
"_duration": 1.0666666666666667,
|
||||||
"_hash": 500763545,
|
"_hash": 500763545,
|
||||||
|
|||||||
100
assets/resources/game/skill/anm/m_ball_water_1.anim
Normal file
100
assets/resources/game/skill/anm/m_ball_water_1.anim
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.AnimationClip",
|
||||||
|
"_name": "m_ball_blue1",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {
|
||||||
|
"embeddedPlayerGroups": []
|
||||||
|
},
|
||||||
|
"_native": "",
|
||||||
|
"sample": 15,
|
||||||
|
"speed": 1,
|
||||||
|
"wrapMode": 2,
|
||||||
|
"enableTrsBlending": false,
|
||||||
|
"_duration": 0.26666666666666666,
|
||||||
|
"_hash": 500763545,
|
||||||
|
"_tracks": [
|
||||||
|
{
|
||||||
|
"__id__": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_exoticAnimation": null,
|
||||||
|
"_events": [],
|
||||||
|
"_embeddedPlayers": [],
|
||||||
|
"_additiveSettings": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_auxiliaryCurveEntries": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.animation.ObjectTrack",
|
||||||
|
"_binding": {
|
||||||
|
"__type__": "cc.animation.TrackBinding",
|
||||||
|
"path": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"proxy": null
|
||||||
|
},
|
||||||
|
"_channel": {
|
||||||
|
"__id__": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.animation.TrackPath",
|
||||||
|
"_paths": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
"spriteFrame"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.animation.HierarchyPath",
|
||||||
|
"path": "Node"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.animation.ComponentPath",
|
||||||
|
"component": "cc.Sprite"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.animation.Channel",
|
||||||
|
"_curve": {
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.ObjectCurve",
|
||||||
|
"_times": [
|
||||||
|
0,
|
||||||
|
0.06666666666666667,
|
||||||
|
0.13333333333333333,
|
||||||
|
0.2
|
||||||
|
],
|
||||||
|
"_values": [
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@59cfc",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@b5811",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@bb70c",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@b6fe2",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.AnimationClipAdditiveSettings",
|
||||||
|
"enabled": false,
|
||||||
|
"refClip": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/resources/game/skill/anm/m_ball_water_1.anim.meta
Normal file
13
assets/resources/game/skill/anm/m_ball_water_1.anim.meta
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "2.0.3",
|
||||||
|
"importer": "animation-clip",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "ca8450cc-65f1-4d89-8e95-7f4f316e0972",
|
||||||
|
"files": [
|
||||||
|
".cconb"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"name": "m_ball_water_1"
|
||||||
|
}
|
||||||
|
}
|
||||||
401
assets/resources/game/skill/atk/b_arrow_1.prefab
Normal file
401
assets/resources/game/skill/atk/b_arrow_1.prefab
Normal file
@@ -0,0 +1,401 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "b_arrow_1",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "b_arrow_1",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 18
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"_lrot": {
|
||||||
|
"__type__": "cc.Quat",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"w": 1
|
||||||
|
},
|
||||||
|
"_lscale": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 1,
|
||||||
|
"y": 1,
|
||||||
|
"z": 1
|
||||||
|
},
|
||||||
|
"_mobility": 0,
|
||||||
|
"_layer": 1073741824,
|
||||||
|
"_euler": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "Node",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"_lrot": {
|
||||||
|
"__type__": "cc.Quat",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"w": 1
|
||||||
|
},
|
||||||
|
"_lscale": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 1,
|
||||||
|
"y": 1,
|
||||||
|
"z": 1
|
||||||
|
},
|
||||||
|
"_mobility": 0,
|
||||||
|
"_layer": 1073741824,
|
||||||
|
"_euler": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 60,
|
||||||
|
"height": 60
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.2,
|
||||||
|
"y": 0.2
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "93pNmvtQlLSqtTgIepyEmA"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 6
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 170
|
||||||
|
},
|
||||||
|
"_spriteFrame": null,
|
||||||
|
"_type": 0,
|
||||||
|
"_fillType": 0,
|
||||||
|
"_sizeMode": 0,
|
||||||
|
"_fillCenter": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"_fillStart": 0,
|
||||||
|
"_fillRange": 0,
|
||||||
|
"_isTrimmedMode": true,
|
||||||
|
"_useGrayscale": false,
|
||||||
|
"_atlas": {
|
||||||
|
"__uuid__": "2423272e-e63b-4736-b15b-30b40cf98a23",
|
||||||
|
"__expectedType__": "cc.SpriteAtlas"
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "12eKc8gltBz50frJCS5+ww"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "3arqAMBz1MvoXBzeDaL5M/",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 9
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 240,
|
||||||
|
"height": 100
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "63NP9yq3hEUKD/OZZZ5t7x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Animation",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"playOnLoad": true,
|
||||||
|
"_clips": [
|
||||||
|
null
|
||||||
|
],
|
||||||
|
"_defaultClip": null,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c2RDvksalG2acL3tyGCY0t"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "57aabs7TE1J5obTAZczc+64",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"atk_x": 0,
|
||||||
|
"atk_y": 0,
|
||||||
|
"runType": 2,
|
||||||
|
"endType": 0,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "60LInmZXxDtKu79AshRG9j"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "f680dkagx9PmbfqtF463/Ua",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"speed": 600,
|
||||||
|
"controlPointSide": 1,
|
||||||
|
"controlPointOffset": 0.5,
|
||||||
|
"controlPointRandomness": 0.3,
|
||||||
|
"autoRotate": false,
|
||||||
|
"showTrajectory": false,
|
||||||
|
"trajectoryColor": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 0,
|
||||||
|
"g": 255,
|
||||||
|
"b": 0,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"trajectoryWidth": 3,
|
||||||
|
"easing": "linear",
|
||||||
|
"rotationSmoothness": 0.6,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "65YLwe9t9EXo5kI3HQEGhs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.RigidBody2D",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"enabledContactListener": false,
|
||||||
|
"bullet": false,
|
||||||
|
"awakeOnLoad": true,
|
||||||
|
"_group": 1,
|
||||||
|
"_type": 2,
|
||||||
|
"_allowSleep": true,
|
||||||
|
"_gravityScale": 1,
|
||||||
|
"_linearDamping": 0,
|
||||||
|
"_angularDamping": 0,
|
||||||
|
"_linearVelocity": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"_angularVelocity": 0,
|
||||||
|
"_fixedRotation": false,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "e1yBA625RLwLhzo6bLYW7j"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.BoxCollider2D",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 19
|
||||||
|
},
|
||||||
|
"tag": 0,
|
||||||
|
"_group": 1,
|
||||||
|
"_density": 1,
|
||||||
|
"_sensor": false,
|
||||||
|
"_friction": 0.2,
|
||||||
|
"_restitution": 0,
|
||||||
|
"_offset": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 43.5,
|
||||||
|
"y": 48.5
|
||||||
|
},
|
||||||
|
"_size": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 87,
|
||||||
|
"height": 97
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "43ZDJfXX9AX73gyytKQZWm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/resources/game/skill/atk/b_arrow_1.prefab.meta
Normal file
13
assets/resources/game/skill/atk/b_arrow_1.prefab.meta
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "22fb2e9f-b1e2-4fe7-8562-550a456e093c",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "b_arrow_1"
|
||||||
|
}
|
||||||
|
}
|
||||||
410
assets/resources/game/skill/atk/m_water_ball_1.prefab
Normal file
410
assets/resources/game/skill/atk/m_water_ball_1.prefab
Normal file
@@ -0,0 +1,410 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "m_water_ball_1",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "m_water_ball_1",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 18
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 20
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"_lrot": {
|
||||||
|
"__type__": "cc.Quat",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"w": 1
|
||||||
|
},
|
||||||
|
"_lscale": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 1,
|
||||||
|
"y": 1,
|
||||||
|
"z": 1
|
||||||
|
},
|
||||||
|
"_mobility": 0,
|
||||||
|
"_layer": 1073741824,
|
||||||
|
"_euler": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "Node",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"_lrot": {
|
||||||
|
"__type__": "cc.Quat",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"w": 1
|
||||||
|
},
|
||||||
|
"_lscale": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": -1,
|
||||||
|
"y": 1,
|
||||||
|
"z": 1
|
||||||
|
},
|
||||||
|
"_mobility": 0,
|
||||||
|
"_layer": 1073741824,
|
||||||
|
"_euler": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 60,
|
||||||
|
"height": 60
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "93pNmvtQlLSqtTgIepyEmA"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 6
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@59cfc",
|
||||||
|
"__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": {
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6",
|
||||||
|
"__expectedType__": "cc.SpriteAtlas"
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "12eKc8gltBz50frJCS5+ww"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "3arqAMBz1MvoXBzeDaL5M/",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 9
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 50,
|
||||||
|
"height": 50
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "63NP9yq3hEUKD/OZZZ5t7x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Animation",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"playOnLoad": true,
|
||||||
|
"_clips": [
|
||||||
|
{
|
||||||
|
"__uuid__": "ca8450cc-65f1-4d89-8e95-7f4f316e0972",
|
||||||
|
"__expectedType__": "cc.AnimationClip"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_defaultClip": {
|
||||||
|
"__uuid__": "ca8450cc-65f1-4d89-8e95-7f4f316e0972",
|
||||||
|
"__expectedType__": "cc.AnimationClip"
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c2RDvksalG2acL3tyGCY0t"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "57aabs7TE1J5obTAZczc+64",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 13
|
||||||
|
},
|
||||||
|
"atk_x": 0,
|
||||||
|
"atk_y": 0,
|
||||||
|
"runType": 2,
|
||||||
|
"endType": 0,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "60LInmZXxDtKu79AshRG9j"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "f680dkagx9PmbfqtF463/Ua",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"speed": 600,
|
||||||
|
"controlPointSide": 1,
|
||||||
|
"controlPointOffset": 0.5,
|
||||||
|
"controlPointRandomness": 0.3,
|
||||||
|
"autoRotate": false,
|
||||||
|
"showTrajectory": false,
|
||||||
|
"trajectoryColor": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 0,
|
||||||
|
"g": 255,
|
||||||
|
"b": 0,
|
||||||
|
"a": 255
|
||||||
|
},
|
||||||
|
"trajectoryWidth": 3,
|
||||||
|
"easing": "linear",
|
||||||
|
"rotationSmoothness": 0.6,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "65YLwe9t9EXo5kI3HQEGhs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.RigidBody2D",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 17
|
||||||
|
},
|
||||||
|
"enabledContactListener": false,
|
||||||
|
"bullet": false,
|
||||||
|
"awakeOnLoad": true,
|
||||||
|
"_group": 1,
|
||||||
|
"_type": 2,
|
||||||
|
"_allowSleep": true,
|
||||||
|
"_gravityScale": 1,
|
||||||
|
"_linearDamping": 0,
|
||||||
|
"_angularDamping": 0,
|
||||||
|
"_linearVelocity": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"_angularVelocity": 0,
|
||||||
|
"_fixedRotation": false,
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "e1yBA625RLwLhzo6bLYW7j"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.BoxCollider2D",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 19
|
||||||
|
},
|
||||||
|
"tag": 0,
|
||||||
|
"_group": 1,
|
||||||
|
"_density": 1,
|
||||||
|
"_sensor": false,
|
||||||
|
"_friction": 0.2,
|
||||||
|
"_restitution": 0,
|
||||||
|
"_offset": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"_size": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 50,
|
||||||
|
"height": 50
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "43ZDJfXX9AX73gyytKQZWm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/resources/game/skill/atk/m_water_ball_1.prefab.meta
Normal file
13
assets/resources/game/skill/atk/m_water_ball_1.prefab.meta
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "29baebb3-8352-40c2-bab7-75d712b934eb",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "m_water_ball_1"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -160,7 +160,7 @@ export const SkillSet: Record<number, SkillConfig> = {
|
|||||||
buffs:[],neAttrs:[],info:"向最前方敌人扔出石斧,造成100%攻击的伤害",
|
buffs:[],neAttrs:[],info:"向最前方敌人扔出石斧,造成100%攻击的伤害",
|
||||||
},
|
},
|
||||||
6005: {
|
6005: {
|
||||||
uuid:6005,name:"火球术",sp_name:"atk_fire1",AtkedName:AtkedName.atked,path:"3039",TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,DType:DType.MAGE,
|
uuid:6005,name:"水球",sp_name:"m_water_ball_1",AtkedName:AtkedName.atked,path:"3039",TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,DType:DType.MAGE,
|
||||||
ap:100,cd:5,t_num:1,hit_num:1,hit:2,hitcd:0.3,speed:720,cost:20,with:90,ready:8001,endAnm:9001,RType:RType.linear,
|
ap:100,cd:5,t_num:1,hit_num:1,hit:2,hitcd:0.3,speed:720,cost:20,with:90,ready:8001,endAnm:9001,RType:RType.linear,
|
||||||
buffs:[],neAttrs:[],info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧",
|
buffs:[],neAttrs:[],info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ export const HeroInfo: Record<number, heroInfo> = {
|
|||||||
|
|
||||||
// 刘邦 - 领导型战士(善于用人,知人善任)
|
// 刘邦 - 领导型战士(善于用人,知人善任)
|
||||||
5001:{uuid:5001,name:"刘邦",path:"hk1", fac:FacSet.HERO, kind:1,
|
5001:{uuid:5001,name:"刘邦",path:"hk1", fac:FacSet.HERO, kind:1,
|
||||||
type:HType.warrior,lv:1,hp:125,mp:85,map:10,def:9,mdef:0,ap:15,dis:100,speed:120,skills:[6001],
|
type:HType.warrior,lv:1,hp:1000,mp:85,map:10,def:9,mdef:0,ap:15,dis:100,speed:120,skills:[6001],
|
||||||
buff:[],tal:[7101,7201,7301],info:"楚汉争霸领袖,领导统御型战士"},
|
buff:[],tal:[7101,7201,7301],info:"楚汉争霸领袖,领导统御型战士"},
|
||||||
|
|
||||||
// 荆轲 - 刺客(敏捷型,高速度和暴击率)
|
// 荆轲 - 刺客(敏捷型,高速度和暴击率)
|
||||||
@@ -178,11 +178,11 @@ export const HeroInfo: Record<number, heroInfo> = {
|
|||||||
|
|
||||||
// 4. 远程骚扰型
|
// 4. 远程骚扰型
|
||||||
5210:{uuid:5210,name:"骷髅弓手",path:"mo1", fac:FacSet.MON, kind:1,
|
5210:{uuid:5210,name:"骷髅弓手",path:"mo1", fac:FacSet.MON, kind:1,
|
||||||
type:HType.remote,lv:1,hp:60,mp:100,map:8,def:4,mdef:0,ap:12,dis:450,speed:110,skills:[6002],
|
type:HType.remote,lv:1,hp:60,mp:100,map:8,def:4,mdef:0,ap:12,dis:450,speed:110,skills:[6005],
|
||||||
buff:[],tal:[],info:"远程骚扰型:保持距离发射箭矢,逼迫玩家走位"},
|
buff:[],tal:[],info:"远程骚扰型:保持距离发射箭矢,逼迫玩家走位"},
|
||||||
|
|
||||||
5211:{uuid:5211,name:"法师骷髅",path:"mo1", fac:FacSet.MON, kind:1,
|
5211:{uuid:5211,name:"法师骷髅",path:"mo1", fac:FacSet.MON, kind:1,
|
||||||
type:HType.mage,lv:1,hp:55,mp:100,map:25,def:4,mdef:5,ap:10,dis:400,speed:105,skills:[6002],
|
type:HType.mage,lv:1,hp:55,mp:100,map:25,def:4,mdef:5,ap:10,dis:400,speed:105,skills:[6005],
|
||||||
buff:[],tal:[],info:"远程骚扰型:保持距离释放法术弹幕,逼迫玩家走位"},
|
buff:[],tal:[],info:"远程骚扰型:保持距离释放法术弹幕,逼迫玩家走位"},
|
||||||
|
|
||||||
// 5. 特殊机制型
|
// 5. 特殊机制型
|
||||||
@@ -198,19 +198,19 @@ export const HeroInfo: Record<number, heroInfo> = {
|
|||||||
// 5. 特殊机制扩展
|
// 5. 特殊机制扩展
|
||||||
// 召唤师:持续召唤小怪(后续可在技能系统中实现 SType.zhaohuan)
|
// 召唤师:持续召唤小怪(后续可在技能系统中实现 SType.zhaohuan)
|
||||||
5214:{uuid:5214,name:"死灵法师(召唤师)",path:"mo1", fac:FacSet.MON, kind:1,
|
5214:{uuid:5214,name:"死灵法师(召唤师)",path:"mo1", fac:FacSet.MON, kind:1,
|
||||||
type:HType.mage,lv:1,hp:90,mp:160,map:22,def:4,mdef:6,ap:8,dis:380,speed:100,skills:[6002],
|
type:HType.mage,lv:1,hp:90,mp:160,map:22,def:4,mdef:6,ap:8,dis:380,speed:100,skills:[6005],
|
||||||
buff:[],tal:[],info:"特殊机制:持续召唤小怪,需优先击杀"},
|
buff:[],tal:[],info:"特殊机制:持续召唤小怪,需优先击杀"},
|
||||||
|
|
||||||
// 治疗者:为周围怪物回血(此处以提升治疗效果和生命回复为基础被动)
|
// 治疗者:为周围怪物回血(此处以提升治疗效果和生命回复为基础被动)
|
||||||
// Attrs.HEAL_EFFECT=5 (RATIO=1),Attrs.HP_REGEN=3 (VALUE=0)
|
// Attrs.HEAL_EFFECT=5 (RATIO=1),Attrs.HP_REGEN=3 (VALUE=0)
|
||||||
5215:{uuid:5215,name:"祭司(治疗者)",path:"mo1", fac:FacSet.MON, kind:1,
|
5215:{uuid:5215,name:"祭司(治疗者)",path:"mo1", fac:FacSet.MON, kind:1,
|
||||||
type:HType.support,lv:1,hp:100,mp:160,map:18,def:5,mdef:8,ap:6,dis:350,speed:105,skills:[6002],
|
type:HType.support,lv:1,hp:100,mp:160,map:18,def:5,mdef:8,ap:6,dis:350,speed:105,skills:[6005],
|
||||||
buff:[],tal:[],info:"特殊机制:为周围怪物提供治疗增益与持续回复"},
|
buff:[],tal:[],info:"特殊机制:为周围怪物提供治疗增益与持续回复"},
|
||||||
|
|
||||||
// 光环怪:为周围怪物提供增益(此处以Buff效果提升与移动速度提升为基础被动)
|
// 光环怪:为周围怪物提供增益(此处以Buff效果提升与移动速度提升为基础被动)
|
||||||
// Attrs.BUFF_UP=60 (RATIO=1),Attrs.SPEED=63 (RATIO=1)
|
// Attrs.BUFF_UP=60 (RATIO=1),Attrs.SPEED=63 (RATIO=1)
|
||||||
5216:{uuid:5216,name:"光环幽灵(光环怪)",path:"mo1", fac:FacSet.MON, kind:1,
|
5216:{uuid:5216,name:"光环幽灵(光环怪)",path:"mo1", fac:FacSet.MON, kind:1,
|
||||||
type:HType.support,lv:1,hp:85,mp:140,map:15,def:4,mdef:7,ap:7,dis:350,speed:110,skills:[6002],
|
type:HType.support,lv:1,hp:85,mp:140,map:15,def:4,mdef:7,ap:7,dis:350,speed:110,skills:[6005],
|
||||||
buff:[],tal:[],info:"特殊机制:为周围怪物提供增益光环,加速与增益效果强化"},
|
buff:[],tal:[],info:"特殊机制:为周围怪物提供增益光环,加速与增益效果强化"},
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
import { _decorator, EventTarget } from 'cc';
|
|
||||||
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
|
|
||||||
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
|
||||||
const { ccclass } = _decorator;
|
|
||||||
|
|
||||||
/** 事件总线组件 - 简化版,仅提供基本的发布订阅功能 */
|
|
||||||
@ecs.register('EBusComp', false)
|
|
||||||
export class EBusComp extends CCComp {
|
|
||||||
|
|
||||||
/** 内部事件目标 */
|
|
||||||
private _eventTarget: EventTarget;
|
|
||||||
|
|
||||||
/** 获取事件目标 */
|
|
||||||
private get eventTarget(): EventTarget {
|
|
||||||
if (!this._eventTarget) {
|
|
||||||
this._eventTarget = new EventTarget();
|
|
||||||
}
|
|
||||||
return this._eventTarget;
|
|
||||||
}
|
|
||||||
|
|
||||||
start() {
|
|
||||||
// 组件启动时的初始化逻辑
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 发布事件
|
|
||||||
* @param event 事件名称
|
|
||||||
* @param data 事件数据
|
|
||||||
*/
|
|
||||||
public emit(event: string, data?: any): void {
|
|
||||||
this.eventTarget.emit(event, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 订阅事件
|
|
||||||
* @param event 事件名称
|
|
||||||
* @param callback 回调函数
|
|
||||||
* @param target 回调函数的this指向
|
|
||||||
*/
|
|
||||||
public on(event: string, listener: (...args: any[]) => void, object?: any): void {
|
|
||||||
this.eventTarget.on(event, listener, object);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 取消订阅事件
|
|
||||||
* @param event 事件名称
|
|
||||||
* @param callback 回调函数
|
|
||||||
* @param target 回调函数的this指向
|
|
||||||
*/
|
|
||||||
public off(event?: string, callback?: (data?: any) => void, target?: any): void {
|
|
||||||
if (arguments.length === 0) {
|
|
||||||
// 无参调用:清理本节点所有监听
|
|
||||||
this.eventTarget.targetOff(this);
|
|
||||||
} else if (arguments.length === 1) {
|
|
||||||
// 仅提供 event:清理该事件名下所有回调
|
|
||||||
this.eventTarget.targetOff(event);
|
|
||||||
} else {
|
|
||||||
// 完整参数:精确移除指定回调
|
|
||||||
this.eventTarget.off(event!, callback!, target);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 订阅一次性事件
|
|
||||||
* @param event 事件名称
|
|
||||||
* @param callback 回调函数
|
|
||||||
* @param target 回调函数的this指向
|
|
||||||
*/
|
|
||||||
public once(event: string, callback: (data?: any) => void, target?: any): void {
|
|
||||||
this.eventTarget.once(event, callback, target);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 取消所有事件监听
|
|
||||||
*/
|
|
||||||
public targetOff(target: any): void {
|
|
||||||
this.eventTarget.targetOff(target);
|
|
||||||
}
|
|
||||||
|
|
||||||
reset() {
|
|
||||||
// 清理所有事件监听
|
|
||||||
if (this._eventTarget) {
|
|
||||||
this._eventTarget.targetOff(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 组件删除时触发自定义释放逻辑
|
|
||||||
this.node.destroy();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"ver": "4.0.24",
|
|
||||||
"importer": "typescript",
|
|
||||||
"imported": true,
|
|
||||||
"uuid": "b44b7a75-de7d-4aa1-ad20-78e6690926c0",
|
|
||||||
"files": [],
|
|
||||||
"subMetas": {},
|
|
||||||
"userData": {}
|
|
||||||
}
|
|
||||||
@@ -47,4 +47,8 @@ export default class HeroAnmComp extends Component{
|
|||||||
if(this.anmcon.getState("buff").isPlaying) return
|
if(this.anmcon.getState("buff").isPlaying) return
|
||||||
this.anmcon.play("buff")
|
this.anmcon.play("buff")
|
||||||
}
|
}
|
||||||
|
dead(){
|
||||||
|
if(this.anmcon.getState("dead").isPlaying) return
|
||||||
|
this.anmcon.play("dead")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -454,8 +454,8 @@ export class HeroAttrSystem extends ecs.ComblockSystem
|
|||||||
model.updateTemporaryBuffsDebuffs(this.dt);
|
model.updateTemporaryBuffsDebuffs(this.dt);
|
||||||
|
|
||||||
// 2. HP/MP 自然回复(业务规则)
|
// 2. HP/MP 自然回复(业务规则)
|
||||||
model.mp += HeroUpSet.MP * this.dt;
|
model.mp += HeroUpSet.MP * this.dt/60;
|
||||||
model.hp += HeroUpSet.HP * this.dt;
|
model.hp += HeroUpSet.HP * this.dt/60;
|
||||||
|
|
||||||
// 3. 限制属性值在合理范围内
|
// 3. 限制属性值在合理范围内
|
||||||
if (model.mp > model.Attrs[Attrs.MP_MAX]) {
|
if (model.mp > model.Attrs[Attrs.MP_MAX]) {
|
||||||
|
|||||||
@@ -66,6 +66,10 @@ export class HeroSpine extends Component {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
dead(){
|
||||||
|
// console.log("do dead");
|
||||||
|
this.anm.dead()
|
||||||
|
}
|
||||||
do_buff(){
|
do_buff(){
|
||||||
this.anm.buff()
|
this.anm.buff()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import { GameEvent } from "../common/config/GameEvent";
|
|||||||
import { TooltipTypes } from "../common/config/Mission";
|
import { TooltipTypes } from "../common/config/Mission";
|
||||||
import { Attrs, } from "../common/config/HeroAttrs";
|
import { Attrs, } from "../common/config/HeroAttrs";
|
||||||
import { HeroAttrsComp } from "./HeroAttrsComp";
|
import { HeroAttrsComp } from "./HeroAttrsComp";
|
||||||
import { EBusComp } from "./EBusComp";
|
|
||||||
import { Tooltip } from "../skill/Tooltip";
|
import { Tooltip } from "../skill/Tooltip";
|
||||||
import { timedCom } from "../skill/timedCom";
|
import { timedCom } from "../skill/timedCom";
|
||||||
|
|
||||||
@@ -93,7 +92,7 @@ export class HeroViewComp extends CCComp {
|
|||||||
|
|
||||||
// 添加安全检查,防止在实体销毁过程中访问null的model
|
// 添加安全检查,防止在实体销毁过程中访问null的model
|
||||||
if (!this.model) return;
|
if (!this.model) return;
|
||||||
|
if(this.model.is_dead) return;
|
||||||
// ✅ View 层职责:处理表现相关的逻辑
|
// ✅ View 层职责:处理表现相关的逻辑
|
||||||
this.processDamageQueue(); // 伤害数字显示队列
|
this.processDamageQueue(); // 伤害数字显示队列
|
||||||
|
|
||||||
@@ -158,17 +157,7 @@ export class HeroViewComp extends CCComp {
|
|||||||
node.setPosition(pos);
|
node.setPosition(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 死亡特效 */
|
|
||||||
private dead() {
|
|
||||||
var path = "game/skill/buff/dead";
|
|
||||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
|
||||||
var node = instantiate(prefab);
|
|
||||||
node.parent = this.node.parent;
|
|
||||||
node.setScale(node.scale.x * 0.5, node.scale.y * 0.5);
|
|
||||||
let pos = v3(this.node.position.x, this.node.position.y + 30, this.node.position.z);
|
|
||||||
node.setPosition(pos);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 受击特效 */
|
/** 受击特效 */
|
||||||
private in_atked(anm: string = "atked", scale: number = 1) {
|
private in_atked(anm: string = "atked", scale: number = 1) {
|
||||||
var path = "game/skill/end/" + anm;
|
var path = "game/skill/end/" + anm;
|
||||||
@@ -270,7 +259,7 @@ export class HeroViewComp extends CCComp {
|
|||||||
this.model.is_count_dead = true; // 防止重复触发,必须存在防止重复调用
|
this.model.is_count_dead = true; // 防止重复触发,必须存在防止重复调用
|
||||||
|
|
||||||
// 播放死亡特效
|
// 播放死亡特效
|
||||||
this.dead();
|
this.as.dead();
|
||||||
|
|
||||||
// 根据阵营触发不同事件
|
// 根据阵营触发不同事件
|
||||||
if(this.model.fac === FacSet.MON){
|
if(this.model.fac === FacSet.MON){
|
||||||
@@ -325,14 +314,7 @@ export class HeroViewComp extends CCComp {
|
|||||||
// 预留:反击、护盾触发等
|
// 预留:反击、护盾触发等
|
||||||
}
|
}
|
||||||
|
|
||||||
to_grave(){
|
|
||||||
tween(this.node).to(0.5, { position:v3(-900,this.node.position.y+300,0)},{
|
|
||||||
onComplete: (target?: object) => {
|
|
||||||
this.node.setPosition(-900,this.node.position.y-300,0)
|
|
||||||
}
|
|
||||||
}).start()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/** 调试日志(已禁用) */
|
/** 调试日志(已禁用) */
|
||||||
to_console(value:any, value2:any=null, value3:any=null){
|
to_console(value:any, value2:any=null, value3:any=null){
|
||||||
|
|||||||
@@ -60,11 +60,11 @@ export class MissionComp extends CCComp {
|
|||||||
|
|
||||||
do_hero_dead(event:any,data:any){
|
do_hero_dead(event:any,data:any){
|
||||||
// console.log("[MissionComp] do_hero_dead",event,data)
|
// console.log("[MissionComp] do_hero_dead",event,data)
|
||||||
smc.vmdata.mission_data.hero_num--
|
// smc.vmdata.mission_data.hero_num--
|
||||||
if(smc.vmdata.mission_data.hero_num<=0) {
|
// if(smc.vmdata.mission_data.hero_num<=0) {
|
||||||
oops.message.dispatchEvent(GameEvent.FightEnd,{victory:false})
|
// oops.message.dispatchEvent(GameEvent.FightEnd,{victory:false})
|
||||||
oops.gui.open(UIID.Victory,{victory:false,rewards:this.rewards,game_data:this.game_data})
|
// oops.gui.open(UIID.Victory,{victory:false,rewards:this.rewards,game_data:this.game_data})
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
do_ad(){
|
do_ad(){
|
||||||
if(this.ad_back()){
|
if(this.ad_back()){
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ec
|
|||||||
import { BezierMove } from "../BezierMove/BezierMove";
|
import { BezierMove } from "../BezierMove/BezierMove";
|
||||||
import { RType, SkillSet } from "../common/config/SkillSet";
|
import { RType, SkillSet } from "../common/config/SkillSet";
|
||||||
import { BoxSet } from "../common/config/BoxSet";
|
import { BoxSet } from "../common/config/BoxSet";
|
||||||
|
import { ECSEntity } from "db://oops-framework/libs/ecs/ECSEntity";
|
||||||
|
import { SkillView } from "./SkillView";
|
||||||
/**
|
/**
|
||||||
* 技能移动数据组件
|
* 技能移动数据组件
|
||||||
* 存储技能实体的移动相关数据
|
* 存储技能实体的移动相关数据
|
||||||
@@ -48,17 +50,19 @@ export class SMoveDataComp extends ecs.Comp {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// /** 业务层业务逻辑处理对象 */
|
/** 业务层业务逻辑处理对象 */
|
||||||
// export class SMoveSystem extends ecs.ComblockSystem implements ecs.IEntityEnterSystem {
|
export class SMoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate {
|
||||||
// filter(): ecs.IMatcher {
|
filter(): ecs.IMatcher {
|
||||||
// return ecs.allOf(SMoveDataComp);
|
return ecs.allOf(SMoveDataComp,SkillView);
|
||||||
// }
|
}
|
||||||
// entityEnter(e: ecs.Entity): void {
|
entityEnter(e: ecs.Entity): void {
|
||||||
// // 注:自定义业务逻辑
|
// 注:自定义业务逻辑
|
||||||
// let s_uuid=e.get(SMoveDataComp).s_uuid
|
let s_uuid=e.get(SMoveDataComp).s_uuid
|
||||||
// let SConf=SkillSet[s_uuid]
|
let SConf=SkillSet[s_uuid]
|
||||||
|
|
||||||
// e.remove(SMoveDataComp);
|
}
|
||||||
// }
|
update(entity: ECSEntity): void {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// }
|
}
|
||||||
@@ -56,6 +56,7 @@ export class Skill extends ecs.Entity {
|
|||||||
|
|
||||||
// 初始视图
|
// 初始视图
|
||||||
const SView = node.getComponent(SkillView);
|
const SView = node.getComponent(SkillView);
|
||||||
|
console.log("load skill SView",SView)
|
||||||
// 只设置必要的运行时属性,配置信息通过 SkillSet[uuid] 访问
|
// 只设置必要的运行时属性,配置信息通过 SkillSet[uuid] 访问
|
||||||
// 核心标识
|
// 核心标识
|
||||||
SView.s_uuid= s_uuid
|
SView.s_uuid= s_uuid
|
||||||
|
|||||||
@@ -66,8 +66,10 @@ export class SkillView extends CCComp {
|
|||||||
}
|
}
|
||||||
onBeginContact (seCol: Collider2D, oCol: Collider2D) {
|
onBeginContact (seCol: Collider2D, oCol: Collider2D) {
|
||||||
// console.log(this.scale+"碰撞开始 ",seCol,oCol);
|
// console.log(this.scale+"碰撞开始 ",seCol,oCol);
|
||||||
if(seCol.node.position.x-oCol.node.position.x > 100 ) return
|
if(this.endType!=EType.collision) return
|
||||||
let target = oCol.getComponent(HeroViewComp)
|
let target = oCol.getComponent(HeroViewComp)
|
||||||
|
let model=target.ent.get(HeroAttrsComp)
|
||||||
|
if(model.is_dead) return
|
||||||
if(oCol.group!=this.group){
|
if(oCol.group!=this.group){
|
||||||
if(target == null) return;
|
if(target == null) return;
|
||||||
if (!this.SConf) return;
|
if (!this.SConf) return;
|
||||||
@@ -139,8 +141,9 @@ export class SkillView extends CCComp {
|
|||||||
// 收集范围内所有敌方目标
|
// 收集范围内所有敌方目标
|
||||||
enemys.some(e => {
|
enemys.some(e => {
|
||||||
const view = e.get(HeroViewComp);
|
const view = e.get(HeroViewComp);
|
||||||
|
const model=e.get(HeroAttrsComp)
|
||||||
const distance = Math.abs(this.node.position.x - view.node.position.x);
|
const distance = Math.abs(this.node.position.x - view.node.position.x);
|
||||||
if(distance <= dis) {
|
if(distance <= dis&&!model.is_dead) {
|
||||||
IRTargets.push(view);
|
IRTargets.push(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user