Exemplo n.º 1
0
    public void RspTakeDamage(GameMsg msg)
    {
        RspTakeDamage rspTakeDamage = msg.rspTakeDamage;
        ItemHP        itemHP        = playerControlPanel.playerItemHPDic.TryGet(rspTakeDamage.roleType);

        if (itemHP != null)
        {
            itemHP.SetBloodBar(itemHP.currentHP, rspTakeDamage.hp);
        }
        if (battleMgr.playerEntity != null)
        {
            if (battleMgr.playerEntity.GetRoleType() == rspTakeDamage.roleType)
            {
                //更新底部血条
                PECommon.Log("受到伤害。,更新底部血条");
                battleMgr.playerEntity.Hit();
                playerControlPanel.SelfItemHp.SetBloodBar(playerControlPanel.SelfItemHp.currentHP, rspTakeDamage.hp);
            }
        }
        //显示粒子特效
        Vector3 hitPos = UnityTools.GetV3Value(rspTakeDamage.hitPos);

        battleMgr.ShowHitEffect(hitPos);
    }