Пример #1
0
 protected override void OnInitializeComplete()
 {
     base.OnInitializeComplete();
     m_PropertyComponent     = entity.GetCComponent <CPropertyComponent>();
     m_AnimatorComponent     = entity.GetCComponent <CAnimatorComponent>();
     m_CreateDamageComponent = entity.GetCComponent <CCreateDamageComponent>();
     isAttacking             = false;
 }
Пример #2
0
    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;
    }
Пример #3
0
 /// <summary>
 /// 受到攻击前的回调,不一定会被攻击中,可能miss
 /// </summary>
 /// <param name="target"></param>
 public void OnBeforeUnderAttack(CCreateDamageComponent target)
 {
     onBeforeUnderAttack.Invoke(target);
 }