protected override void OnInitializeComplete() { base.OnInitializeComplete(); m_PropertyComponent = entity.GetCComponent <CPropertyComponent>(); m_AnimatorComponent = entity.GetCComponent <CAnimatorComponent>(); m_CreateDamageComponent = entity.GetCComponent <CCreateDamageComponent>(); isAttacking = false; }
public Damage(uint batchOid, IDamageCaster caster, CCreateDamageComponent creator, CTakeDamageComponent receiver, DamageSource source, DamageType type, float damageValue, float getHitTime, float hitBack, float damageInterval, DamageMark mark) { time = Time.time; if (caster == null) { Debug.LogError("caster 不可以为空"); } this.batchOid = batchOid; this.caster = caster; this.creator = creator; this.receiver = receiver; m_SourceDamageValue = damageValue; receiveDamageValue = damageValue; damageType = type; damageSource = source; this.hitBack = hitBack; this.getHitTime = getHitTime; this.damageInterval = damageInterval; if (this.getHitTime <= 0) { this.getHitTime = Config.combat.getHitTime; } if (this.damageInterval <= 0) { this.damageInterval = Config.combat.damageInterval; } damageMark = mark; m_DamageActionMark = DamageResultMark.None; m_Lock = false; }
/// <summary> /// 受到攻击前的回调,不一定会被攻击中,可能miss /// </summary> /// <param name="target"></param> public void OnBeforeUnderAttack(CCreateDamageComponent target) { onBeforeUnderAttack.Invoke(target); }