Beispiel #1
0
 /// <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();
     }
 }