Main/System/Battle/BattleObject/BattleObject.cs
@@ -351,7 +351,7 @@
        {
            if (dmgInfo.IsType(DamageType.Block))
            {
                battleField.battleEffectMgr.PlayEffect(this, BattleConst.BlockEffectID, heroRectTrans, Camp);
                battleField.battleEffectMgr.PlayEffect(this, BattleConst.BlockEffectID, heroRectTrans, Camp, teamHero.modelScale);
            }
            // else
            // {
@@ -359,7 +359,7 @@
            {
                if (!buffMgr.isControled[BattleConst.HardControlGroup])
                {
                    battleField.soundManager.PlayEffectSound(teamHero.heroConfig.HitSFX);
                    battleField.soundManager.PlayEffectSound(teamHero.heroConfig.HitSFX, false);
                    motionBase.PlayAnimation(MotionName.hit, false);
                }
            }
@@ -439,13 +439,18 @@
    public virtual void OnDeath(Action _onDeathAnimationComplete)
    {
        buffMgr.RemoveAllBuff();
        battleField.soundManager.PlayEffectSound(teamHero.heroConfig.DeathSFX);
        battleField.soundManager.PlayEffectSound(teamHero.heroConfig.DeathSFX, false);
        motionBase.PlayDeadAnimation(() =>
        {
            teamHero.isDead = true;
            OnDeadAnimationComplete();
            SetDeath();
            _onDeathAnimationComplete?.Invoke();
        });
    }
    public void SetDeath()
    {
        teamHero.isDead = true;
        OnDeadAnimationComplete();
    }
    protected virtual void OnDeadAnimationComplete()
@@ -460,11 +465,13 @@
    public void OnReborn(HB427_tagSCUseSkill.tagSCUseSkillHurt vNetData)
    {
        // 处理复活逻辑
        battleField.OnObjReborn((uint)ObjID);
        teamHero.curHp = GeneralDefine.GetFactValue(vNetData.CurHP, vNetData.CurHPEx);
        // Debug.LogError("OnReborn " + teamHero.curHp);
        teamHero.isDead = false;
        heroGo.SetActive(true);
        motionBase.ResetToIdleAnimation();
        motionBase.ResetForReborn();
    }
    // 伤害还要看 是否闪避 暴击 and so on 需要有一个DamageType 服务器应该会给