fix: 修复技能碰撞检测和英雄prefab配置问题
修复技能碰撞检测逻辑,确保正确应用伤害并过滤同组碰撞 调整多个英雄prefab的_enabled状态和碰撞组配置 优化技能视图的日志输出和伤害应用逻辑 移除不必要的prefab组件和调试日志
This commit is contained in:
@@ -991,7 +991,7 @@
|
|||||||
"node": {
|
"node": {
|
||||||
"__id__": 1
|
"__id__": 1
|
||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": false,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 62
|
"__id__": 62
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -991,7 +991,7 @@
|
|||||||
"node": {
|
"node": {
|
||||||
"__id__": 1
|
"__id__": 1
|
||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": false,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 62
|
"__id__": 62
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -991,7 +991,7 @@
|
|||||||
"node": {
|
"node": {
|
||||||
"__id__": 1
|
"__id__": 1
|
||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": false,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 62
|
"__id__": 62
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -991,7 +991,7 @@
|
|||||||
"node": {
|
"node": {
|
||||||
"__id__": 1
|
"__id__": 1
|
||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": false,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 62
|
"__id__": 62
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -991,7 +991,7 @@
|
|||||||
"node": {
|
"node": {
|
||||||
"__id__": 1
|
"__id__": 1
|
||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": false,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 62
|
"__id__": 62
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -991,7 +991,7 @@
|
|||||||
"node": {
|
"node": {
|
||||||
"__id__": 1
|
"__id__": 1
|
||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": false,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 62
|
"__id__": 62
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -991,7 +991,7 @@
|
|||||||
"node": {
|
"node": {
|
||||||
"__id__": 1
|
"__id__": 1
|
||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": false,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 62
|
"__id__": 62
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -961,7 +961,7 @@
|
|||||||
"enabledContactListener": true,
|
"enabledContactListener": true,
|
||||||
"bullet": false,
|
"bullet": false,
|
||||||
"awakeOnLoad": true,
|
"awakeOnLoad": true,
|
||||||
"_group": 4,
|
"_group": 2,
|
||||||
"_type": 1,
|
"_type": 1,
|
||||||
"_allowSleep": false,
|
"_allowSleep": false,
|
||||||
"_gravityScale": 1,
|
"_gravityScale": 1,
|
||||||
@@ -988,7 +988,7 @@
|
|||||||
"node": {
|
"node": {
|
||||||
"__id__": 1
|
"__id__": 1
|
||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": false,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 62
|
"__id__": 62
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -964,7 +964,7 @@
|
|||||||
"enabledContactListener": true,
|
"enabledContactListener": true,
|
||||||
"bullet": false,
|
"bullet": false,
|
||||||
"awakeOnLoad": true,
|
"awakeOnLoad": true,
|
||||||
"_group": 4,
|
"_group": 2,
|
||||||
"_type": 1,
|
"_type": 1,
|
||||||
"_allowSleep": false,
|
"_allowSleep": false,
|
||||||
"_gravityScale": 1,
|
"_gravityScale": 1,
|
||||||
@@ -991,7 +991,7 @@
|
|||||||
"node": {
|
"node": {
|
||||||
"__id__": 1
|
"__id__": 1
|
||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": false,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 62
|
"__id__": 62
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -964,7 +964,7 @@
|
|||||||
"enabledContactListener": true,
|
"enabledContactListener": true,
|
||||||
"bullet": false,
|
"bullet": false,
|
||||||
"awakeOnLoad": true,
|
"awakeOnLoad": true,
|
||||||
"_group": 4,
|
"_group": 2,
|
||||||
"_type": 1,
|
"_type": 1,
|
||||||
"_allowSleep": false,
|
"_allowSleep": false,
|
||||||
"_gravityScale": 1,
|
"_gravityScale": 1,
|
||||||
@@ -991,7 +991,7 @@
|
|||||||
"node": {
|
"node": {
|
||||||
"__id__": 1
|
"__id__": 1
|
||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": false,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 62
|
"__id__": 62
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -964,7 +964,7 @@
|
|||||||
"enabledContactListener": true,
|
"enabledContactListener": true,
|
||||||
"bullet": false,
|
"bullet": false,
|
||||||
"awakeOnLoad": true,
|
"awakeOnLoad": true,
|
||||||
"_group": 4,
|
"_group": 2,
|
||||||
"_type": 1,
|
"_type": 1,
|
||||||
"_allowSleep": false,
|
"_allowSleep": false,
|
||||||
"_gravityScale": 1,
|
"_gravityScale": 1,
|
||||||
@@ -991,7 +991,7 @@
|
|||||||
"node": {
|
"node": {
|
||||||
"__id__": 1
|
"__id__": 1
|
||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": false,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 62
|
"__id__": 62
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -32,13 +32,10 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__id__": 16
|
"__id__": 16
|
||||||
},
|
|
||||||
{
|
|
||||||
"__id__": 18
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_prefab": {
|
"_prefab": {
|
||||||
"__id__": 20
|
"__id__": 18
|
||||||
},
|
},
|
||||||
"_lpos": {
|
"_lpos": {
|
||||||
"__type__": "cc.Vec3",
|
"__type__": "cc.Vec3",
|
||||||
@@ -353,48 +350,12 @@
|
|||||||
},
|
},
|
||||||
"atk_x": 0,
|
"atk_x": 0,
|
||||||
"atk_y": 0,
|
"atk_y": 0,
|
||||||
"runType": 2,
|
|
||||||
"endType": 0,
|
|
||||||
"_id": ""
|
"_id": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.CompPrefabInfo",
|
"__type__": "cc.CompPrefabInfo",
|
||||||
"fileId": "35nW0iQNBH2bqkWAr3MVkQ"
|
"fileId": "35nW0iQNBH2bqkWAr3MVkQ"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"__type__": "f680dkagx9PmbfqtF463/Ua",
|
|
||||||
"_name": "",
|
|
||||||
"_objFlags": 0,
|
|
||||||
"__editorExtras__": {},
|
|
||||||
"node": {
|
|
||||||
"__id__": 1
|
|
||||||
},
|
|
||||||
"_enabled": true,
|
|
||||||
"__prefab": {
|
|
||||||
"__id__": 19
|
|
||||||
},
|
|
||||||
"speed": 600,
|
|
||||||
"controlPointSide": 1,
|
|
||||||
"controlPointOffset": 0.5,
|
|
||||||
"controlPointRandomness": 0.3,
|
|
||||||
"autoRotate": false,
|
|
||||||
"showTrajectory": false,
|
|
||||||
"trajectoryColor": {
|
|
||||||
"__type__": "cc.Color",
|
|
||||||
"r": 0,
|
|
||||||
"g": 255,
|
|
||||||
"b": 0,
|
|
||||||
"a": 255
|
|
||||||
},
|
|
||||||
"trajectoryWidth": 3,
|
|
||||||
"easing": "linear",
|
|
||||||
"rotationSmoothness": 0.6,
|
|
||||||
"_id": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.CompPrefabInfo",
|
|
||||||
"fileId": "defJ3noEdMUapDOKtsHbd+"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"__type__": "cc.PrefabInfo",
|
"__type__": "cc.PrefabInfo",
|
||||||
"root": {
|
"root": {
|
||||||
|
|||||||
@@ -32,13 +32,10 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__id__": 16
|
"__id__": 16
|
||||||
},
|
|
||||||
{
|
|
||||||
"__id__": 18
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_prefab": {
|
"_prefab": {
|
||||||
"__id__": 20
|
"__id__": 18
|
||||||
},
|
},
|
||||||
"_lpos": {
|
"_lpos": {
|
||||||
"__type__": "cc.Vec3",
|
"__type__": "cc.Vec3",
|
||||||
@@ -353,48 +350,12 @@
|
|||||||
},
|
},
|
||||||
"atk_x": 0,
|
"atk_x": 0,
|
||||||
"atk_y": 0,
|
"atk_y": 0,
|
||||||
"runType": 2,
|
|
||||||
"endType": 0,
|
|
||||||
"_id": ""
|
"_id": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.CompPrefabInfo",
|
"__type__": "cc.CompPrefabInfo",
|
||||||
"fileId": "60LInmZXxDtKu79AshRG9j"
|
"fileId": "60LInmZXxDtKu79AshRG9j"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"__type__": "f680dkagx9PmbfqtF463/Ua",
|
|
||||||
"_name": "",
|
|
||||||
"_objFlags": 0,
|
|
||||||
"__editorExtras__": {},
|
|
||||||
"node": {
|
|
||||||
"__id__": 1
|
|
||||||
},
|
|
||||||
"_enabled": true,
|
|
||||||
"__prefab": {
|
|
||||||
"__id__": 19
|
|
||||||
},
|
|
||||||
"speed": 600,
|
|
||||||
"controlPointSide": 1,
|
|
||||||
"controlPointOffset": 0.5,
|
|
||||||
"controlPointRandomness": 0.3,
|
|
||||||
"autoRotate": false,
|
|
||||||
"showTrajectory": false,
|
|
||||||
"trajectoryColor": {
|
|
||||||
"__type__": "cc.Color",
|
|
||||||
"r": 0,
|
|
||||||
"g": 255,
|
|
||||||
"b": 0,
|
|
||||||
"a": 255
|
|
||||||
},
|
|
||||||
"trajectoryWidth": 3,
|
|
||||||
"easing": "linear",
|
|
||||||
"rotationSmoothness": 0.6,
|
|
||||||
"_id": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.CompPrefabInfo",
|
|
||||||
"fileId": "65YLwe9t9EXo5kI3HQEGhs"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"__type__": "cc.PrefabInfo",
|
"__type__": "cc.PrefabInfo",
|
||||||
"root": {
|
"root": {
|
||||||
|
|||||||
@@ -276,8 +276,6 @@
|
|||||||
},
|
},
|
||||||
"atk_x": 0,
|
"atk_x": 0,
|
||||||
"atk_y": 0,
|
"atk_y": 0,
|
||||||
"runType": 2,
|
|
||||||
"endType": 0,
|
|
||||||
"_id": ""
|
"_id": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -330,12 +328,12 @@
|
|||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 17
|
"__id__": 17
|
||||||
},
|
},
|
||||||
"enabledContactListener": false,
|
"enabledContactListener": true,
|
||||||
"bullet": false,
|
"bullet": false,
|
||||||
"awakeOnLoad": true,
|
"awakeOnLoad": true,
|
||||||
"_group": 1,
|
"_group": 1,
|
||||||
"_type": 2,
|
"_type": 1,
|
||||||
"_allowSleep": true,
|
"_allowSleep": false,
|
||||||
"_gravityScale": 1,
|
"_gravityScale": 1,
|
||||||
"_linearDamping": 0,
|
"_linearDamping": 0,
|
||||||
"_angularDamping": 0,
|
"_angularDamping": 0,
|
||||||
@@ -367,7 +365,7 @@
|
|||||||
"tag": 0,
|
"tag": 0,
|
||||||
"_group": 1,
|
"_group": 1,
|
||||||
"_density": 1,
|
"_density": 1,
|
||||||
"_sensor": false,
|
"_sensor": true,
|
||||||
"_friction": 0.2,
|
"_friction": 0.2,
|
||||||
"_restitution": 0,
|
"_restitution": 0,
|
||||||
"_offset": {
|
"_offset": {
|
||||||
|
|||||||
@@ -38,13 +38,10 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__id__": 16
|
"__id__": 16
|
||||||
},
|
|
||||||
{
|
|
||||||
"__id__": 18
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_prefab": {
|
"_prefab": {
|
||||||
"__id__": 20
|
"__id__": 18
|
||||||
},
|
},
|
||||||
"_lpos": {
|
"_lpos": {
|
||||||
"__type__": "cc.Vec3",
|
"__type__": "cc.Vec3",
|
||||||
@@ -292,7 +289,7 @@
|
|||||||
"fileId": "60LInmZXxDtKu79AshRG9j"
|
"fileId": "60LInmZXxDtKu79AshRG9j"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "f680dkagx9PmbfqtF463/Ua",
|
"__type__": "cc.RigidBody2D",
|
||||||
"_name": "",
|
"_name": "",
|
||||||
"_objFlags": 0,
|
"_objFlags": 0,
|
||||||
"__editorExtras__": {},
|
"__editorExtras__": {},
|
||||||
@@ -303,46 +300,12 @@
|
|||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 15
|
"__id__": 15
|
||||||
},
|
},
|
||||||
"speed": 600,
|
"enabledContactListener": true,
|
||||||
"controlPointSide": 1,
|
|
||||||
"controlPointOffset": 0.5,
|
|
||||||
"controlPointRandomness": 0.3,
|
|
||||||
"autoRotate": false,
|
|
||||||
"showTrajectory": false,
|
|
||||||
"trajectoryColor": {
|
|
||||||
"__type__": "cc.Color",
|
|
||||||
"r": 0,
|
|
||||||
"g": 255,
|
|
||||||
"b": 0,
|
|
||||||
"a": 255
|
|
||||||
},
|
|
||||||
"trajectoryWidth": 3,
|
|
||||||
"easing": "linear",
|
|
||||||
"rotationSmoothness": 0.6,
|
|
||||||
"_id": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.CompPrefabInfo",
|
|
||||||
"fileId": "65YLwe9t9EXo5kI3HQEGhs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.RigidBody2D",
|
|
||||||
"_name": "",
|
|
||||||
"_objFlags": 0,
|
|
||||||
"__editorExtras__": {},
|
|
||||||
"node": {
|
|
||||||
"__id__": 1
|
|
||||||
},
|
|
||||||
"_enabled": true,
|
|
||||||
"__prefab": {
|
|
||||||
"__id__": 17
|
|
||||||
},
|
|
||||||
"enabledContactListener": false,
|
|
||||||
"bullet": false,
|
"bullet": false,
|
||||||
"awakeOnLoad": true,
|
"awakeOnLoad": true,
|
||||||
"_group": 1,
|
"_group": 1,
|
||||||
"_type": 2,
|
"_type": 1,
|
||||||
"_allowSleep": true,
|
"_allowSleep": false,
|
||||||
"_gravityScale": 1,
|
"_gravityScale": 1,
|
||||||
"_linearDamping": 0,
|
"_linearDamping": 0,
|
||||||
"_angularDamping": 0,
|
"_angularDamping": 0,
|
||||||
@@ -369,12 +332,12 @@
|
|||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": true,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 19
|
"__id__": 17
|
||||||
},
|
},
|
||||||
"tag": 0,
|
"tag": 0,
|
||||||
"_group": 1,
|
"_group": 1,
|
||||||
"_density": 1,
|
"_density": 1,
|
||||||
"_sensor": false,
|
"_sensor": true,
|
||||||
"_friction": 0.2,
|
"_friction": 0.2,
|
||||||
"_restitution": 0,
|
"_restitution": 0,
|
||||||
"_offset": {
|
"_offset": {
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ export class HeroViewComp extends CCComp {
|
|||||||
const collider = this.node.getComponent(BoxCollider2D);
|
const collider = this.node.getComponent(BoxCollider2D);
|
||||||
this.scheduleOnce(()=>{
|
this.scheduleOnce(()=>{
|
||||||
if (collider) collider.enabled = true; // 先禁
|
if (collider) collider.enabled = true; // 先禁
|
||||||
},1)
|
},0.1)
|
||||||
// let anm = this.node.getChildByName("anm")
|
// let anm = this.node.getChildByName("anm")
|
||||||
// anm.setScale(anm.scale.x*0.8,anm.scale.y*0.8);
|
// anm.setScale(anm.scale.x*0.8,anm.scale.y*0.8);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ export class Monster extends ecs.Entity {
|
|||||||
/** 加载角色 */
|
/** 加载角色 */
|
||||||
load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001,lv:number=1,monType:MonType=MonType.NORMAL, buffs: BuffConf[] = [],is_call=false) {
|
load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001,lv:number=1,monType:MonType=MonType.NORMAL, buffs: BuffConf[] = [],is_call=false) {
|
||||||
scale=-1
|
scale=-1
|
||||||
let box_group=BoxSet.MONSTER
|
|
||||||
var scene = smc.map.MapView.scene;
|
var scene = smc.map.MapView.scene;
|
||||||
var path = "game/heros/"+HeroInfo[uuid].path;
|
var path = "game/heros/"+HeroInfo[uuid].path;
|
||||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||||
@@ -55,7 +54,7 @@ export class Monster extends ecs.Entity {
|
|||||||
let hero = HeroInfo[uuid]; // 共用英雄数据
|
let hero = HeroInfo[uuid]; // 共用英雄数据
|
||||||
// 设置 View 层属性(表现相关)
|
// 设置 View 层属性(表现相关)
|
||||||
view.scale = scale;
|
view.scale = scale;
|
||||||
view.box_group = box_group;
|
view.box_group = BoxSet.MONSTER;
|
||||||
|
|
||||||
// 设置 Model 层属性(数据相关)
|
// 设置 Model 层属性(数据相关)
|
||||||
model.hero_uuid = uuid;
|
model.hero_uuid = uuid;
|
||||||
|
|||||||
@@ -166,6 +166,8 @@ export class SACastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdat
|
|||||||
|
|
||||||
// 这里可以调用 SkillConComp 的目标选择逻辑
|
// 这里可以调用 SkillConComp 的目标选择逻辑
|
||||||
// 暂时返回默认位置
|
// 暂时返回默认位置
|
||||||
|
if (caster==null ) return
|
||||||
|
if(caster.ent == null) return
|
||||||
const heroAttrs = caster.ent.get(HeroAttrsComp);
|
const heroAttrs = caster.ent.get(HeroAttrsComp);
|
||||||
const fac = heroAttrs?.fac ?? 0;
|
const fac = heroAttrs?.fac ?? 0;
|
||||||
const defaultX = fac === 0 ? 400 : -400;
|
const defaultX = fac === 0 ? 400 : -400;
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ export class SkillView extends CCComp {
|
|||||||
if(collider) {
|
if(collider) {
|
||||||
collider.group = this.group;
|
collider.group = this.group;
|
||||||
collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
|
collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
|
||||||
console.log(`[skillView] ${this.sData.caster.ent.get(HeroAttrsComp).hero_name}的 ${this.SConf.name} 碰撞组 ${this.group}`)
|
|
||||||
}
|
}
|
||||||
if(this.node.getComponent(Animation)){
|
if(this.node.getComponent(Animation)){
|
||||||
let anim = this.node.getComponent(Animation);
|
let anim = this.node.getComponent(Animation);
|
||||||
@@ -48,18 +47,16 @@ export class SkillView extends CCComp {
|
|||||||
|
|
||||||
}
|
}
|
||||||
onBeginContact (seCol: Collider2D, oCol: Collider2D) {
|
onBeginContact (seCol: Collider2D, oCol: Collider2D) {
|
||||||
console.log(`[skillView] ${this.sData.caster.ent.get(HeroAttrsComp).hero_name}的 ${this.SConf.name} 碰撞了 ${oCol.getComponent(HeroViewComp).ent.get(HeroAttrsComp).hero_name}`);
|
if(oCol.group==this.group) return
|
||||||
|
if (!this.SConf) return;
|
||||||
if(this.SConf.EType!=EType.collision) return
|
if(this.SConf.EType!=EType.collision) return
|
||||||
let target = oCol.getComponent(HeroViewComp)
|
let target = oCol.getComponent(HeroViewComp)
|
||||||
|
if(target == null) return;
|
||||||
let model=target.ent.get(HeroAttrsComp)
|
let model=target.ent.get(HeroAttrsComp)
|
||||||
|
if(!model) return
|
||||||
if(model.is_dead) return
|
if(model.is_dead) return
|
||||||
if(oCol.group!=this.group){
|
// console.log(`[skillView] 碰撞5[${this.sData.caster.box_group}][${this.sData.caster.ent.get(HeroAttrsComp).hero_name}][${this.sData.caster.ent.eid}]的[${this.group}] [${this.SConf.name}]碰撞了 [${oCol.group}][ ${oCol.getComponent(HeroViewComp).ent.get(HeroAttrsComp).hero_name}][${oCol.getComponent(HeroViewComp).ent.eid}]`);
|
||||||
if(target == null) return;
|
this.apply_damage(target)
|
||||||
if (!this.SConf) return;
|
|
||||||
if(this.SConf.EType==EType.collision){
|
|
||||||
this.apply_damage(target)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onAnimationFinished(){
|
onAnimationFinished(){
|
||||||
@@ -98,11 +95,9 @@ export class SkillView extends CCComp {
|
|||||||
const distanceB = Math.abs(this.node.position.x - b.node.position.x);
|
const distanceB = Math.abs(this.node.position.x - b.node.position.x);
|
||||||
return distanceA - distanceB;
|
return distanceA - distanceB;
|
||||||
});
|
});
|
||||||
|
|
||||||
// 限制目标数量
|
// 限制目标数量
|
||||||
const maxTargets = Math.min(hitNum, IRTargets.length);
|
const maxTargets = Math.min(hitNum, IRTargets.length);
|
||||||
const sTargets = IRTargets.slice(0, maxTargets);
|
const sTargets = IRTargets.slice(0, maxTargets);
|
||||||
|
|
||||||
sTargets.forEach(target => {
|
sTargets.forEach(target => {
|
||||||
this.apply_damage(target, false);
|
this.apply_damage(target, false);
|
||||||
});
|
});
|
||||||
@@ -120,7 +115,8 @@ export class SkillView extends CCComp {
|
|||||||
apply_damage(target:HeroViewComp,is_range:boolean=false){
|
apply_damage(target:HeroViewComp,is_range:boolean=false){
|
||||||
if(target == null) return;
|
if(target == null) return;
|
||||||
if (!this.SConf) return;
|
if (!this.SConf) return;
|
||||||
|
console.log(`[skillView] 伤害 [${this.group}][${this.sData.caster.ent.get(HeroAttrsComp).hero_name}][${this.sData.caster.ent.eid}]的 [${this.SConf.name}]对 [${target.box_group}][ ${target.ent.get(HeroAttrsComp).hero_name}][${target.ent.eid}]`);
|
||||||
|
// if(this.sData.hit_count > this.SConf.hit_num) return 不能超出 最大伤害数量
|
||||||
// 使用伤害队列系统处理伤害
|
// 使用伤害队列系统处理伤害
|
||||||
DamageQueueHelper.addDamageToEntity(
|
DamageQueueHelper.addDamageToEntity(
|
||||||
target.ent,
|
target.ent,
|
||||||
@@ -128,12 +124,8 @@ export class SkillView extends CCComp {
|
|||||||
this.sData.caster,
|
this.sData.caster,
|
||||||
this.sData.s_uuid
|
this.sData.s_uuid
|
||||||
);
|
);
|
||||||
|
|
||||||
// console.log(`[SkillCom]: ${this.sData.caster.ent.get(HeroAttrsComp).hero_name}[${this.sData.caster.ent.get(HeroAttrsComp).fac}:${ this.sData.fac}:${target.ent.get(HeroAttrsComp).fac}] 对 ${target.ent.get(HeroAttrsComp).hero_name} 释放技能 ${this.SConf.name}`)
|
|
||||||
|
|
||||||
// 更新技能命中次数
|
// 更新技能命中次数
|
||||||
this.sData.hit_count++
|
this.sData.hit_count++
|
||||||
|
|
||||||
// 检查技能是否应该销毁
|
// 检查技能是否应该销毁
|
||||||
if( this.sData.hit_count>=(this.SConf.hit+ this.sData.Attrs[Attrs.PUNCTURE])&&(this.SConf.DTType!=DTType.range)&&(this.SConf.EType!=EType.animationEnd)&&(this.SConf.EType!=EType.timeEnd)) this.ent.destroy// 技能命中次数
|
if( this.sData.hit_count>=(this.SConf.hit+ this.sData.Attrs[Attrs.PUNCTURE])&&(this.SConf.DTType!=DTType.range)&&(this.SConf.EType!=EType.animationEnd)&&(this.SConf.EType!=EType.timeEnd)) this.ent.destroy// 技能命中次数
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user