Compare commits
25 Commits
oh/0.1.112
...
509539760d
| Author | SHA1 | Date | |
|---|---|---|---|
| 509539760d | |||
| 7a7a6fa02c | |||
| 40c430546c | |||
| b2cc25b32b | |||
| 0692d58e01 | |||
| cdfcf1f8f1 | |||
| dcf739d093 | |||
| bbf8dbb8cb | |||
| df3ad88c3e | |||
| ab4d29d42b | |||
| 9c33bb0f7b | |||
| b965c88961 | |||
| b73d756106 | |||
| 3edc69deff | |||
| 03a8a41980 | |||
| 91c18004eb | |||
| 6df4abadd1 | |||
| 8d2ec76b01 | |||
| 4ed531e100 | |||
| aefe3d6d06 | |||
| 2dc43b5b81 | |||
| 58fa6527ee | |||
| df23e3787d | |||
| 8a0cfb78dd | |||
| 3990799046 |
@@ -29,31 +29,28 @@
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 46
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 55
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 57
|
||||
"__id__": 48
|
||||
},
|
||||
{
|
||||
"__id__": 59
|
||||
"__id__": 50
|
||||
},
|
||||
{
|
||||
"__id__": 61
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 63
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 65
|
||||
"__id__": 56
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -674,10 +671,10 @@
|
||||
"__id__": 37
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 39
|
||||
},
|
||||
@@ -685,7 +682,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "fe79INE+JI1Jy2Hu0iKLMn",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
@@ -718,131 +715,6 @@
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "tooltip"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"0d6ZXmA5dHkZxoGONDL2sE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 4.65,
|
||||
"y": 129.718,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
],
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 47
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 46
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 48
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 49
|
||||
},
|
||||
{
|
||||
"__id__": 51
|
||||
},
|
||||
{
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 53
|
||||
},
|
||||
{
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "up"
|
||||
},
|
||||
{
|
||||
@@ -854,7 +726,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
@@ -869,7 +741,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
@@ -885,7 +757,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
@@ -900,7 +772,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
@@ -917,7 +789,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 56
|
||||
"__id__": 47
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -945,7 +817,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 58
|
||||
"__id__": 49
|
||||
},
|
||||
"anm": {
|
||||
"__id__": 5
|
||||
@@ -960,12 +832,13 @@
|
||||
"__type__": "873f8d+SolMEo8DiTTxZRh4",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 60
|
||||
"__id__": 51
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
@@ -983,7 +856,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 62
|
||||
"__id__": 53
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": false,
|
||||
@@ -1017,7 +890,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 64
|
||||
"__id__": 55
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 4,
|
||||
@@ -1053,9 +926,6 @@
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
|
||||
@@ -29,31 +29,28 @@
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 46
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 55
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 57
|
||||
"__id__": 48
|
||||
},
|
||||
{
|
||||
"__id__": 59
|
||||
"__id__": 50
|
||||
},
|
||||
{
|
||||
"__id__": 61
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 63
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 65
|
||||
"__id__": 56
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -674,10 +671,10 @@
|
||||
"__id__": 37
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 39
|
||||
},
|
||||
@@ -685,7 +682,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "fe79INE+JI1Jy2Hu0iKLMn",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
@@ -718,131 +715,6 @@
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "tooltip"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"0d6ZXmA5dHkZxoGONDL2sE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 4.65,
|
||||
"y": 129.718,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
],
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 47
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 46
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 48
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 49
|
||||
},
|
||||
{
|
||||
"__id__": 51
|
||||
},
|
||||
{
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 53
|
||||
},
|
||||
{
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "up"
|
||||
},
|
||||
{
|
||||
@@ -854,7 +726,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
@@ -869,7 +741,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
@@ -885,7 +757,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
@@ -900,7 +772,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
@@ -917,7 +789,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 56
|
||||
"__id__": 47
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -945,7 +817,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 58
|
||||
"__id__": 49
|
||||
},
|
||||
"anm": {
|
||||
"__id__": 5
|
||||
@@ -960,12 +832,13 @@
|
||||
"__type__": "873f8d+SolMEo8DiTTxZRh4",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 60
|
||||
"__id__": 51
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
@@ -983,7 +856,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 62
|
||||
"__id__": 53
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": false,
|
||||
@@ -1017,7 +890,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 64
|
||||
"__id__": 55
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 4,
|
||||
@@ -1053,9 +926,6 @@
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
|
||||
@@ -29,31 +29,28 @@
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 46
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 55
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 57
|
||||
"__id__": 48
|
||||
},
|
||||
{
|
||||
"__id__": 59
|
||||
"__id__": 50
|
||||
},
|
||||
{
|
||||
"__id__": 61
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 63
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 65
|
||||
"__id__": 56
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -674,10 +671,10 @@
|
||||
"__id__": 37
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 39
|
||||
},
|
||||
@@ -685,7 +682,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "fe79INE+JI1Jy2Hu0iKLMn",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
@@ -718,131 +715,6 @@
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "tooltip"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"0d6ZXmA5dHkZxoGONDL2sE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 4.65,
|
||||
"y": 129.718,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
],
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 47
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 46
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 48
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 49
|
||||
},
|
||||
{
|
||||
"__id__": 51
|
||||
},
|
||||
{
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 53
|
||||
},
|
||||
{
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "up"
|
||||
},
|
||||
{
|
||||
@@ -854,7 +726,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
@@ -869,7 +741,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
@@ -885,7 +757,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
@@ -900,7 +772,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
@@ -917,7 +789,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 56
|
||||
"__id__": 47
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -945,7 +817,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 58
|
||||
"__id__": 49
|
||||
},
|
||||
"anm": {
|
||||
"__id__": 5
|
||||
@@ -960,12 +832,13 @@
|
||||
"__type__": "873f8d+SolMEo8DiTTxZRh4",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 60
|
||||
"__id__": 51
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
@@ -983,7 +856,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 62
|
||||
"__id__": 53
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": false,
|
||||
@@ -1017,7 +890,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 64
|
||||
"__id__": 55
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 4,
|
||||
@@ -1053,9 +926,6 @@
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
|
||||
@@ -29,31 +29,28 @@
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 46
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 55
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 57
|
||||
"__id__": 48
|
||||
},
|
||||
{
|
||||
"__id__": 59
|
||||
"__id__": 50
|
||||
},
|
||||
{
|
||||
"__id__": 61
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 63
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 65
|
||||
"__id__": 56
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -674,10 +671,10 @@
|
||||
"__id__": 37
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 39
|
||||
},
|
||||
@@ -685,7 +682,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "fe79INE+JI1Jy2Hu0iKLMn",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
@@ -718,131 +715,6 @@
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "tooltip"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"0d6ZXmA5dHkZxoGONDL2sE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 4.65,
|
||||
"y": 129.718,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
],
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 47
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 46
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 48
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 49
|
||||
},
|
||||
{
|
||||
"__id__": 51
|
||||
},
|
||||
{
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 53
|
||||
},
|
||||
{
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "up"
|
||||
},
|
||||
{
|
||||
@@ -854,7 +726,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
@@ -869,7 +741,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
@@ -885,7 +757,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
@@ -900,7 +772,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
@@ -917,7 +789,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 56
|
||||
"__id__": 47
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -945,7 +817,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 58
|
||||
"__id__": 49
|
||||
},
|
||||
"anm": {
|
||||
"__id__": 5
|
||||
@@ -960,12 +832,13 @@
|
||||
"__type__": "873f8d+SolMEo8DiTTxZRh4",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 60
|
||||
"__id__": 51
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
@@ -983,7 +856,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 62
|
||||
"__id__": 53
|
||||
},
|
||||
"enabledContactListener": false,
|
||||
"bullet": false,
|
||||
@@ -1017,7 +890,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 64
|
||||
"__id__": 55
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 4,
|
||||
@@ -1053,9 +926,6 @@
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
|
||||
@@ -29,31 +29,28 @@
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 46
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 55
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 57
|
||||
"__id__": 48
|
||||
},
|
||||
{
|
||||
"__id__": 59
|
||||
"__id__": 50
|
||||
},
|
||||
{
|
||||
"__id__": 61
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 63
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 65
|
||||
"__id__": 56
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -674,10 +671,10 @@
|
||||
"__id__": 37
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 39
|
||||
},
|
||||
@@ -685,7 +682,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "fe79INE+JI1Jy2Hu0iKLMn",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
@@ -718,131 +715,6 @@
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "tooltip"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"0d6ZXmA5dHkZxoGONDL2sE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 4.65,
|
||||
"y": 129.718,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
],
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 47
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 46
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 48
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 49
|
||||
},
|
||||
{
|
||||
"__id__": 51
|
||||
},
|
||||
{
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 53
|
||||
},
|
||||
{
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "up"
|
||||
},
|
||||
{
|
||||
@@ -854,7 +726,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
@@ -869,7 +741,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
@@ -885,7 +757,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
@@ -900,7 +772,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
@@ -917,7 +789,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 56
|
||||
"__id__": 47
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -945,7 +817,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 58
|
||||
"__id__": 49
|
||||
},
|
||||
"anm": {
|
||||
"__id__": 5
|
||||
@@ -960,12 +832,13 @@
|
||||
"__type__": "873f8d+SolMEo8DiTTxZRh4",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 60
|
||||
"__id__": 51
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
@@ -983,7 +856,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 62
|
||||
"__id__": 53
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": false,
|
||||
@@ -1017,7 +890,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 64
|
||||
"__id__": 55
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 4,
|
||||
@@ -1053,9 +926,6 @@
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
|
||||
@@ -29,31 +29,28 @@
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 46
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 55
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 57
|
||||
"__id__": 48
|
||||
},
|
||||
{
|
||||
"__id__": 59
|
||||
"__id__": 50
|
||||
},
|
||||
{
|
||||
"__id__": 61
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 63
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 65
|
||||
"__id__": 56
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -674,10 +671,10 @@
|
||||
"__id__": 37
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 39
|
||||
},
|
||||
@@ -685,7 +682,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "fe79INE+JI1Jy2Hu0iKLMn",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
@@ -718,131 +715,6 @@
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "tooltip"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"0d6ZXmA5dHkZxoGONDL2sE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 4.65,
|
||||
"y": 129.718,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
],
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 47
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 46
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 48
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 49
|
||||
},
|
||||
{
|
||||
"__id__": 51
|
||||
},
|
||||
{
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 53
|
||||
},
|
||||
{
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "up"
|
||||
},
|
||||
{
|
||||
@@ -854,7 +726,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
@@ -869,7 +741,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
@@ -885,7 +757,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
@@ -900,7 +772,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
@@ -917,7 +789,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 56
|
||||
"__id__": 47
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -945,7 +817,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 58
|
||||
"__id__": 49
|
||||
},
|
||||
"anm": {
|
||||
"__id__": 5
|
||||
@@ -960,12 +832,13 @@
|
||||
"__type__": "873f8d+SolMEo8DiTTxZRh4",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 60
|
||||
"__id__": 51
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
@@ -983,7 +856,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 62
|
||||
"__id__": 53
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": false,
|
||||
@@ -1017,7 +890,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 64
|
||||
"__id__": 55
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 4,
|
||||
@@ -1053,9 +926,6 @@
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
|
||||
@@ -29,31 +29,28 @@
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 46
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 55
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 57
|
||||
"__id__": 48
|
||||
},
|
||||
{
|
||||
"__id__": 59
|
||||
"__id__": 50
|
||||
},
|
||||
{
|
||||
"__id__": 61
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 63
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 65
|
||||
"__id__": 56
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -674,10 +671,10 @@
|
||||
"__id__": 37
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 39
|
||||
},
|
||||
@@ -685,7 +682,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "fe79INE+JI1Jy2Hu0iKLMn",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
@@ -718,131 +715,6 @@
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "tooltip"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"0d6ZXmA5dHkZxoGONDL2sE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 4.65,
|
||||
"y": 129.718,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
],
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 47
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 46
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 48
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 49
|
||||
},
|
||||
{
|
||||
"__id__": 51
|
||||
},
|
||||
{
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 53
|
||||
},
|
||||
{
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "up"
|
||||
},
|
||||
{
|
||||
@@ -854,7 +726,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
@@ -869,7 +741,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
@@ -885,7 +757,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
@@ -900,7 +772,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
@@ -917,7 +789,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 56
|
||||
"__id__": 47
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -945,7 +817,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 58
|
||||
"__id__": 49
|
||||
},
|
||||
"anm": {
|
||||
"__id__": 5
|
||||
@@ -960,12 +832,13 @@
|
||||
"__type__": "873f8d+SolMEo8DiTTxZRh4",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 60
|
||||
"__id__": 51
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
@@ -983,7 +856,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 62
|
||||
"__id__": 53
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": false,
|
||||
@@ -1017,7 +890,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 64
|
||||
"__id__": 55
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 4,
|
||||
@@ -1053,9 +926,6 @@
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
|
||||
@@ -29,31 +29,28 @@
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 46
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 55
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 57
|
||||
"__id__": 48
|
||||
},
|
||||
{
|
||||
"__id__": 59
|
||||
"__id__": 50
|
||||
},
|
||||
{
|
||||
"__id__": 61
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 63
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 65
|
||||
"__id__": 56
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -671,10 +668,10 @@
|
||||
"__id__": 37
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 39
|
||||
},
|
||||
@@ -682,7 +679,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "fe79INE+JI1Jy2Hu0iKLMn",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
@@ -715,131 +712,6 @@
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "tooltip"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"0d6ZXmA5dHkZxoGONDL2sE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 4.65,
|
||||
"y": 129.718,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
],
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 47
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 46
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 48
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 49
|
||||
},
|
||||
{
|
||||
"__id__": 51
|
||||
},
|
||||
{
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 53
|
||||
},
|
||||
{
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "up"
|
||||
},
|
||||
{
|
||||
@@ -851,7 +723,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
@@ -866,7 +738,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
@@ -882,7 +754,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
@@ -897,7 +769,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
@@ -914,7 +786,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 56
|
||||
"__id__": 47
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -942,7 +814,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 58
|
||||
"__id__": 49
|
||||
},
|
||||
"anm": {
|
||||
"__id__": 5
|
||||
@@ -957,12 +829,13 @@
|
||||
"__type__": "873f8d+SolMEo8DiTTxZRh4",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 60
|
||||
"__id__": 51
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
@@ -980,7 +853,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 62
|
||||
"__id__": 53
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": false,
|
||||
@@ -1014,7 +887,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 64
|
||||
"__id__": 55
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 4,
|
||||
@@ -1050,9 +923,6 @@
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
|
||||
@@ -29,31 +29,28 @@
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 46
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 55
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 57
|
||||
"__id__": 48
|
||||
},
|
||||
{
|
||||
"__id__": 59
|
||||
"__id__": 50
|
||||
},
|
||||
{
|
||||
"__id__": 61
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 63
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 65
|
||||
"__id__": 56
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -674,10 +671,10 @@
|
||||
"__id__": 37
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 39
|
||||
},
|
||||
@@ -685,7 +682,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "fe79INE+JI1Jy2Hu0iKLMn",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
@@ -718,131 +715,6 @@
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "tooltip"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"0d6ZXmA5dHkZxoGONDL2sE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 4.65,
|
||||
"y": 129.718,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
],
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 47
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 46
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 48
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 49
|
||||
},
|
||||
{
|
||||
"__id__": 51
|
||||
},
|
||||
{
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 53
|
||||
},
|
||||
{
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "up"
|
||||
},
|
||||
{
|
||||
@@ -854,7 +726,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
@@ -869,7 +741,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
@@ -885,7 +757,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
@@ -900,7 +772,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
@@ -917,7 +789,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 56
|
||||
"__id__": 47
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -945,7 +817,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 58
|
||||
"__id__": 49
|
||||
},
|
||||
"anm": {
|
||||
"__id__": 5
|
||||
@@ -960,12 +832,13 @@
|
||||
"__type__": "873f8d+SolMEo8DiTTxZRh4",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 60
|
||||
"__id__": 51
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
@@ -983,7 +856,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 62
|
||||
"__id__": 53
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": false,
|
||||
@@ -1017,7 +890,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 64
|
||||
"__id__": 55
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 4,
|
||||
@@ -1053,9 +926,6 @@
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
|
||||
@@ -29,31 +29,28 @@
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 46
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 55
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 57
|
||||
"__id__": 48
|
||||
},
|
||||
{
|
||||
"__id__": 59
|
||||
"__id__": 50
|
||||
},
|
||||
{
|
||||
"__id__": 61
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 63
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 65
|
||||
"__id__": 56
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -674,10 +671,10 @@
|
||||
"__id__": 37
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 39
|
||||
},
|
||||
@@ -685,7 +682,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "fe79INE+JI1Jy2Hu0iKLMn",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
@@ -718,131 +715,6 @@
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "tooltip"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"0d6ZXmA5dHkZxoGONDL2sE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 4.65,
|
||||
"y": 129.718,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
],
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 47
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 46
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 48
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 49
|
||||
},
|
||||
{
|
||||
"__id__": 51
|
||||
},
|
||||
{
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 53
|
||||
},
|
||||
{
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "up"
|
||||
},
|
||||
{
|
||||
@@ -854,7 +726,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
@@ -869,7 +741,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
@@ -885,7 +757,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
@@ -900,7 +772,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
@@ -917,7 +789,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 56
|
||||
"__id__": 47
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -945,7 +817,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 58
|
||||
"__id__": 49
|
||||
},
|
||||
"anm": {
|
||||
"__id__": 5
|
||||
@@ -960,12 +832,13 @@
|
||||
"__type__": "873f8d+SolMEo8DiTTxZRh4",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 60
|
||||
"__id__": 51
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
@@ -983,7 +856,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 62
|
||||
"__id__": 53
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": false,
|
||||
@@ -1017,7 +890,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 64
|
||||
"__id__": 55
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 4,
|
||||
@@ -1053,9 +926,6 @@
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
|
||||
@@ -29,31 +29,28 @@
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
{
|
||||
"__id__": 46
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 55
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 57
|
||||
"__id__": 48
|
||||
},
|
||||
{
|
||||
"__id__": 59
|
||||
"__id__": 50
|
||||
},
|
||||
{
|
||||
"__id__": 61
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 63
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 65
|
||||
"__id__": 56
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -674,10 +671,10 @@
|
||||
"__id__": 37
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 39
|
||||
},
|
||||
@@ -685,7 +682,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "fe79INE+JI1Jy2Hu0iKLMn",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
@@ -718,131 +715,6 @@
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "tooltip"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TargetInfo",
|
||||
"localID": [
|
||||
"0d6ZXmA5dHkZxoGONDL2sE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 4.65,
|
||||
"y": 129.718,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
],
|
||||
"value": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
],
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_prefab": {
|
||||
"__id__": 47
|
||||
},
|
||||
"__editorExtras__": {}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 46
|
||||
},
|
||||
"asset": {
|
||||
"__uuid__": "ae4493bd-cbcc-4392-921c-3e2b0fcd5338",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"fileId": "91yoyAQGNDm5ziI7NUChZ+",
|
||||
"instance": {
|
||||
"__id__": 48
|
||||
},
|
||||
"targetOverrides": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInstance",
|
||||
"fileId": "08n1IzuupL3YNn2/tFvc8M",
|
||||
"prefabRootNode": {
|
||||
"__id__": 1
|
||||
},
|
||||
"mountedChildren": [],
|
||||
"mountedComponents": [],
|
||||
"propertyOverrides": [
|
||||
{
|
||||
"__id__": 49
|
||||
},
|
||||
{
|
||||
"__id__": 51
|
||||
},
|
||||
{
|
||||
"__id__": 52
|
||||
},
|
||||
{
|
||||
"__id__": 53
|
||||
},
|
||||
{
|
||||
"__id__": 54
|
||||
}
|
||||
],
|
||||
"removedComponents": []
|
||||
},
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
},
|
||||
"propertyPath": [
|
||||
"_name"
|
||||
],
|
||||
"value": "up"
|
||||
},
|
||||
{
|
||||
@@ -854,7 +726,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lpos"
|
||||
@@ -869,7 +741,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_lrot"
|
||||
@@ -885,7 +757,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_euler"
|
||||
@@ -900,7 +772,7 @@
|
||||
{
|
||||
"__type__": "CCPropertyOverrideInfo",
|
||||
"targetInfo": {
|
||||
"__id__": 50
|
||||
"__id__": 41
|
||||
},
|
||||
"propertyPath": [
|
||||
"_active"
|
||||
@@ -917,7 +789,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 56
|
||||
"__id__": 47
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -945,7 +817,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 58
|
||||
"__id__": 49
|
||||
},
|
||||
"anm": {
|
||||
"__id__": 5
|
||||
@@ -966,7 +838,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 60
|
||||
"__id__": 51
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
@@ -984,7 +856,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 62
|
||||
"__id__": 53
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": false,
|
||||
@@ -1018,7 +890,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 64
|
||||
"__id__": 55
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 4,
|
||||
@@ -1054,9 +926,6 @@
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": [
|
||||
{
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 37
|
||||
},
|
||||
|
||||
@@ -1,801 +0,0 @@
|
||||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "tooltip",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_native": "",
|
||||
"data": {
|
||||
"__id__": 1
|
||||
},
|
||||
"optimizationPolicy": 0,
|
||||
"persistent": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "tooltip",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 2
|
||||
},
|
||||
{
|
||||
"__id__": 24
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__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": 1,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "bg",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 3
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 17
|
||||
},
|
||||
{
|
||||
"__id__": 19
|
||||
},
|
||||
{
|
||||
"__id__": 21
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 23
|
||||
},
|
||||
"_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": 1,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Button_Border_Circle_H53_White_Bg",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 4
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 10
|
||||
},
|
||||
{
|
||||
"__id__": 12
|
||||
},
|
||||
{
|
||||
"__id__": 14
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 16
|
||||
},
|
||||
"_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": 1,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "BubbleFrame_01_ArrowBg",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 5
|
||||
},
|
||||
{
|
||||
"__id__": 7
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 9
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 70.583,
|
||||
"y": -43.963,
|
||||
"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": 1,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 4
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 6
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 31,
|
||||
"height": 37
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "0cSf9kAD1DFbHiUjMIIH+g"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Sprite",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 4
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 8
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@8b3ab",
|
||||
"__expectedType__": "cc.SpriteFrame"
|
||||
},
|
||||
"_type": 0,
|
||||
"_fillType": 0,
|
||||
"_sizeMode": 1,
|
||||
"_fillCenter": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_fillStart": 0,
|
||||
"_fillRange": 0,
|
||||
"_isTrimmedMode": true,
|
||||
"_useGrayscale": false,
|
||||
"_atlas": {
|
||||
"__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73",
|
||||
"__expectedType__": "cc.SpriteAtlas"
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "837tIFMjhFy6LI1VDae3SQ"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "9bbsSellpJ/7mfHLWpToGK",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 11
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 228,
|
||||
"height": 73
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "55OEMGRiREoarVbxxS4xtp"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Sprite",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 13
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@df277",
|
||||
"__expectedType__": "cc.SpriteFrame"
|
||||
},
|
||||
"_type": 1,
|
||||
"_fillType": 0,
|
||||
"_sizeMode": 0,
|
||||
"_fillCenter": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_fillStart": 0,
|
||||
"_fillRange": 0,
|
||||
"_isTrimmedMode": true,
|
||||
"_useGrayscale": false,
|
||||
"_atlas": {
|
||||
"__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73",
|
||||
"__expectedType__": "cc.SpriteAtlas"
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "de5EHTIPtGUoEgaAHAhhfE"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Widget",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 15
|
||||
},
|
||||
"_alignFlags": 45,
|
||||
"_target": null,
|
||||
"_left": 1,
|
||||
"_right": 1,
|
||||
"_top": 1,
|
||||
"_bottom": 1,
|
||||
"_horizontalCenter": 0,
|
||||
"_verticalCenter": 0,
|
||||
"_isAbsLeft": true,
|
||||
"_isAbsRight": true,
|
||||
"_isAbsTop": true,
|
||||
"_isAbsBottom": true,
|
||||
"_isAbsHorizontalCenter": true,
|
||||
"_isAbsVerticalCenter": true,
|
||||
"_originalWidth": 50,
|
||||
"_originalHeight": 53,
|
||||
"_alignMode": 2,
|
||||
"_lockFlags": 0,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "53LMej0GtNaJyk91eOlrcd"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "79W04mlENAn6oQ1y1oZyNg",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 18
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 230,
|
||||
"height": 75
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "d1/BqGCLlHV4LOZCExXtbR"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Sprite",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 20
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_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": null,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "09S6er24tADYna5lfOQEkl"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Widget",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 22
|
||||
},
|
||||
"_alignFlags": 45,
|
||||
"_target": null,
|
||||
"_left": 0,
|
||||
"_right": 0,
|
||||
"_top": 0,
|
||||
"_bottom": 0,
|
||||
"_horizontalCenter": 0,
|
||||
"_verticalCenter": 0,
|
||||
"_isAbsLeft": true,
|
||||
"_isAbsRight": true,
|
||||
"_isAbsTop": true,
|
||||
"_isAbsBottom": true,
|
||||
"_isAbsHorizontalCenter": true,
|
||||
"_isAbsVerticalCenter": true,
|
||||
"_originalWidth": 100,
|
||||
"_originalHeight": 50,
|
||||
"_alignMode": 2,
|
||||
"_lockFlags": 0,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "3b5Bvues1P/qDyLQHYI8J7"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "fadwGZO+5HPqK+IqWjAe1I",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "words",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 25
|
||||
},
|
||||
{
|
||||
"__id__": 27
|
||||
},
|
||||
{
|
||||
"__id__": 29
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 31
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 1,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 24
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 26
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 220,
|
||||
"height": 65
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "60n+Hxfa1P5qORRYWRA3am"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Label",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 24
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 28
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_string": "点我可以调整出战英雄",
|
||||
"_horizontalAlign": 1,
|
||||
"_verticalAlign": 1,
|
||||
"_actualFontSize": 21,
|
||||
"_fontSize": 20,
|
||||
"_fontFamily": "Arial",
|
||||
"_lineHeight": 25,
|
||||
"_overflow": 2,
|
||||
"_enableWrapText": true,
|
||||
"_font": null,
|
||||
"_isSystemFontUsed": true,
|
||||
"_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": 1.5,
|
||||
"_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": "6e8rPYem5HYojc44/ZRvP+"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Widget",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 24
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 30
|
||||
},
|
||||
"_alignFlags": 45,
|
||||
"_target": null,
|
||||
"_left": 5,
|
||||
"_right": 5,
|
||||
"_top": 5,
|
||||
"_bottom": 5,
|
||||
"_horizontalCenter": 0,
|
||||
"_verticalCenter": 0,
|
||||
"_isAbsLeft": true,
|
||||
"_isAbsRight": true,
|
||||
"_isAbsTop": true,
|
||||
"_isAbsBottom": true,
|
||||
"_isAbsHorizontalCenter": true,
|
||||
"_isAbsVerticalCenter": true,
|
||||
"_originalWidth": 63,
|
||||
"_originalHeight": 59.49999999999999,
|
||||
"_alignMode": 2,
|
||||
"_lockFlags": 0,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "9cjyQ0wVdFkrdMNAqOGW27"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "9d+dPANj1LBo7dJI/bx9b5",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 33
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 230,
|
||||
"height": 75
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "0alpB0Wg1E+5gOjL4DZ451"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
|
||||
"instance": null,
|
||||
"targetOverrides": null
|
||||
}
|
||||
]
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "tooltip"
|
||||
}
|
||||
}
|
||||
@@ -41,22 +41,25 @@
|
||||
},
|
||||
{
|
||||
"__id__": 112
|
||||
},
|
||||
{
|
||||
"__id__": 128
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 128
|
||||
"__id__": 146
|
||||
},
|
||||
{
|
||||
"__id__": 130
|
||||
"__id__": 148
|
||||
},
|
||||
{
|
||||
"__id__": 132
|
||||
"__id__": 150
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 134
|
||||
"__id__": 152
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -3229,6 +3232,465 @@
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "add_mp",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 129
|
||||
}
|
||||
],
|
||||
"_active": false,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 143
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 145
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 100,
|
||||
"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": 1,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "mp",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 128
|
||||
},
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 130
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 138
|
||||
},
|
||||
{
|
||||
"__id__": 140
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 142
|
||||
},
|
||||
"_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": 1,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Label",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 129
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 131
|
||||
},
|
||||
{
|
||||
"__id__": 133
|
||||
},
|
||||
{
|
||||
"__id__": 135
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 137
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -36.930390625,
|
||||
"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": 1,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 130
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 132
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 29.19921875,
|
||||
"height": 50
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "f7pa95arBMLryPjDchPW2u"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Label",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 130
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 134
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 78,
|
||||
"g": 187,
|
||||
"b": 248,
|
||||
"a": 255
|
||||
},
|
||||
"_string": "+",
|
||||
"_horizontalAlign": 1,
|
||||
"_verticalAlign": 1,
|
||||
"_actualFontSize": 50,
|
||||
"_fontSize": 50,
|
||||
"_fontFamily": "Arial",
|
||||
"_lineHeight": 50,
|
||||
"_overflow": 2,
|
||||
"_enableWrapText": true,
|
||||
"_font": {
|
||||
"__uuid__": "983a109b-a5e3-4ba7-84c5-1c53817ba177",
|
||||
"__expectedType__": "cc.BitmapFont"
|
||||
},
|
||||
"_isSystemFontUsed": false,
|
||||
"_spacingX": 0,
|
||||
"_isItalic": false,
|
||||
"_isBold": true,
|
||||
"_isUnderline": false,
|
||||
"_underlineHeight": 2,
|
||||
"_cacheMode": 0,
|
||||
"_enableOutline": true,
|
||||
"_outlineColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 0,
|
||||
"g": 0,
|
||||
"b": 0,
|
||||
"a": 255
|
||||
},
|
||||
"_outlineWidth": 2,
|
||||
"_enableShadow": false,
|
||||
"_shadowColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 0,
|
||||
"g": 0,
|
||||
"b": 0,
|
||||
"a": 255
|
||||
},
|
||||
"_shadowOffset": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 2,
|
||||
"y": 2
|
||||
},
|
||||
"_shadowBlur": 2,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "f59zx54hJB37o3wtSqIGBV"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Widget",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 130
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 136
|
||||
},
|
||||
"_alignFlags": 8,
|
||||
"_target": null,
|
||||
"_left": -26.875,
|
||||
"_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": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "bff7l/qFpNO5oNUSmuFSLr"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "dde8Se2FBP6YgwyTh2rZbf",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 129
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 139
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 49.31,
|
||||
"height": 50
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "a7muNmCwZAKpIRc8MvTGGv"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Label",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 129
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 141
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 78,
|
||||
"g": 187,
|
||||
"b": 248,
|
||||
"a": 255
|
||||
},
|
||||
"_string": "50",
|
||||
"_horizontalAlign": 1,
|
||||
"_verticalAlign": 1,
|
||||
"_actualFontSize": 50,
|
||||
"_fontSize": 50,
|
||||
"_fontFamily": "Arial",
|
||||
"_lineHeight": 50,
|
||||
"_overflow": 0,
|
||||
"_enableWrapText": true,
|
||||
"_font": {
|
||||
"__uuid__": "983a109b-a5e3-4ba7-84c5-1c53817ba177",
|
||||
"__expectedType__": "cc.BitmapFont"
|
||||
},
|
||||
"_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": 1,
|
||||
"_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": "2aXJDSKKZKIbjQcZu71V+X"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "38i7UtIApLjqUtKEKBvdcg",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 128
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 144
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 200,
|
||||
"height": 100
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "59w5YrumVHsLzq3Hx6nzWc"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "240I/BD+VEa7lFN2Uv61xY",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
@@ -3239,7 +3701,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 129
|
||||
"__id__": 147
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -3267,7 +3729,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 131
|
||||
"__id__": 149
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
@@ -3285,7 +3747,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 133
|
||||
"__id__": 151
|
||||
},
|
||||
"playOnLoad": true,
|
||||
"_clips": [
|
||||
|
||||
11
assets/script/ecs.md.meta
Normal file
11
assets/script/ecs.md.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"ver": "1.0.1",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "1f3ba9b7-02ad-406f-86b3-895009bcb3e7",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -63,5 +63,4 @@ export enum GameEvent {
|
||||
GOLD_UPDATE = "GOLD_UPDATE",
|
||||
DIAMOND_UPDATE = "DIAMOND_UPDATE",
|
||||
MEAT_UPDATE = "MEAT_UPDATE",
|
||||
HeroSpeek = "HeroSpeek",
|
||||
}
|
||||
@@ -89,6 +89,8 @@ export enum FightSet {
|
||||
ATK_ADD_COUNT=4,//伙伴攻击力增加
|
||||
ATK_ADD_GLOD=1,//金币增加
|
||||
CRIT_DAMAGE=50,//暴击伤害
|
||||
DEF_C=100,//物理防御常数C
|
||||
MDEF_C=100,//魔法防御常数C
|
||||
DOUBLE_ATK_RATE=100,//额外攻击默认概率
|
||||
GREEN_GOLD=1,//绿色金币
|
||||
BLUE_GOLD=2,//蓝色金币
|
||||
@@ -144,4 +146,5 @@ export const TooltipTypes = {
|
||||
lvup:6,
|
||||
apup:7,
|
||||
hpup:8,
|
||||
addmp:9,
|
||||
}
|
||||
|
||||
@@ -12,23 +12,12 @@ export enum BType {
|
||||
}
|
||||
|
||||
export enum NeAttrs {
|
||||
IN_FROST = 0,
|
||||
IN_STUN = 1,
|
||||
IN_BURN = 2,
|
||||
IN_POISON = 3,
|
||||
}
|
||||
export const getNeAttrs = () => {
|
||||
let reAttrs = {};
|
||||
Object.keys(NeAttrs).forEach(key => {
|
||||
if (!isNaN(Number(key))) {
|
||||
reAttrs[Number(key)] = {
|
||||
value: 0,
|
||||
time: 0,
|
||||
};
|
||||
}
|
||||
});
|
||||
return reAttrs;
|
||||
IN_FROST = 0, // 冰冻状态
|
||||
IN_STUN = 1, // 眩晕状态
|
||||
IN_BURN = 2, // 灼烧状态
|
||||
IN_POISON = 3, // 中毒状态
|
||||
}
|
||||
|
||||
// ========== 属性枚举 ==========
|
||||
/**
|
||||
* 英雄属性枚举
|
||||
@@ -43,8 +32,6 @@ export enum Attrs {
|
||||
HP_REGEN = 3, // 生命回复
|
||||
MP_REGEN = 4, // 魔法回复
|
||||
HEAL_EFFECT = 5, // 治疗效果
|
||||
POW_MAX = 6, // 最大怒气值
|
||||
POW_REGEN = 7, // 怒气值回复
|
||||
|
||||
// ========== 攻击属性 (10-19) ==========
|
||||
AP = 10, // 攻击力
|
||||
@@ -61,11 +48,10 @@ export enum Attrs {
|
||||
MDEF = 21, // 魔法防御
|
||||
DODGE = 22, // 闪避率
|
||||
BLOCK = 23, // 格挡率
|
||||
DAMAGE_REDUCTION = 24, // 伤害减免
|
||||
DMG_RED = 24, // 伤害减免
|
||||
THORNS = 25, // 反伤
|
||||
CRITICAL_RESIST = 26, // 暴击抗性
|
||||
CON_RES = 27, // 控制抗性
|
||||
MAGIC_RES = 28, // 魔法抗性
|
||||
|
||||
// ========== 暴击与命中属性 (30-39) ==========
|
||||
CRITICAL = 30, // 暴击率
|
||||
@@ -76,9 +62,13 @@ export enum Attrs {
|
||||
ICE_RES = 40, // 冰冻抗性
|
||||
FIRE_RES = 41, // 火焰抗性
|
||||
WIND_RES = 42, // 自然抗性
|
||||
ICE_POWER = 43, // 冰冻伤害加成
|
||||
FIRE_POWER = 44, // 火焰伤害加成
|
||||
WIND_POWER = 45, // 自然伤害加成
|
||||
PHYS_RES = 43, // 物理抗性
|
||||
MAGIC_RES = 44, // 魔法抗性
|
||||
ICE_POWER = 45, // 冰冻伤害加成
|
||||
FIRE_POWER = 46, // 火焰伤害加成
|
||||
WIND_POWER = 47, // 自然伤害加成
|
||||
PHYS_POWER = 48, // 物理伤害加成
|
||||
MAGIC_POWER= 49,
|
||||
|
||||
|
||||
// ========== 特殊效果属性 (50-59) ==========
|
||||
@@ -112,11 +102,9 @@ export enum Attrs {
|
||||
BURN = 75, // 易伤效果
|
||||
WFUNY = 77, // 风怒
|
||||
|
||||
// ========== 生存与恢复相关 (80-89) ==========
|
||||
|
||||
// ========== 负面状态相关 (90-99) ==========
|
||||
|
||||
// ========== 基础属性(影响其他属性)(100-104) ==========
|
||||
// ========== 负面状态相关 (80-89) ==========
|
||||
DMG_INVUL = 80, //易伤
|
||||
// ========== 基础属性(影响其他属性) (90-99)==========
|
||||
STRENGTH = 90, // 力量(影响物理相关)
|
||||
INTELLIGENCE = 91, // 智力(影响魔法相关)
|
||||
AGILITY = 92, // 敏捷(影响速度和闪避)
|
||||
@@ -140,6 +128,18 @@ export const getAttrs = () => {
|
||||
return reAttrs;
|
||||
}
|
||||
|
||||
export const getNeAttrs = () => {
|
||||
let reAttrs = {};
|
||||
Object.keys(NeAttrs).forEach(key => {
|
||||
if (!isNaN(Number(key))) {
|
||||
reAttrs[Number(key)] = {
|
||||
value: 0,
|
||||
time: 0,
|
||||
};
|
||||
}
|
||||
});
|
||||
return reAttrs;
|
||||
}
|
||||
/**
|
||||
* 属性类型配置表
|
||||
* 用于区分每个属性是数值型还是百分比型
|
||||
@@ -154,8 +154,6 @@ export const AttrsType: Record<Attrs, BType> = {
|
||||
[Attrs.SHIELD_MAX]: BType.VALUE, // 最大护盾值 - 数值型
|
||||
[Attrs.HP_REGEN]: BType.VALUE, // 生命回复 - 数值型
|
||||
[Attrs.MP_REGEN]: BType.VALUE, // 魔法回复 - 数值型
|
||||
[Attrs.POW_MAX]: BType.VALUE, // 最大怒气值 - 数值型
|
||||
[Attrs.POW_REGEN]: BType.VALUE, // 怒气值回复 - 数值型
|
||||
[Attrs.HEAL_EFFECT]: BType.RATIO, // 治疗效果 - 百分比型
|
||||
|
||||
// ========== 攻击属性(数值型) ==========
|
||||
@@ -173,7 +171,7 @@ export const AttrsType: Record<Attrs, BType> = {
|
||||
[Attrs.MDEF]: BType.VALUE, // 魔法防御 - 数值型
|
||||
[Attrs.DODGE]: BType.RATIO, // 闪避率 - 百分比型
|
||||
[Attrs.BLOCK]: BType.RATIO, // 格挡率 - 百分比型
|
||||
[Attrs.DAMAGE_REDUCTION]: BType.RATIO, // 伤害减免 - 百分比型
|
||||
[Attrs.DMG_RED]: BType.RATIO, // 伤害减免 - 百分比型
|
||||
[Attrs.THORNS]: BType.RATIO, // 反伤 - 百分比型
|
||||
|
||||
// ========== 暴击与命中属性(百分比型) ==========
|
||||
@@ -182,15 +180,19 @@ export const AttrsType: Record<Attrs, BType> = {
|
||||
[Attrs.HIT]: BType.RATIO, // 命中率 - 百分比型
|
||||
[Attrs.CRITICAL_RESIST]: BType.RATIO, // 暴击抗性 - 百分比型
|
||||
[Attrs.CON_RES]: BType.RATIO, // 控制抗性 - 百分比型
|
||||
[Attrs.MAGIC_RES]: BType.RATIO, // 魔法抗性 - 百分比型
|
||||
|
||||
|
||||
// ========== 元素属性(百分比型) ==========
|
||||
[Attrs.ICE_RES]: BType.RATIO, // 冰冻抗性 - 百分比型
|
||||
[Attrs.FIRE_RES]: BType.RATIO, // 火焰抗性 - 百分比型
|
||||
[Attrs.WIND_RES]: BType.RATIO, // 风抗性 - 百分比型
|
||||
[Attrs.PHYS_RES]: BType.RATIO, // 物理抗性 - 百分比型
|
||||
[Attrs.MAGIC_RES]:BType.RATIO,
|
||||
[Attrs.ICE_POWER]: BType.RATIO, // 冰冻伤害加成 - 百分比型
|
||||
[Attrs.FIRE_POWER]: BType.RATIO, // 火焰伤害加成 - 百分比型
|
||||
[Attrs.WIND_POWER]: BType.RATIO, // 风伤害加成 - 百分比型
|
||||
[Attrs.PHYS_POWER]: BType.RATIO, // 物理伤害加成 - 百分比型
|
||||
[Attrs.MAGIC_POWER]: BType.RATIO, // 物理伤害加成 - 百分比型
|
||||
|
||||
// ========== 特殊效果属性(百分比型) ==========
|
||||
[Attrs.LIFESTEAL]: BType.RATIO, // 吸血比率 - 百分比型
|
||||
@@ -223,9 +225,9 @@ export const AttrsType: Record<Attrs, BType> = {
|
||||
[Attrs.BURN]: BType.RATIO, // 易伤效果 - 百分比型
|
||||
[Attrs.WFUNY]: BType.RATIO, // 未知特殊属性 - 百分比型
|
||||
|
||||
// ========== 生存与恢复相关(混合类型) ==========
|
||||
|
||||
// ========== 负面状态相关(混合类型) ==========
|
||||
[Attrs.DMG_INVUL]: BType.RATIO, //易伤
|
||||
|
||||
// ========== 基础属性(数值型) ==========
|
||||
[Attrs.STRENGTH]: BType.VALUE, // 力量 - 数值型
|
||||
|
||||
@@ -81,7 +81,6 @@ export enum EType {
|
||||
//debuff类型
|
||||
|
||||
|
||||
|
||||
/*
|
||||
=== 技能配置系统使用说明 ===
|
||||
|
||||
@@ -115,7 +114,9 @@ export enum EType {
|
||||
*/
|
||||
export enum DType {
|
||||
ATK= 0, // 物理
|
||||
MAGE=1, // 魔法
|
||||
ICE=1, // 冰元素
|
||||
FIRE=2, // 火元素
|
||||
WIND=3, // 风元素
|
||||
}
|
||||
export const HeroSkillList = [6001,6001,6001,6001,6001,6001]
|
||||
|
||||
@@ -152,26 +153,30 @@ interface IEndAnm {
|
||||
// 技能配置接口 - 按照6001格式排列
|
||||
export interface SkillConfig {
|
||||
uuid:number,name:string,sp_name:string,icon:string,TGroup:TGroup,SType:SType,act:string,DTType:DTType,DType:DType,
|
||||
ap:number,cd:number,t_num:number,hit_num:number,hit:number,hitcd:number,speed:number,cost:number,with:number,dis:Number,ready:number,EAnm:number,DAnm:number,RType:RType,EType:EType,
|
||||
ap:number,map:number,cd:number,t_num:number,hit_num:number,hit:number,hitcd:number,speed:number,cost:number,with:number,dis:Number,ready:number,EAnm:number,DAnm:number,RType:RType,EType:EType,
|
||||
buffs:BuffConf[],neAttrs:NeAttrsConf[],info:string,hero?:number ,
|
||||
}
|
||||
|
||||
export const SkillSet: Record<number, SkillConfig> = {
|
||||
5000:{uuid:5000,name:"反伤",sp_name:"thorns",icon:"3036",TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,DType:DType.ATK,
|
||||
ap:0,map:0,cd:0,t_num:1,hit_num:1,hit:1,hitcd:0.2,speed:720,cost:0,with:0,dis:80,ready:0,EAnm:0,DAnm:9001,RType:RType.fixed,EType:EType.animationEnd,
|
||||
buffs:[],neAttrs:[],info:"反伤",
|
||||
},
|
||||
// ========== 基础攻击 ========== 6001-6099
|
||||
6001: {
|
||||
uuid:6001,name:"挥击",sp_name:"atk_s1",icon:"3036",TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,DType:DType.ATK,
|
||||
ap:100,cd:1,t_num:1,hit_num:1,hit:1,hitcd:0.2,speed:720,cost:0,with:0,dis:80,ready:0,EAnm:0,DAnm:9001,RType:RType.fixed,EType:EType.animationEnd,
|
||||
ap:100,map:0,cd:1,t_num:1,hit_num:1,hit:1,hitcd:0.2,speed:720,cost:0,with:0,dis:80,ready:0,EAnm:0,DAnm:9001,RType:RType.fixed,EType:EType.animationEnd,
|
||||
buffs:[],neAttrs:[],info:"向最前方敌人扔出石斧,造成100%攻击的伤害",
|
||||
},
|
||||
6002: {
|
||||
uuid:6002,name:"挥砍",sp_name:"atk_s4",icon:"3036",TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,DType:DType.ATK,
|
||||
ap:100,cd:1,t_num:1,hit_num:1,hit:1,hitcd:0.2,speed:720,cost:0,with:0,dis:80,ready:0,EAnm:0,DAnm:9001,RType:RType.fixed,EType:EType.animationEnd,
|
||||
ap:100,map:0,cd:1,t_num:1,hit_num:1,hit:1,hitcd:0.2,speed:720,cost:0,with:0,dis:80,ready:0,EAnm:0,DAnm:9001,RType:RType.fixed,EType:EType.animationEnd,
|
||||
buffs:[],neAttrs:[],info:"向最前方敌人扔出石斧,造成100%攻击的伤害",
|
||||
},
|
||||
6005: {
|
||||
uuid:6005,name:"水球",sp_name:"m_water_ball_1",icon:"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:0,with:90,dis:360,ready:8001,EAnm:0,DAnm:9001,RType:RType.linear,EType:EType.collision,
|
||||
buffs:[],neAttrs:[],info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧",
|
||||
uuid:6005,name:"水球",sp_name:"m_water_ball_1",icon:"3039",TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,DType:DType.ICE,
|
||||
ap:0,map:100,cd:5,t_num:1,hit_num:1,hit:2,hitcd:0.3,speed:720,cost:0,with:90,dis:360,ready:8001,EAnm:0,DAnm:9001,RType:RType.linear,EType:EType.collision,
|
||||
buffs:[],neAttrs:[],info:"召唤水球攻击前方敌人,造成100%魔法攻击的伤害",
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
@@ -9,28 +9,34 @@ export enum TriType {
|
||||
ATK = 2, //普通攻击触发
|
||||
DMG = 3, // 受伤触发
|
||||
SKILL = 4, // 技能触发
|
||||
HPL = 5, // 失去生命值触发
|
||||
HPA = 6, // 获得生命值触发
|
||||
INIT = 7, // 初始触发,如:多1个技能
|
||||
DEAD = 8 // 基于死亡触发
|
||||
MAX = 5, // 必杀触发
|
||||
HPL = 6, // 失去生命值触发
|
||||
HPA = 7, // 获得生命值触发
|
||||
INIT = 8, // 初始触发,如:多1个技能
|
||||
DEAD = 9, // 基于死亡触发
|
||||
}
|
||||
|
||||
|
||||
|
||||
export enum TalEffet {
|
||||
DMG=1, // 伤害
|
||||
HP=2, // 回血 百分比
|
||||
MP=3, //回蓝 百分比
|
||||
BUFF = 4, // 暴击率,闪避率等,可叠加的触发后清零
|
||||
STATS=5, // 状态
|
||||
WFUNY=6, // 风怒
|
||||
SPLASH=7, // 溅射
|
||||
D_SKILL=8, //两次技能
|
||||
SHIELD=9, // 护盾
|
||||
LDMG=10, // 减伤
|
||||
C_ATK=11, // 普工必爆
|
||||
C_SKILL=12, // 一般技能必暴
|
||||
C_MSKILL=13, // 必杀技能必暴
|
||||
ATK_DMG=1, // 伤害 次数+伤害加成,如额外5次 伤害+20%
|
||||
SKILL_DMG=2, // 技能伤害 次数+伤害加成,如额外5次 伤害+20%
|
||||
DMG_RED=10, // 减伤 次数+减伤加成,如额外5次 伤害-20%
|
||||
THORNS=14, //反伤 百分比 次数+反伤加成,如额外5次 反伤-20%
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
HP=3, // 回血 百分比 直接触发,回血20%
|
||||
MP=4, //回蓝 百分比 直接触发,回蓝20%
|
||||
SHIELD=9, // 护盾 直接触发,获得20%的生命值护盾
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
BUFF = 5, // 数值叠加 触发后清零: 暴击率,闪避率等,触发后效果取消
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
STATS=6, // 状态 待定
|
||||
|
||||
WFUNY=7, // 风怒 次数 叠加 ,如额外5次 风怒
|
||||
D_SKILL=8, //两次技能 次数 叠加,如额外5次 两次技能
|
||||
C_MSKILL=11, // 必杀技能必暴 次数 叠加 ,如额外5次 必杀技能必暴
|
||||
C_ATK=12, // 普工必爆 次数 叠加 ,如额外5次 普工必爆
|
||||
C_SKILL=13, // 一般技能必暴 次数 叠加 ,如额外5次 一般技能必暴
|
||||
}
|
||||
|
||||
export enum TalTarget {
|
||||
@@ -46,7 +52,7 @@ export enum TalAttrs {
|
||||
SILENCE_CHANCE=Attrs.SILENCE_CHANCE, // 沉默概率
|
||||
CRITICAL=Attrs.CRITICAL, // 暴击率
|
||||
AP=Attrs.AP, // 攻击力
|
||||
MP=Attrs.MAP, // 魔法
|
||||
MP=Attrs.MAP, // 魔法攻击力
|
||||
}
|
||||
/**
|
||||
* 天赋配置接口
|
||||
@@ -87,8 +93,7 @@ export const talConf: Record<number, ItalConf> = {
|
||||
/*** 普通攻击触发 ***/
|
||||
7001:{uuid:7001,name:"风怒",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.WFUNY,vType:BType.RATIO, value:50,attrs:TalAttrs.NON,
|
||||
desc:"普通攻击3次后, 立即给与目标150%伤害的额外打击"},
|
||||
7002:{uuid:7002,name:"溅射",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.SPLASH,vType:BType.RATIO, value:50,attrs:TalAttrs.NON,
|
||||
desc:"普通攻击3次后, 会对目标100码内的敌人造成30%伤害"},
|
||||
|
||||
7003:{uuid:7003,name:"回血",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.HP,vType:BType.RATIO, value:1,attrs:TalAttrs.NON,
|
||||
desc:"普通攻击3次后, 会回复10%的生命值"},
|
||||
7004:{uuid:7004,name:"回蓝",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.MP,vType:BType.RATIO, value:1,attrs:TalAttrs.NON,
|
||||
@@ -107,11 +112,11 @@ export const talConf: Record<number, ItalConf> = {
|
||||
desc:"普通攻击10次后, 下次一般技能额外释放1次,伤害100%"},
|
||||
|
||||
/*** 受伤触发 ***/
|
||||
7101:{uuid:7101,name:"反击",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.DMG,vType:BType.RATIO, value:50,attrs:TalAttrs.NON,
|
||||
7101:{uuid:7101,name:"反击",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.ATK_DMG,vType:BType.RATIO, value:50,attrs:TalAttrs.NON,
|
||||
desc:"被攻击3次后, 给于目标50%的伤害"},
|
||||
7102:{uuid:7102,name:"护盾",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.SHIELD,vType:BType.RATIO, value:20,attrs:TalAttrs.NON,
|
||||
desc:"被攻击3次后, 获得20%的生命值护盾"},
|
||||
7103:{uuid:7103,name:"减伤",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.LDMG,vType:BType.RATIO, value:50,attrs:TalAttrs.NON,
|
||||
7103:{uuid:7103,name:"减伤",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.DMG_RED,vType:BType.RATIO, value:50,attrs:TalAttrs.NON,
|
||||
desc:"被攻击3次后, 下1次伤害减50%"},
|
||||
|
||||
|
||||
|
||||
@@ -21,6 +21,9 @@ export interface DamageEvent {
|
||||
|
||||
/** 伤害事件ID(用于去重和调试) */
|
||||
eventId: string;
|
||||
|
||||
ext_dmg:number //额外伤害
|
||||
dmg_ratio:number//伤害比例
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -55,7 +58,7 @@ export class DamageQueueComp extends ecs.Comp {
|
||||
/**
|
||||
* 添加伤害事件到队列
|
||||
*/
|
||||
addDamageEvent(attrs: any, caster: HeroViewComp, s_uuid: number): void {
|
||||
addDamageEvent(attrs: any, caster: HeroViewComp, s_uuid: number,ext_dmg:number=0,dmg_ratio:number=1): void {
|
||||
const timestamp = Date.now();
|
||||
const eventId = `${caster.ent.eid}_${s_uuid}_${timestamp}_${Math.random()}`;
|
||||
|
||||
@@ -64,7 +67,9 @@ export class DamageQueueComp extends ecs.Comp {
|
||||
caster: caster,
|
||||
s_uuid: s_uuid,
|
||||
timestamp: timestamp,
|
||||
eventId: eventId
|
||||
eventId: eventId,
|
||||
ext_dmg:ext_dmg,
|
||||
dmg_ratio:dmg_ratio,
|
||||
};
|
||||
|
||||
this.damageEvents.push(damageEvent);
|
||||
@@ -155,7 +160,7 @@ export class DamageQueueHelper {
|
||||
* 为实体添加伤害事件
|
||||
* 如果实体没有伤害队列组件,会自动创建
|
||||
*/
|
||||
static addDamageToEntity(entity: ecs.Entity, attrs: any, caster: HeroViewComp, s_uuid: number): void {
|
||||
static addDamageToEntity(entity: ecs.Entity, attrs: any, caster: HeroViewComp, s_uuid: number,ext_dmg:number=0,dmg_ratio:number=1): void {
|
||||
let damageQueue = entity.get(DamageQueueComp);
|
||||
|
||||
// 如果实体没有伤害队列组件,创建一个
|
||||
@@ -164,7 +169,7 @@ export class DamageQueueHelper {
|
||||
}
|
||||
|
||||
// 添加伤害事件到队列
|
||||
damageQueue.addDamageEvent(attrs, caster, s_uuid);
|
||||
damageQueue.addDamageEvent(attrs, caster, s_uuid,ext_dmg,dmg_ratio);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,20 +2,37 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ec
|
||||
import { FacSet } from "../common/config/GameSet";
|
||||
import { Attrs } from "../common/config/HeroAttrs";
|
||||
import { FightSet } from "../common/config/GameSet";
|
||||
import { SkillSet } from "../common/config/SkillSet";
|
||||
import { SkillSet, DType } from "../common/config/SkillSet";
|
||||
import { HeroAttrsComp } from "./HeroAttrsComp";
|
||||
import { HeroViewComp } from "./HeroViewComp";
|
||||
import { DamageQueueComp, DamageEvent, DamageQueueHelper } from "./DamageQueueComp";
|
||||
import { DamageQueueComp, DamageEvent } from "./DamageQueueComp";
|
||||
import { smc } from "../common/SingletonModuleComp";
|
||||
|
||||
|
||||
/** 最终伤害数据接口 */
|
||||
/** 最终伤害数据接口
|
||||
* 用于封装一次攻击计算的所有结果数据
|
||||
* @property damage - 最终造成的伤害值(已考虑所有加成和减免)
|
||||
* @property isCrit - 是否为暴击攻击
|
||||
* @property isDodge - 是否被闪避(闪避时damage为0)
|
||||
*/
|
||||
interface FinalData {
|
||||
damage: number;
|
||||
isCrit: boolean;
|
||||
isDodge: boolean;
|
||||
}
|
||||
/** 业务层业务逻辑处理对象 伤害处理系统 */
|
||||
/**
|
||||
* 英雄攻击系统 - 伤害处理核心系统
|
||||
*
|
||||
* 职责:
|
||||
* 1. 处理所有伤害事件的计算和分发
|
||||
* 2. 管理伤害队列的处理流程
|
||||
* 3. 协调视图层的表现更新
|
||||
*
|
||||
* 重要概念:
|
||||
* - damageEvent.Attrs: 施法者属性快照(创建技能时保存)
|
||||
* - TAttrsComp: 被攻击者实时属性
|
||||
* - 属性来源规范:攻击判定用施法者,防御判定用被攻击者
|
||||
*/
|
||||
@ecs.register('HeroAtkSystem')
|
||||
export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate {
|
||||
|
||||
@@ -34,10 +51,10 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd
|
||||
*/
|
||||
update(e: ecs.Entity): void {
|
||||
if(!smc.mission.play || smc.mission.pause) return;
|
||||
const model = e.get(HeroAttrsComp);
|
||||
const TAttrsComp = e.get(HeroAttrsComp);
|
||||
const damageQueue = e.get(DamageQueueComp);
|
||||
|
||||
if (!model || !damageQueue || damageQueue.isEmpty()) return;
|
||||
if (!TAttrsComp || !damageQueue || damageQueue.isEmpty()) return;
|
||||
|
||||
// 标记正在处理
|
||||
damageQueue.isProcessing = true;
|
||||
@@ -49,20 +66,13 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd
|
||||
if (!damageEvent) break;
|
||||
|
||||
// 处理单个伤害事件
|
||||
const FDData = this.doAttack(e, damageEvent);
|
||||
this.doAttack(e, damageEvent);
|
||||
processedCount++;
|
||||
damageQueue.processedCount++;
|
||||
|
||||
if (this.debugMode) {
|
||||
const casterName = damageEvent.caster?.ent?.get(HeroAttrsComp)?.hero_name || "未知";
|
||||
const casterUuid = damageEvent.caster?.ent?.get(HeroAttrsComp)?.hero_uuid || 0;
|
||||
console.log(`[HeroAtkSystem] 英雄${model.hero_name} (uuid: ${model.hero_uuid}) 受到 ${casterName}(uuid: ${casterUuid})的 伤害 ${FDData.damage},${FDData.isCrit?"暴击":"普通"}攻击,技能ID ${damageEvent.s_uuid}`);
|
||||
}
|
||||
|
||||
// 如果目标已死亡,停止处理后续伤害
|
||||
if (model.is_dead) {
|
||||
if (TAttrsComp.is_dead) {
|
||||
if (this.debugMode) {
|
||||
console.log(`[HeroAtkSystem] ${model.hero_name} 已死亡,停止处理剩余伤害`);
|
||||
console.log(`[HeroAtkSystem] ${TAttrsComp.hero_name} 已死亡,停止处理剩余伤害`);
|
||||
}
|
||||
damageQueue.clear(); // 清空剩余伤害
|
||||
break;
|
||||
@@ -74,30 +84,50 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd
|
||||
e.remove(DamageQueueComp);
|
||||
|
||||
if (this.debugMode && processedCount > 0) {
|
||||
console.log(`[HeroAtkSystem] ${model.hero_name} 伤害队列处理完成,共处理 ${processedCount} 个伤害事件`);
|
||||
console.log(`[HeroAtkSystem] ${TAttrsComp.hero_name} 伤害队列处理完成,共处理 ${processedCount} 个伤害事件`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 执行攻击计算
|
||||
* @param target 目标实体
|
||||
* @param damageEvent 伤害事件数据
|
||||
* @returns 最终伤害数据
|
||||
* 执行攻击计算 - 核心伤害计算逻辑
|
||||
*
|
||||
* 属性使用规范(重要!):
|
||||
*
|
||||
* ✅ 正确使用施法者属性(damageEvent.Attrs - 快照):
|
||||
* - CRITICAL: 暴击率判定
|
||||
* - CRITICAL_DMG: 暴击伤害加成
|
||||
* - BACK_CHANCE: 击退概率
|
||||
* - HIT: 命中率(用于闪避计算)
|
||||
* - AP/MAP: 攻击力(基础伤害计算)
|
||||
*
|
||||
* ✅ 正确使用被攻击者属性(TAttrsComp - 实时):
|
||||
* - DODGE: 闪避率(用于闪避计算)
|
||||
* - SHIELD_MAX: 护盾最大值(护盾吸收)
|
||||
* - hp: 当前生命值(伤害应用)
|
||||
* - 各种抗性属性(预留扩展)
|
||||
*
|
||||
* ❌ 错误使用案例(已修复):
|
||||
* - 不要混用施法者和被攻击者的属性进行同一计算
|
||||
* - 暴击伤害应该基于施法者的暴击伤害属性
|
||||
*
|
||||
* @param target 目标实体(被攻击者)
|
||||
* @param damageEvent 伤害事件数据(包含施法者信息和属性快照)
|
||||
* @returns 最终伤害数据(包含伤害值、暴击标记、闪避标记)
|
||||
*/
|
||||
private doAttack(target: ecs.Entity, damageEvent: DamageEvent): FinalData {
|
||||
const targetAttrs = target.get(HeroAttrsComp);
|
||||
const TAttrsComp = target.get(HeroAttrsComp);
|
||||
const targetView = target.get(HeroViewComp);
|
||||
let reDate:FinalData={
|
||||
damage:0,
|
||||
isCrit:false,
|
||||
isDodge:false,
|
||||
}
|
||||
if (!targetAttrs || targetAttrs.is_dead) return reDate;
|
||||
if (!TAttrsComp || TAttrsComp.is_dead) return reDate;
|
||||
|
||||
const caster = damageEvent.caster;
|
||||
const attackerModel = caster?.ent?.get(HeroAttrsComp);
|
||||
const CAttrsComp = caster?.ent?.get(HeroAttrsComp);
|
||||
|
||||
// 获取技能配置
|
||||
const skillConf = SkillSet[damageEvent.s_uuid];
|
||||
@@ -107,32 +137,50 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd
|
||||
this.onAttacked(target);
|
||||
|
||||
// 闪避判定
|
||||
const isDodge =this.checkChance(targetAttrs.Attrs[Attrs.DODGE] || 0);
|
||||
// 闪避成功概率 = 被攻击者闪避率 - 施法者命中率
|
||||
// TAttrsComp.Attrs[Attrs.DODGE]: 被攻击者的实时闪避属性
|
||||
// damageEvent.Attrs[Attrs.HIT]: 施法者在技能创建时的命中属性快照
|
||||
const isDodge =this.checkChance((TAttrsComp.Attrs[Attrs.DODGE]-damageEvent.Attrs[Attrs.HIT]) || 0);
|
||||
if (isDodge) {
|
||||
// TODO: 触发闪避视图表现
|
||||
reDate.isDodge=true;
|
||||
return reDate;
|
||||
}
|
||||
// 暴击判定
|
||||
const isCrit = this.checkChance(damageEvent.Attrs[Attrs.CRITICAL]);
|
||||
if (isCrit) attackerModel?.clearTalBuffByAttr(Attrs.CRITICAL);
|
||||
// 计算伤害
|
||||
let damage = this.dmgCount(damageEvent.Attrs,damageEvent.s_uuid);
|
||||
// 使用施法者的暴击率属性(damageEvent.Attrs 快照),- 被攻击者的暴击抗性属性TAttrsComp.Attrs[Attrs.CRITICAL_RESIST]
|
||||
const isCrit = this.checkChance(damageEvent.Attrs[Attrs.CRITICAL]-TAttrsComp.Attrs[Attrs.CRITICAL_RESIST]);
|
||||
// 计算基础伤害
|
||||
let damage = this.dmgCount(damageEvent,TAttrsComp);
|
||||
if (this.debugMode) console.log("[HeroAtkSystem] dmgCount",damage)
|
||||
if (isCrit) {
|
||||
damage = Math.floor(damage * (1 + (FightSet.CRIT_DAMAGE + targetAttrs.Attrs[Attrs.CRITICAL_DMG]) / 100));
|
||||
// 暴击伤害计算
|
||||
// 使用施法者的暴击伤害加成属性(damageEvent.Attrs 快照)
|
||||
// 公式:最终伤害 = 基础伤害 * (1 + 系统暴击倍率 + 施法者暴击伤害加成)
|
||||
const casterCritDmg = damageEvent.Attrs[Attrs.CRITICAL_DMG] || 0;
|
||||
damage = Math.floor(damage * (1 + (FightSet.CRIT_DAMAGE + casterCritDmg) / 100));
|
||||
reDate.isCrit=true;
|
||||
CAttrsComp?.useValueTalByAttr(Attrs.CRITICAL); // 清除施法者的暴击buff
|
||||
|
||||
}
|
||||
// 伤害计算(考虑易伤等debuff)
|
||||
damage = this.calculateDamage(targetAttrs, damage);
|
||||
if (this.debugMode) console.log("[HeroAtkSystem] after crit",damage)
|
||||
// 护盾吸收
|
||||
damage =Math.floor(this.absorbShield(targetAttrs, damage))
|
||||
damage =Math.floor(this.absorbShield(TAttrsComp, damage))
|
||||
if (this.debugMode) console.log("[HeroAtkSystem] after shield",damage)
|
||||
if (damage <= 0) return reDate;
|
||||
// 应用伤害到数据层
|
||||
targetAttrs.hp -= damage;
|
||||
targetAttrs.atked_count++;
|
||||
//击退判定
|
||||
TAttrsComp.hp -= damage;
|
||||
if (this.debugMode) {
|
||||
const casterName = damageEvent.caster?.ent?.get(HeroAttrsComp)?.hero_name || "未知";
|
||||
const casterUuid = damageEvent.caster?.ent?.get(HeroAttrsComp)?.hero_uuid || 0;
|
||||
console.log(`[HeroAtkSystem] 英雄${TAttrsComp.hero_name} (uuid: ${TAttrsComp.hero_uuid}) 受到 ${casterName}(uuid: ${casterUuid})的 伤害 ${damage},${isCrit?"暴击":"普通"}攻击,技能ID ${damageEvent.s_uuid}`);
|
||||
}
|
||||
//反伤判定 并应用到施法者
|
||||
this.check_thorns(TAttrsComp, caster?.ent,damage);
|
||||
// 击退判定
|
||||
// 使用施法者的击退概率属性(damageEvent.Attrs 快照)
|
||||
// 击退成功后需要清理施法者的相关天赋buff
|
||||
const isBack = this.checkChance(damageEvent.Attrs[Attrs.BACK_CHANCE] || 0);
|
||||
if (isBack) attackerModel?.clearTalBuffByAttr(Attrs.BACK_CHANCE);
|
||||
if (isBack) CAttrsComp?.useValueTalByAttr(Attrs.BACK_CHANCE);
|
||||
|
||||
|
||||
// ✅ 触发视图层表现(伤害数字、受击动画、后退)
|
||||
@@ -140,7 +188,9 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd
|
||||
|
||||
|
||||
// 检查死亡
|
||||
if (targetAttrs.hp <= 0) {
|
||||
if (TAttrsComp.hp <= 0) {
|
||||
// 增加被击杀计数
|
||||
if (caster) CAttrsComp.Attrs.killed_count++;
|
||||
this.doDead(target);
|
||||
// ✅ 触发死亡视图表现
|
||||
if (targetView) {
|
||||
@@ -148,41 +198,219 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd
|
||||
}
|
||||
}
|
||||
|
||||
if (this.debugMode) {
|
||||
console.log(`[HeroAtkSystem] ${targetAttrs.hero_name} 受到 ${damage} 点伤害 (暴击: ${isCrit})`);
|
||||
}
|
||||
if (this.debugMode) console.log(`[HeroAtkSystem] ${TAttrsComp.hero_name} 受到 ${damage} 点伤害 (暴击: ${isCrit})`);
|
||||
|
||||
|
||||
reDate.damage=damage;
|
||||
return reDate;
|
||||
}
|
||||
//伤害计算,暂时简单计算
|
||||
private dmgCount(CAttrs:any,s_uuid:number){
|
||||
let sConf = SkillSet[s_uuid];
|
||||
check_thorns(TAttrsComp:HeroAttrsComp, caster: ecs.Entity, damage:number) {
|
||||
// 检查目标是否有反伤属性,这里受伤的时时施法者
|
||||
if (!caster||damage<=0) return;
|
||||
let thornsDamage=0;
|
||||
thornsDamage=TAttrsComp.Attrs[Attrs.THORNS]||0+TAttrsComp.useCountValTal(Attrs.THORNS);
|
||||
let CAttrs=caster.get(HeroAttrsComp);
|
||||
// 计算反伤伤害
|
||||
let thornsDmg=Math.floor(thornsDamage*damage/100);
|
||||
// 应用反伤伤害到数据层
|
||||
CAttrs.hp -= thornsDmg;
|
||||
CAttrs.atked_count++;
|
||||
let CView=caster.get(HeroViewComp);
|
||||
// ✅ 触发视图层表现(伤害数字、受击动画、后退)
|
||||
if (CView) CView.do_atked(thornsDmg, false, SkillSet[5000].uuid, false);
|
||||
// 检查死亡
|
||||
if (CAttrs.hp <= 0) {
|
||||
this.doDead(caster);
|
||||
// 增加击杀计数
|
||||
if (caster) TAttrsComp.Attrs.killed_count++;
|
||||
// ✅ 触发死亡视图表现
|
||||
if (CView) {
|
||||
CView.do_dead();
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 详细伤害计算核心方法
|
||||
*
|
||||
* 这是整个战斗系统中最核心的伤害计算方法,负责根据施法者属性、目标属性和技能配置
|
||||
* 计算最终的基础伤害值。该方法采用多阶段的伤害计算公式,综合考虑了物理和魔法伤害
|
||||
* 以及各种属性加成和抗性减免。
|
||||
*
|
||||
* 计算流程:
|
||||
* 1. 获取技能配置
|
||||
* 2. 计算原始物理伤害和魔法伤害
|
||||
* 3. 应用防御减免
|
||||
* 4. 应用物理/魔法攻击力和抗性修正
|
||||
* 5. 应用元素属性加成和抗性修正
|
||||
* 6. 应用最终伤害减免
|
||||
* 7. 确保伤害值非负
|
||||
*
|
||||
* @param CAttrs 施法者属性快照对象,包含所有攻击力、属性加成等战斗属性
|
||||
* @param TAttrs 目标属性对象,包含所有防御力、抗性等防御属性
|
||||
* @param s_uuid 技能ID,用于获取技能配置信息和伤害类型
|
||||
* @returns 经过完整计算后的最终伤害值(未考虑暴击)
|
||||
*
|
||||
* @important 注意事项:
|
||||
* - 此方法计算的是基础伤害,暴击计算在外部处理
|
||||
* - 所有除法和乘法计算后都进行取整操作,确保游戏中的伤害值为整数
|
||||
* - 元素伤害只应用于魔法伤害部分
|
||||
*/
|
||||
private dmgCount(damageEvent:DamageEvent,TAttrsComp:HeroAttrsComp){
|
||||
// 1. 获取技能配置 - 如果技能不存在,直接返回0伤害
|
||||
const CAttrs=damageEvent.Attrs;
|
||||
const TAttrs=TAttrsComp.Attrs;
|
||||
let sConf = SkillSet[damageEvent.s_uuid];
|
||||
if (!sConf) return 0;
|
||||
let AP = sConf.ap*CAttrs[Attrs.AP]/100;
|
||||
return AP;
|
||||
if (this.debugMode) console.log(`[HeroAtkSystem] 伤害处理对象`,CAttrs,TAttrs);
|
||||
// 2. 计算原始物理伤害和魔法伤害
|
||||
// 物理伤害基础值 = 技能物理倍率 * (施法者物理攻击力 + 额外伤害) / 100 * 额外伤害比例
|
||||
let apBase = (sConf.ap||0)*(CAttrs[Attrs.AP]+damageEvent.ext_dmg)/100*damageEvent.dmg_ratio;
|
||||
// 魔法伤害基础值 = 技能魔法倍率 * (施法者魔法攻击力 + 额外伤害) / 100 * 额外伤害比例
|
||||
let mapBase = (sConf.map||0)*(CAttrs[Attrs.MAP]+damageEvent.ext_dmg)/100*damageEvent.dmg_ratio;
|
||||
if (this.debugMode) console.log(`[HeroAtkSystem] 物理伤害基础值: ${apBase}, 技能ap=${sConf.ap},施法者物理攻击力: ${CAttrs[Attrs.AP]}, 魔法伤害基础值: ${mapBase}技能map=${sConf.map}
|
||||
额外伤害:${damageEvent.ext_dmg}, 额外伤害比例:${damageEvent.dmg_ratio}`);
|
||||
|
||||
// 3. 获取目标防御属性
|
||||
const def = (TAttrs[Attrs.DEF]||0); // 目标物理防御
|
||||
const mdef = (TAttrs[Attrs.MDEF]||0); // 目标魔法防御
|
||||
|
||||
// 4. 计算防御减免系数(采用公式:防御/(防御+常数),确保防御值不会导致伤害减到0)
|
||||
const apRed = def / (def + FightSet.DEF_C); // 物理防御减免系数
|
||||
const mapRed = mdef / (mdef + FightSet.MDEF_C); // 魔法防御减免系数
|
||||
|
||||
// 5. 应用防御减免到基础伤害,向下取整
|
||||
let apAfter = Math.floor(apBase * (1 - apRed)); // 物理伤害 - 防御减免
|
||||
let mapAfter = Math.floor(mapBase * (1 - mapRed)); // 魔法伤害 - 防御减免
|
||||
|
||||
if (this.debugMode) console.log(`[HeroAtkSystem] 物理伤害基础值: ${apBase}, 物理伤害 - 防御减免: ${apAfter} 魔法伤害基础值: ${mapBase}, 魔法伤害 - 防御减免: ${mapAfter}`);
|
||||
|
||||
// 6. 应用物理/魔法攻击力和抗性修正
|
||||
// 物理伤害修正:基础伤害 * (1 + 物理攻击力加成%) * (1 - 目标物理抗性%)
|
||||
apAfter = this.applyPR(apAfter, CAttrs[Attrs.PHYS_POWER]||0, TAttrs[Attrs.PHYS_RES]||0);
|
||||
// 魔法伤害修正:基础伤害 * (1 + 魔法攻击力加成%) * (1 - 目标魔法抗性%)
|
||||
mapAfter = this.applyPR(mapAfter, CAttrs[Attrs.MAGIC_POWER]||0, TAttrs[Attrs.MAGIC_RES]||0);
|
||||
if (this.debugMode) console.log(`[HeroAtkSystem] 物理伤害修正后: ${apAfter} 魔法伤害修正后: ${mapAfter} `);
|
||||
|
||||
// 7. 根据技能元素类型,应用元素属性加成和抗性修正
|
||||
switch (sConf.DType) {
|
||||
case DType.ICE:
|
||||
// 冰系伤害修正:魔法伤害 * (1 + 冰系攻击力加成%) * (1 - 目标冰系抗性%)
|
||||
mapAfter = this.applyPR(mapAfter, CAttrs[Attrs.ICE_POWER]||0, TAttrs[Attrs.ICE_RES]||0);
|
||||
break;
|
||||
case DType.FIRE:
|
||||
// 火系伤害修正:魔法伤害 * (1 + 火系攻击力加成%) * (1 - 目标火系抗性%)
|
||||
mapAfter = this.applyPR(mapAfter, CAttrs[Attrs.FIRE_POWER]||0, TAttrs[Attrs.FIRE_RES]||0);
|
||||
break;
|
||||
case DType.WIND:
|
||||
// 风系伤害修正:魔法伤害 * (1 + 风系攻击力加成%) * (1 - 目标风系抗性%)
|
||||
mapAfter = this.applyPR(mapAfter, CAttrs[Attrs.WIND_POWER]||0, TAttrs[Attrs.WIND_RES]||0);
|
||||
break;
|
||||
}
|
||||
if (this.debugMode) console.log(`[HeroAtkSystem] 物理伤害修正后: ${apAfter} 元素伤害修正后: ${mapAfter}`);
|
||||
|
||||
// 8. 计算最终总伤害(物理伤害 + 魔法伤害)
|
||||
let total = apAfter + mapAfter;
|
||||
//9.1 易伤
|
||||
let DMG_INVUL = TAttrs[Attrs.DMG_INVUL]||0
|
||||
//9.2 免伤 属性免伤+天赋免伤
|
||||
let DMG_RED =TAttrs[Attrs.DMG_RED]||0+TAttrsComp.useCountValTal(Attrs.DMG_RED);
|
||||
// 10. 确保伤害值非负,返回最终伤害
|
||||
total = Math.max(0,total);
|
||||
//11. 易伤减免 免伤属性免伤+天赋免伤
|
||||
total = Math.floor(total * (1 + ((DMG_INVUL-DMG_RED)/100)));
|
||||
if (this.debugMode) console.log(`[HeroAtkSystem] 易伤减免后: ${total}`);
|
||||
return Math.max(0,total);
|
||||
}
|
||||
|
||||
/**
|
||||
* 应用攻击力加成和抗性减免的通用计算方法
|
||||
*
|
||||
* 这是一个核心的伤害修正计算方法,用于处理各种类型的攻击力加成和抗性减免。
|
||||
* 该方法采用乘法叠加的方式,分别应用攻击者的加成属性和目标的抗性属性。
|
||||
*
|
||||
* 计算公式:
|
||||
* 最终值 = 基础值 × (1 + 攻击力加成% / 100) × (1 - 抗性% / 100)
|
||||
*
|
||||
* 适用场景:
|
||||
* - 物理攻击力加成和物理抗性减免
|
||||
* - 魔法攻击力加成和魔法抗性减免
|
||||
* - 元素攻击力加成和元素抗性减免
|
||||
* - 其他需要同时考虑加成和减免的属性修正
|
||||
*
|
||||
* 计算逻辑说明:
|
||||
* 1. 首先将百分比转换为小数形式(除以100)
|
||||
* 2. 应用攻击者的加成:基础值 × (1 + 加成系数)
|
||||
* 3. 应用目标的抗性:上一步结果 × (1 - 抗性系数)
|
||||
* 4. 向下取整,确保结果为整数
|
||||
*
|
||||
* @param base 基础值(通常是经过防御减免后的伤害值)
|
||||
* @param power 攻击者的攻击力加成值(百分比形式,如50表示50%)
|
||||
* @param res 目标的抗性值(百分比形式,如30表示30%)
|
||||
* @returns 经过攻击力加成和抗性减免后的最终值(向下取整)
|
||||
*
|
||||
* @important 注意事项:
|
||||
* - 当抗性值大于100时,可能导致最终值为负数或零
|
||||
* - 所有计算结果会向下取整,确保游戏中的数值为整数
|
||||
* - 此方法可以被多次调用,以叠加不同类型的加成和减免
|
||||
*/
|
||||
private applyPR(base: number, power: number, res: number): number {
|
||||
// 计算公式:基础值 × (1 + 攻击力加成%) × (1 - 抗性%)
|
||||
// 1. 将百分比转换为小数:power/100 和 res/100
|
||||
// 2. 应用攻击力加成:1 + (power/100)
|
||||
// 3. 应用抗性减免:1 - (res/100)
|
||||
// 4. 最终计算并向下取整
|
||||
return Math.floor(base * (1 + (power/100)) * (1 - (res/100)));
|
||||
}
|
||||
/**
|
||||
* 处理角色死亡
|
||||
*
|
||||
* 死亡处理流程:
|
||||
* 1. 标记死亡状态(is_dead = true)
|
||||
* 2. 触发死亡事件(onDeath)
|
||||
* 3. 记录调试信息(如启用调试模式)
|
||||
*
|
||||
* @param entity 死亡的实体
|
||||
*
|
||||
* @important 死亡状态一旦设置,该实体将不再处理新的伤害事件
|
||||
* 这确保了死亡逻辑的单一性和一致性
|
||||
*/
|
||||
private doDead(entity: ecs.Entity): void {
|
||||
const model = entity.get(HeroAttrsComp);
|
||||
if (!model || model.is_dead) return;
|
||||
const TAttrsComp = entity.get(HeroAttrsComp);
|
||||
if (!TAttrsComp || TAttrsComp.is_dead) return;
|
||||
|
||||
model.is_dead = true;
|
||||
TAttrsComp.is_dead = true;
|
||||
|
||||
// 触发死亡事件
|
||||
this.onDeath(entity);
|
||||
|
||||
if (this.debugMode) {
|
||||
console.log(`[HeroAtkSystem] ${model.hero_name} 死亡`);
|
||||
console.log(`[HeroAtkSystem] ${TAttrsComp.hero_name} 死亡`);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 暴击判定
|
||||
* 统一概率判定方法
|
||||
*
|
||||
* 用于所有概率相关的判定:
|
||||
* - 暴击率判定
|
||||
* - 闪避率判定
|
||||
* - 击退概率判定
|
||||
* - 其他特殊效果概率
|
||||
*
|
||||
* @param rate 概率值(0-100的百分比)
|
||||
* @returns true-判定成功,false-判定失败
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* // 10%概率触发
|
||||
* if (this.checkChance(10)) {
|
||||
* // 触发特殊效果
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* @important 概率为0或负数时直接返回false,避免不必要的随机数计算
|
||||
*/
|
||||
private checkChance(rate: number): boolean {
|
||||
if (rate <= 0) return false;
|
||||
@@ -190,60 +418,85 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd
|
||||
return r < rate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 伤害计算(考虑易伤等debuff)
|
||||
*/
|
||||
private calculateDamage(model: HeroAttrsComp, baseDamage: number): number {
|
||||
// 这里可以添加易伤等debuff的计算逻辑
|
||||
// 例如:如果目标有易伤buff,增加受到的伤害
|
||||
return baseDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 护盾吸收伤害
|
||||
*
|
||||
* 护盾吸收逻辑:
|
||||
* 1. 如果护盾值 >= 伤害值:完全吸收,剩余伤害为0
|
||||
* 2. 如果护盾值 < 伤害值:部分吸收,剩余伤害 = 原伤害 - 护盾值
|
||||
* 3. 护盾被击破时,重置护盾最大值属性
|
||||
*
|
||||
* @param TAttrsComp 被攻击者的属性组件(包含当前护盾值)
|
||||
* @param damage 原始伤害值
|
||||
* @returns 剩余伤害值(护盾吸收后的结果)
|
||||
*/
|
||||
private absorbShield(model: HeroAttrsComp, damage: number): number {
|
||||
if (model.shield <= 0) return damage;
|
||||
private absorbShield(TAttrsComp: HeroAttrsComp, damage: number): number {
|
||||
if (TAttrsComp.shield <= 0) return damage;
|
||||
|
||||
if (model.shield >= damage) {
|
||||
model.shield -= damage;
|
||||
if (model.shield <= 0) {
|
||||
model.shield = 0;
|
||||
model.Attrs[Attrs.SHIELD_MAX] = 0;
|
||||
if (TAttrsComp.shield >= damage) {
|
||||
TAttrsComp.shield -= damage;
|
||||
if (TAttrsComp.shield <= 0) {
|
||||
TAttrsComp.shield = 0;
|
||||
TAttrsComp.Attrs[Attrs.SHIELD_MAX] = 0;
|
||||
}
|
||||
return 0;
|
||||
} else {
|
||||
const remainingDamage = damage - model.shield;
|
||||
model.shield = 0;
|
||||
model.Attrs[Attrs.SHIELD_MAX] = 0;
|
||||
const remainingDamage = damage - TAttrsComp.shield;
|
||||
TAttrsComp.shield = 0;
|
||||
TAttrsComp.Attrs[Attrs.SHIELD_MAX] = 0;
|
||||
return remainingDamage;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 被攻击时触发的事件
|
||||
*
|
||||
* 预留的扩展点,用于处理被攻击时的特殊逻辑:
|
||||
* - 触发反伤效果(荆棘光环等)
|
||||
* - 触发被攻击天赋(如受击回血、受击反击等)
|
||||
* - 触发特殊状态(如受伤狂暴、受伤护盾等)
|
||||
*
|
||||
* @param entity 被攻击的实体
|
||||
*
|
||||
* @todo 当前对怪物实体直接返回,后续可以根据需求扩展怪物的被攻击逻辑
|
||||
*/
|
||||
private onAttacked(entity: ecs.Entity): void {
|
||||
const model = entity.get(HeroAttrsComp);
|
||||
if (!model || model.is_dead) return;
|
||||
|
||||
const TAttrsComp = entity.get(HeroAttrsComp);
|
||||
if (!TAttrsComp || TAttrsComp.is_dead) return;
|
||||
TAttrsComp.atked_count++;
|
||||
// 这里可以添加被攻击时的特殊处理逻辑
|
||||
if (model.fac === FacSet.MON) return;
|
||||
if (TAttrsComp.fac === FacSet.MON) return;
|
||||
|
||||
// 例如:触发某些天赋效果、反击逻辑等
|
||||
}
|
||||
|
||||
/**
|
||||
* 死亡时触发的事件
|
||||
*
|
||||
* 根据实体阵营类型处理不同的死亡逻辑:
|
||||
*
|
||||
* - FacSet.MON(怪物):触发掉落逻辑
|
||||
* - 延迟执行掉落,避免阻塞主逻辑
|
||||
* - 可以扩展:经验值计算、任务进度等
|
||||
*
|
||||
* - FacSet.HERO(英雄):触发英雄死亡特殊处理
|
||||
* - 游戏结束判定
|
||||
* - 复活机制检查
|
||||
* - 死亡惩罚/奖励
|
||||
*
|
||||
* @param entity 死亡的实体
|
||||
*
|
||||
* @important 死亡事件应该幂等,避免重复触发
|
||||
*/
|
||||
private onDeath(entity: ecs.Entity): void {
|
||||
const model = entity.get(HeroAttrsComp);
|
||||
if (!model) return;
|
||||
const TAttrsComp = entity.get(HeroAttrsComp);
|
||||
if (!TAttrsComp) return;
|
||||
|
||||
if (model.fac === FacSet.MON) {
|
||||
if (TAttrsComp.fac === FacSet.MON) {
|
||||
// 怪物死亡处理
|
||||
this.scheduleDrop(entity);
|
||||
} else if (model.fac === FacSet.HERO) {
|
||||
} else if (TAttrsComp.fac === FacSet.HERO) {
|
||||
// 英雄死亡处理
|
||||
this.scheduleHeroDeath(entity);
|
||||
}
|
||||
@@ -251,6 +504,19 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd
|
||||
|
||||
/**
|
||||
* 延迟执行掉落逻辑
|
||||
*
|
||||
* 采用延迟执行的原因:
|
||||
* 1. 避免在伤害计算过程中阻塞主线程
|
||||
* 2. 给死亡动画播放留出时间
|
||||
* 3. 可以批量处理多个掉落,优化性能
|
||||
*
|
||||
* @param entity 死亡的怪物实体
|
||||
*
|
||||
* @todo 具体实现可以包括:
|
||||
* - 根据怪物等级计算基础掉落
|
||||
* - 幸运值影响掉落品质
|
||||
* - 特殊事件(双倍掉落、稀有掉落等)
|
||||
* - 掉落物在场景中的生成位置计算
|
||||
*/
|
||||
private scheduleDrop(entity: ecs.Entity): void {
|
||||
// 这里可以添加掉落逻辑
|
||||
@@ -259,6 +525,19 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd
|
||||
|
||||
/**
|
||||
* 延迟执行英雄死亡逻辑
|
||||
*
|
||||
* 英雄死亡的特殊处理,比普通怪物复杂:
|
||||
*
|
||||
* 处理内容包括:
|
||||
* - 检查复活次数和复活条件
|
||||
* - 触发游戏结束界面(如适用)
|
||||
* - 记录死亡统计信息
|
||||
* - 处理死亡惩罚(经验损失、装备损坏等)
|
||||
*
|
||||
* @param entity 死亡的英雄实体
|
||||
*
|
||||
* @important 英雄死亡通常需要玩家交互,所以必须延迟处理
|
||||
* 给玩家足够的反馈时间和操作空间
|
||||
*/
|
||||
private scheduleHeroDeath(entity: ecs.Entity): void {
|
||||
// 这里可以添加英雄死亡的特殊处理
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "85d8a2e5-f2a1-49b0-9439-fe9e1e98b7d9",
|
||||
"uuid": "bffb52f1-1843-437d-82ef-88d2d7ee2ec5",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
@@ -3,6 +3,7 @@ import { Attrs, AttrsType, BType, NeAttrs } from "../common/config/HeroAttrs";
|
||||
import { BuffConf } from "../common/config/SkillSet";
|
||||
import { HeroInfo, AttrSet } from "../common/config/heroSet";
|
||||
import { HeroSkillsComp } from "./HeroSkills";
|
||||
import { HeroViewComp } from "./HeroViewComp";
|
||||
|
||||
|
||||
interface talTrigger{
|
||||
@@ -31,11 +32,12 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
// ==================== 动态属性值 ====================
|
||||
hp: number = 100; // 当前血量
|
||||
mp: number = 100; // 当前魔法值
|
||||
pow: number = 0; // 当前怒气值
|
||||
shield: number = 0; // 当前护盾
|
||||
Attrs: any = []; // 最终属性数组(经过Buff计算后)
|
||||
NeAttrs: any = []; // 负面状态数组
|
||||
//计数型天赋buff
|
||||
Talents: Record<number, talTrigger> = {};
|
||||
//数值型天赋buff
|
||||
BUFFS_TAL: Record<number, {count:number,BType:BType,attrIndex:number,value: number}> = {};
|
||||
|
||||
// ==================== 技能距离缓存 ====================
|
||||
@@ -63,7 +65,7 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
// ==================== 计数统计 ====================
|
||||
atk_count: number = 0; // 攻击次数
|
||||
atked_count: number = 0; // 被攻击次数
|
||||
|
||||
killed_count:number=0;
|
||||
// 注意:技能数据已迁移到 HeroSkillsComp,不再存储在这里
|
||||
|
||||
start(){
|
||||
@@ -116,7 +118,37 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
}
|
||||
}
|
||||
}
|
||||
/*******************基础属性管理********************/
|
||||
|
||||
add_hp(value:number,isValue:boolean){
|
||||
let addValue = value;
|
||||
if(!isValue){
|
||||
addValue = value * this.Attrs[Attrs.HP_MAX];
|
||||
}
|
||||
let heroView = this.ent.get(HeroViewComp);
|
||||
if(heroView){
|
||||
heroView.health(addValue);
|
||||
}
|
||||
this.hp += addValue;
|
||||
this.hp = Math.max(0, Math.min(this.hp, this.Attrs[Attrs.HP_MAX]));
|
||||
}
|
||||
add_mp(value:number,isValue:boolean){
|
||||
let addValue = value;
|
||||
if(!isValue){
|
||||
addValue = value * this.Attrs[Attrs.MP_MAX];
|
||||
}
|
||||
let heroView = this.ent.get(HeroViewComp);
|
||||
if(heroView){
|
||||
heroView.mp_add(addValue);
|
||||
}
|
||||
this.mp += addValue;
|
||||
this.mp = Math.max(0, Math.min(this.mp, this.Attrs[Attrs.MP_MAX]));
|
||||
}
|
||||
add_shield(value:number,isValue:boolean){
|
||||
let addValue = value;
|
||||
this.shield += addValue;
|
||||
this.shield = Math.max(0, Math.min(this.shield, this.Attrs[Attrs.HP_MAX]));
|
||||
}
|
||||
// ==================== BUFF 管理 ====================
|
||||
/**
|
||||
* 添加 buff 效果(支持多次叠加)
|
||||
@@ -148,6 +180,8 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
this.recalculateSingleAttr(attrIndex);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ==================== 属性计算系统 ====================
|
||||
/**
|
||||
* 重新计算单个属性
|
||||
@@ -407,7 +441,14 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
}
|
||||
|
||||
|
||||
addTalBuff(t_uuid: number, attrIndex?: number, bType?: BType, value: number = 0) {
|
||||
/**
|
||||
* 添加数值型天赋buff 数值会进行累加,count 时叠加层数
|
||||
* @param t_uuid 天赋唯一标识
|
||||
* @param attrIndex 属性索引
|
||||
* @param bType buff类型(VALUE:数值型, RATIO:百分比型)
|
||||
* @param value buff值
|
||||
*/
|
||||
addValueTal(t_uuid: number, attrIndex?: number, bType?: BType, value: number = 0) {
|
||||
if (attrIndex === undefined || bType === undefined) return;
|
||||
const buff = this.BUFFS_TAL[t_uuid];
|
||||
if (!buff) {
|
||||
@@ -418,14 +459,60 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
}
|
||||
this.recalculateSingleAttr(attrIndex);
|
||||
}
|
||||
clearTalBuff(t_uuid: number) {
|
||||
|
||||
/**
|
||||
* 添加计数型天赋,每次添加数值已最新额覆盖久的,count为可用次数
|
||||
* @param eff 天赋效果ID
|
||||
* @param value 天赋值
|
||||
*/
|
||||
addCountTal(eff: number, value: number) {
|
||||
const t = this.Talents[eff] || { value: 0, count: 0 };
|
||||
t.value = value;
|
||||
t.count += 1;
|
||||
this.Talents[eff] = t;
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用计数型天赋,如风怒 ,必爆等天赋,只需要返回是否暴击的,使用这个方法
|
||||
* @param eff 天赋效果ID
|
||||
* @returns 是否使用成功
|
||||
*/
|
||||
useCountTal(eff: number): boolean {
|
||||
const t = this.Talents[eff];
|
||||
if (!t || t.count <= 0) return false;
|
||||
t.count -= 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用计数型天赋并返回天赋值,如额外5次 伤害+20% ,5次受伤,免伤20% 使用这个方法
|
||||
* @param eff 天赋效果ID
|
||||
* @returns 天赋值
|
||||
*/
|
||||
useCountValTal(eff: number): number {
|
||||
const t = this.Talents[eff];
|
||||
if (!t || t.value <= 0) return 0;
|
||||
t.count -= 1;
|
||||
return t.value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据UUID移除数值型天赋buff
|
||||
* @param t_uuid 天赋唯一标识
|
||||
*/
|
||||
useValueTalByUuid(t_uuid: number) {
|
||||
const buff = this.BUFFS_TAL[t_uuid];
|
||||
if (!buff) return;
|
||||
const attrIndex = buff.attrIndex;
|
||||
delete this.BUFFS_TAL[t_uuid];
|
||||
this.recalculateSingleAttr(attrIndex);
|
||||
}
|
||||
clearTalBuffByAttr(attrIndex: number) {
|
||||
|
||||
/**
|
||||
* 根据属性索引移除数值型天赋buff
|
||||
* @param attrIndex 属性索引
|
||||
*/
|
||||
useValueTalByAttr(attrIndex: number) {
|
||||
let changed = false;
|
||||
for (const key in this.BUFFS_TAL) {
|
||||
const b = this.BUFFS_TAL[Number(key)];
|
||||
@@ -437,19 +524,6 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
if (changed) this.recalculateSingleAttr(attrIndex);
|
||||
}
|
||||
|
||||
addTalent(eff: number, value: number) {
|
||||
const t = this.Talents[eff] || { value: 0, count: 0 };
|
||||
t.value = value;
|
||||
t.count += 1;
|
||||
this.Talents[eff] = t;
|
||||
}
|
||||
consumeTalent(eff: number): boolean {
|
||||
const t = this.Talents[eff];
|
||||
if (!t || t.count <= 0) return false;
|
||||
t.count -= 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
reset() {
|
||||
// 重置为初始状态
|
||||
this.hero_uuid = 1001;
|
||||
@@ -487,6 +561,7 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
this.is_kalami = false;
|
||||
this.atk_count = 0;
|
||||
this.atked_count = 0;
|
||||
this.killed_count =0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -26,13 +26,25 @@ export interface BuffInfo {
|
||||
@ccclass('HeroViewComp') // 定义Cocos Creator 组件
|
||||
@ecs.register('HeroView', false) // 定义ECS 组件
|
||||
export class HeroViewComp extends CCComp {
|
||||
private debugMode: boolean = true; // 是否启用调试模式
|
||||
|
||||
// 添加条件日志方法
|
||||
private debugLog(...args: any[]): void {
|
||||
if (this.debugMode) {
|
||||
console.log(...args);
|
||||
}
|
||||
}
|
||||
|
||||
private debugWarn(...args: any[]): void {
|
||||
if (this.debugMode) {
|
||||
console.warn(...args);
|
||||
}
|
||||
}
|
||||
// ==================== View 层属性(表现相关)====================
|
||||
as: HeroSpine = null!
|
||||
status:String = "idle"
|
||||
scale: number = 1; // 显示方向
|
||||
box_group:number = BoxSet.HERO; // 碰撞组
|
||||
usePower:boolean = false;
|
||||
useMp:boolean = false;
|
||||
realDeadTime:number=10
|
||||
deadCD:number=0
|
||||
// 血条显示相关
|
||||
@@ -45,7 +57,7 @@ export class HeroViewComp extends CCComp {
|
||||
get model() {
|
||||
// 🔥 修复:添加安全检查,防止ent为null时的访问异常
|
||||
if (!this.ent) {
|
||||
console.warn("[HeroViewComp] ent is null, returning null for model");
|
||||
this.debugWarn("[HeroViewComp] ent is null, returning null for model");
|
||||
return null;
|
||||
}
|
||||
return this.ent.get(HeroAttrsComp);
|
||||
@@ -89,12 +101,10 @@ export class HeroViewComp extends CCComp {
|
||||
// }
|
||||
/* 显示角色血*/
|
||||
this.top_node.getChildByName("hp").active = true;
|
||||
this.usePower=HeroInfo[this.model.hero_uuid].type==HType.warrior||HeroInfo[this.model.hero_uuid].type==HType.assassin;
|
||||
this.useMp=HeroInfo[this.model.hero_uuid].type==HType.mage||HeroInfo[this.model.hero_uuid].type==HType.remote||HeroInfo[this.model.hero_uuid].type==HType.support;
|
||||
this.top_node.getChildByName("pow").active = this.usePower;
|
||||
this.top_node.getChildByName("mp").active = this.useMp;
|
||||
this.top_node.getChildByName("mp").active = true;
|
||||
// 初始隐藏血条(被攻击后才显示)
|
||||
this.top_node.active = false;
|
||||
this.top_node.active = true;
|
||||
|
||||
}
|
||||
|
||||
/** 初始化 UI 节点引用 */
|
||||
@@ -140,9 +150,9 @@ export class HeroViewComp extends CCComp {
|
||||
this.processDamageQueue(); // 伤害数字显示队列
|
||||
|
||||
// ✅ 更新 UI 显示(数据由 HeroAttrSystem 更新)
|
||||
this.hp_show(this.model.hp, this.model.Attrs[Attrs.HP_MAX]);
|
||||
if(this.useMp) this.mp_show(this.model.mp, this.model.Attrs[Attrs.MP_MAX]);
|
||||
if(this.usePower) this.pow_show(this.model.pow, this.model.Attrs[Attrs.POW_MAX]);
|
||||
// 移除了每帧调用的 hp_show,改为仅在需要时调用
|
||||
this.hp_show();
|
||||
this.mp_show();
|
||||
this.show_shield(this.model.shield, this.model.Attrs[Attrs.SHIELD_MAX]);
|
||||
}
|
||||
|
||||
@@ -160,32 +170,29 @@ export class HeroViewComp extends CCComp {
|
||||
}
|
||||
|
||||
/** 显示血量 */
|
||||
private hp_show(hp: number, hp_max: number) {
|
||||
private hp_show() {
|
||||
// 不再基于血量是否满来决定显示状态,只更新进度条
|
||||
if(!this.top_node.active) return;
|
||||
|
||||
let hp_progress = hp / hp_max;
|
||||
this.top_node.getChildByName("hp").getComponent(ProgressBar).progress = hp_progress;
|
||||
let hp=this.model.hp;
|
||||
let hp_max=this.model.Attrs[Attrs.HP_MAX];
|
||||
this.debugLog("hp_show",hp,hp_max)
|
||||
this.top_node.getChildByName("hp").getComponent(ProgressBar).progress = hp / hp_max;;
|
||||
this.scheduleOnce(() => {
|
||||
this.top_node.getChildByName("hp").getChildByName("hpb").getComponent(ProgressBar).progress = hp_progress;
|
||||
this.top_node.getChildByName("hp").getChildByName("hpb").getComponent(ProgressBar).progress = hp / hp_max;;
|
||||
}, 0.15);
|
||||
}
|
||||
|
||||
/** 显示魔法值 */
|
||||
private mp_show(mp: number, mp_max: number) {
|
||||
private mp_show() {
|
||||
if(!this.top_node.active) return
|
||||
let mp=this.model.mp;
|
||||
let mp_max=this.model.Attrs[Attrs.MP_MAX];
|
||||
this.debugLog("mp_show",mp,mp_max)
|
||||
this.top_node.getChildByName("mp").getComponent(ProgressBar).progress = mp / mp_max;
|
||||
this.scheduleOnce(() => {
|
||||
this.top_node.getChildByName("mp").getChildByName("mpb").getComponent(ProgressBar).progress = mp / mp_max;
|
||||
}, 0.15);
|
||||
}
|
||||
private pow_show(pow: number, pow_max: number) {
|
||||
if(!this.top_node.active) return
|
||||
this.top_node.getChildByName("pow").getComponent(ProgressBar).progress = pow / pow_max;
|
||||
this.scheduleOnce(() => {
|
||||
this.top_node.getChildByName("pow").getChildByName("mpb").getComponent(ProgressBar).progress = pow / pow_max;
|
||||
}, 0.15);
|
||||
}
|
||||
|
||||
/** 升级特效 */
|
||||
private lv_up() {
|
||||
var path = "game/skill/buff/buff_lvup";
|
||||
@@ -294,12 +301,18 @@ export class HeroViewComp extends CCComp {
|
||||
if(this.model && this.model.shield>0) this.show_shield(this.model.shield, this.model.Attrs[Attrs.SHIELD_MAX]);
|
||||
}
|
||||
|
||||
health(hp: number = 0, is_num:boolean=true) {
|
||||
health(hp: number = 0) {
|
||||
// 生命值更新由 Model 层处理,这里只负责视图表现
|
||||
this.heathed();
|
||||
if(this.model) {
|
||||
this.hp_show(hp, this.model.Attrs[Attrs.HP_MAX]);
|
||||
this.hp_tip(TooltipTypes.health, hp.toFixed(0));
|
||||
this.top_node.active=true
|
||||
this.hp_show();
|
||||
}
|
||||
mp_add(mp: number = 0) {
|
||||
// 生命值更新由 Model 层处理,这里只负责视图表现
|
||||
this.hp_tip(TooltipTypes.addmp, mp.toFixed(0));
|
||||
this.top_node.active=true
|
||||
this.mp_show();
|
||||
}
|
||||
|
||||
alive(){
|
||||
@@ -331,7 +344,7 @@ export class HeroViewComp extends CCComp {
|
||||
realDead(){
|
||||
// 🔥 修复:添加model安全检查,防止实体销毁过程中的空指针异常
|
||||
if (!this.model) {
|
||||
console.warn("[HeroViewComp] realDead called but model is null, skipping");
|
||||
this.debugWarn("[HeroViewComp] realDead called but model is null, skipping");
|
||||
return;
|
||||
}
|
||||
if(this.model.fac === FacSet.HERO){
|
||||
@@ -390,17 +403,6 @@ export class HeroViewComp extends CCComp {
|
||||
}
|
||||
// 伤害计算和战斗逻辑已迁移到 HeroBattleSystem
|
||||
|
||||
/** 死亡触发器(预留,用于天赋/特殊效果) */
|
||||
do_dead_trigger(){
|
||||
if(!this.model || this.model.is_dead || this.model.fac === FacSet.MON) return;
|
||||
// 预留:天赋触发、复活检查等
|
||||
}
|
||||
|
||||
/** 受击触发器(预留,用于天赋/特殊效果) */
|
||||
do_atked_trigger(){
|
||||
if(!this.model || this.model.is_dead || this.model.fac === FacSet.MON) return;
|
||||
// 预留:反击、护盾触发等
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -415,7 +417,7 @@ export class HeroViewComp extends CCComp {
|
||||
switch(skill.act){
|
||||
case "max":
|
||||
this.as.max()
|
||||
this.tooltip(TooltipTypes.skill, skill.name, skill_id)
|
||||
this.tooltip(TooltipTypes.skill, skill.name)
|
||||
break
|
||||
case "atk":
|
||||
this.as.atk()
|
||||
@@ -455,12 +457,12 @@ export class HeroViewComp extends CCComp {
|
||||
private showDamageImmediate(damage: number, isCrit: boolean, anm:string="atked") {
|
||||
if (!this.model) return;
|
||||
|
||||
this.hp_show(this.model.hp, this.model.Attrs[Attrs.HP_MAX]);
|
||||
this.hp_show();
|
||||
this.in_atked(anm, this.model.fac==FacSet.HERO?1:-1);
|
||||
if (isCrit) {
|
||||
this.hp_tip(TooltipTypes.crit, damage.toFixed(0), damage);
|
||||
this.hp_tip(TooltipTypes.crit, damage.toFixed(0));
|
||||
} else {
|
||||
this.hp_tip(TooltipTypes.life, damage.toFixed(0), damage);
|
||||
this.hp_tip(TooltipTypes.life, damage.toFixed(0));
|
||||
}
|
||||
}
|
||||
reset() {
|
||||
@@ -483,3 +485,8 @@ export class HeroViewComp extends CCComp {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -143,11 +143,12 @@ export class SACastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdat
|
||||
// 1. 播放施法动画
|
||||
heroView.playSkillEffect(s_uuid);
|
||||
/**********************天赋处理*************************************************************************/
|
||||
// 2. 更新攻击类型的天赋触发值
|
||||
// 2. 更新攻击类型的天赋触发值,技能和必杀级
|
||||
if(casterEntity.has(TalComp)){
|
||||
const talComp = casterEntity.get(TalComp);
|
||||
if (hset === HSSet.atk) talComp.updateCur(TriType.ATK);
|
||||
if (hset != HSSet.atk) talComp.updateCur(TriType.SKILL);
|
||||
if (hset === HSSet.skill) talComp.updateCur(TriType.SKILL);
|
||||
if (hset === HSSet.max) talComp.updateCur(TriType.MAX);
|
||||
}
|
||||
/**********************天赋处理*************************************************************************/
|
||||
// 获取目标位置
|
||||
@@ -156,31 +157,52 @@ export class SACastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdat
|
||||
console.warn("[SACastSystem] 没有找到有效目标");
|
||||
return false;
|
||||
}
|
||||
// 2. 延迟创建技能实体(等待动画)
|
||||
const delay = 0.3
|
||||
// 2.1 普通攻击逻辑
|
||||
if (hset === HSSet.atk){
|
||||
let delay = 0.3
|
||||
let ext_dmg = heroAttrs.useCountValTal(TalEffet.ATK_DMG);
|
||||
heroView.scheduleOnce(() => {
|
||||
this.createSkill(s_uuid, heroView,targets);
|
||||
this.createSkill(s_uuid, heroView,targets,ext_dmg);
|
||||
}, delay);
|
||||
|
||||
//风怒wfuny 只针对 普通攻击起效
|
||||
if (hset === HSSet.atk && heroAttrs.consumeTalent(TalEffet.WFUNY)){
|
||||
if (heroAttrs.useCountTal(TalEffet.WFUNY)){
|
||||
let ext2_dmg = heroAttrs.useCountValTal(TalEffet.ATK_DMG);
|
||||
let delay = 0.3
|
||||
heroView.playSkillEffect(s_uuid);
|
||||
//需要再添加 风怒动画
|
||||
this.createSkill(s_uuid, heroView,targets);
|
||||
heroView.scheduleOnce(() => {
|
||||
this.createSkill(s_uuid, heroView,targets,ext2_dmg);
|
||||
},delay);
|
||||
}
|
||||
}
|
||||
// 2.2 技能攻击逻辑
|
||||
if(hset === HSSet.skill){
|
||||
let delay = 0.3
|
||||
let ext_dmg = heroAttrs.useCountValTal(TalEffet.SKILL_DMG);
|
||||
heroView.scheduleOnce(() => {
|
||||
this.createSkill(s_uuid, heroView,targets,ext_dmg);
|
||||
}, delay);
|
||||
// 双技能 只针对 技能起效
|
||||
if(hset === HSSet.skill && heroAttrs.consumeTalent(TalEffet.D_SKILL)){
|
||||
targets = this.sTargets(heroView, s_uuid);
|
||||
if (targets.length === 0) {
|
||||
console.warn("[SACastSystem] 没有找到有效目标");
|
||||
return false;
|
||||
}
|
||||
if(heroAttrs.useCountTal(TalEffet.D_SKILL)){
|
||||
let ext2_dmg = heroAttrs.useCountValTal(TalEffet.SKILL_DMG);
|
||||
let delay = 0.3
|
||||
heroView.playSkillEffect(s_uuid);
|
||||
//需要再添加 双技能动画
|
||||
heroView.scheduleOnce(() => {
|
||||
this.createSkill(s_uuid, heroView,targets);
|
||||
}, delay);
|
||||
this.createSkill(s_uuid, heroView,targets,ext2_dmg);
|
||||
},delay);
|
||||
}
|
||||
}
|
||||
// 2.3 必杀技能逻辑
|
||||
if(hset === HSSet.max){
|
||||
let delay = 0.3
|
||||
heroView.playSkillEffect(s_uuid);
|
||||
//需要再添加 最大伤害动画
|
||||
heroView.scheduleOnce(() => {
|
||||
this.createSkill(s_uuid, heroView,targets);
|
||||
},delay);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return true;
|
||||
|
||||
@@ -189,6 +189,10 @@ export class TalComp extends ecs.Comp {
|
||||
}
|
||||
}
|
||||
//执行天赋触发效果
|
||||
// 功能:
|
||||
// - 根据天赋类型执行相应的效果
|
||||
// - 支持计数型和数值型天赋
|
||||
// --heroAttrs.addTalent 是计数型天赋buff heroAttrs.addTalBuff 是数值型天赋buff
|
||||
doTriggerTal(uuid: number) {
|
||||
// 检查天赋是否存在
|
||||
if (!this.Tals[uuid]) {
|
||||
@@ -198,23 +202,38 @@ export class TalComp extends ecs.Comp {
|
||||
const talent = this.Tals[uuid];
|
||||
const heroAttrs=this.ent.get(HeroAttrsComp);
|
||||
switch(talent.effet){
|
||||
case TalEffet.ATK_DMG:
|
||||
heroAttrs.addCountTal(TalEffet.ATK_DMG, talent.value + talent.value_add);
|
||||
break;
|
||||
case TalEffet.SKILL_DMG:
|
||||
heroAttrs.addCountTal(TalEffet.SKILL_DMG, talent.value + talent.value_add);
|
||||
break;
|
||||
case TalEffet.DMG_RED:
|
||||
heroAttrs.addCountTal(TalEffet.DMG_RED, talent.value + talent.value_add);
|
||||
break;
|
||||
case TalEffet.HP:
|
||||
heroAttrs.add_hp(talent.value + talent.value_add,talent.vType == BType.VALUE);
|
||||
break;
|
||||
case TalEffet.MP:
|
||||
heroAttrs.add_mp(talent.value + talent.value_add,talent.vType == BType.VALUE);
|
||||
break;
|
||||
case TalEffet.WFUNY:
|
||||
heroAttrs.addTalent(TalEffet.WFUNY, talent.value + talent.value_add);
|
||||
heroAttrs.addCountTal(TalEffet.WFUNY, talent.value + talent.value_add);
|
||||
break;
|
||||
case TalEffet.D_SKILL:
|
||||
heroAttrs.addTalent(TalEffet.D_SKILL, talent.value + talent.value_add);
|
||||
heroAttrs.addCountTal(TalEffet.D_SKILL, talent.value + talent.value_add);
|
||||
break;
|
||||
case TalEffet.C_ATK:
|
||||
heroAttrs.addTalent(TalEffet.C_ATK, talent.value + talent.value_add);
|
||||
heroAttrs.addCountTal(TalEffet.C_ATK, talent.value + talent.value_add);
|
||||
break;
|
||||
case TalEffet.C_SKILL:
|
||||
heroAttrs.addTalent(TalEffet.C_SKILL, talent.value + talent.value_add);
|
||||
heroAttrs.addCountTal(TalEffet.C_SKILL, talent.value + talent.value_add);
|
||||
break;
|
||||
case TalEffet.C_MSKILL:
|
||||
heroAttrs.addTalent(TalEffet.C_MSKILL, talent.value + talent.value_add);
|
||||
heroAttrs.addCountTal(TalEffet.C_MSKILL, talent.value + talent.value_add);
|
||||
break;
|
||||
case TalEffet.BUFF:
|
||||
heroAttrs.addTalBuff(talent.uuid, talent.attrs, talent.vType, talent.value + talent.value_add);
|
||||
heroAttrs.addValueTal(talent.uuid, talent.attrs, talent.vType, talent.value + talent.value_add);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,8 @@ export class SDataCom extends ecs.Comp {
|
||||
group:BoxSet=BoxSet.HERO
|
||||
fac: number = 0; // 0:hero 1:monster
|
||||
s_uuid:number=0
|
||||
ext_dmg:number=0 //额外伤害
|
||||
dmg_ratio:number=1 //伤害比例
|
||||
hit_count:number=0 //击中数量
|
||||
reset() {
|
||||
this.Attrs=null
|
||||
@@ -20,6 +22,8 @@ export class SDataCom extends ecs.Comp {
|
||||
this.s_uuid=0
|
||||
this.caster=null
|
||||
this.hit_count=0
|
||||
this.ext_dmg=0
|
||||
this.dmg_ratio=1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -93,6 +93,7 @@ export class Skill extends ecs.Entity {
|
||||
sDataCom.Attrs={...cAttrsComp.Attrs}
|
||||
sDataCom.s_uuid=s_uuid
|
||||
sDataCom.fac=cAttrsComp.fac
|
||||
sDataCom.ext_dmg=ext_dmg
|
||||
}
|
||||
|
||||
/** 模块资源释放 */
|
||||
|
||||
@@ -149,7 +149,9 @@ export class SkillView extends CCComp {
|
||||
target.ent,
|
||||
this.sData.Attrs,
|
||||
this.sData.caster,
|
||||
this.sData.s_uuid
|
||||
this.sData.s_uuid,
|
||||
this.sData.ext_dmg,
|
||||
this.sData.dmg_ratio,
|
||||
);
|
||||
// 更新技能命中次数
|
||||
this.sData.hit_count++
|
||||
|
||||
@@ -41,6 +41,14 @@ export class TooltipCom extends CCComp {
|
||||
this.ent.destroy()
|
||||
},0.5)
|
||||
break
|
||||
case TooltipTypes.addmp:
|
||||
this.node.setSiblingIndex(110);
|
||||
this.node.getChildByName("add_mp").getChildByName("mp").getComponent(Label).string = this.value;
|
||||
this.node.getChildByName("add_mp").active=true;
|
||||
this.scheduleOnce(()=>{
|
||||
this.ent.destroy()
|
||||
},0.5)
|
||||
break
|
||||
case TooltipTypes.crit:
|
||||
this.node.setPosition(v3(this.node.position.x,this.node.position.y))
|
||||
this.node.setSiblingIndex(200);
|
||||
|
||||
@@ -201,10 +201,10 @@ console.log("道具1001数量:", itemInfo.result.data.count);
|
||||
const talents = await WxCloudApi.getTalents();
|
||||
|
||||
// 添加天赋点
|
||||
const result = await WxCloudApi.addTalent(1001, 1);
|
||||
const result = await WxCloudApi.addCountTal(1001, 1);
|
||||
|
||||
// 消耗天赋点
|
||||
const result = await WxCloudApi.consumeTalent(1001, 1);
|
||||
const result = await WxCloudApi.useCountTal(1001, 1);
|
||||
```
|
||||
|
||||
### 装备操作
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
md extensions
|
||||
cd extensions
|
||||
|
||||
IF EXIST oops-plugin-framework (
|
||||
goto update
|
||||
) ELSE (
|
||||
goto clone
|
||||
)
|
||||
|
||||
:clone
|
||||
git clone -b master https://gitee.com/dgflash/oops-plugin-framework.git
|
||||
|
||||
:update
|
||||
cd oops-plugin-framework
|
||||
git pull
|
||||
Reference in New Issue
Block a user