/// <summary> /// 受到炮弹伤害 /// </summary> /// <param name="cannonball">实施伤害炮弹</param> public void OnReceiveDamage(CannonBall cannonball) //当受到伤害 { if (cannonball.data.belongTo == transform) { return; } cannonball.OnHitEnemy(); //通知炮弹攻击到目标,自动隐藏 shipData.health -= cannonball.data.damage; if (isAlive) //判断是否存活 { if (!isVisible) //如果相机看不到,那就别忙活了(效果可以省略了). { return; } ParticleController.Play(cannonball.transform.position, Quaternion.identity, ExploseType.fire); //播放爆炸特效 if (IsHitLeft(cannonball.transform.position)) { if (isVisible && animBehaviour) { animBehaviour.Play("HitLeft"); } } else { if (isVisible && animBehaviour) { animBehaviour.Play("HitRight"); } } if (ripple) { ripple.SetShow(); //播放波纹 } } else { OnDie(); } }