import { _decorator, Component, Node } from 'cc'; import { HeroBase } from './HeroBase'; import { UmLog } from '../../../../cc-common/cc-util/UmLog'; import { EnemyBase } from '../enemy/EnemyBase'; import { Color } from 'cc'; const { ccclass, property } = _decorator; @ccclass('Hero') export class Hero extends HeroBase { calculateHitMeleeDamageUpdate(dt: number) { //override if (this.isImmuneDamage || !this.listEnemyContact.size) return; for (var value of this.listEnemyContact.values()) { if (!value.enemy) return; value.time += dt; if (value.time >= 2) { value.time = 0; var damage = value.enemy.getComponent(EnemyBase)?.dmg; // UmLog.log("calculateHitmeleedamage => ", value.enemy.name, damage); if (!damage) continue; this.effectColor = Color.RED; this.onHitDamage(damage); } } } onEnemyStartContact(enemy: Node) { super.onEnemyStartContact(enemy); if (this.isImmuneDamage) return; var damage = enemy.getComponent(EnemyBase)?.dmg; if (!damage) return; this.effectColor = Color.RED; this.onHitDamage(damage); } }