예제 #1
0
파일: Field.cs 프로젝트: Isgeny/BattleCity
 protected override void OnCheckPosition(object sender, RectEventArgs e)
 {
     if (!Rect.Contains(e.NewRect))
     {
         if (sender is Tank)
         {
             TankCollision(sender as Tank);
         }
         else if (sender is Shell)
         {
             ShellCollision(sender as Shell);
         }
     }
 }
예제 #2
0
 protected virtual void OnCheckPosition(object sender, RectEventArgs e)
 {
     if (Rect.IntersectsWith(e.NewRect))
     {
         if (sender is Tank)
         {
             TankCollision(sender as Tank);
         }
         else if (sender is Shell)
         {
             ShellCollision(sender as Shell);
         }
     }
 }
예제 #3
0
 protected override void OnCheckPosition(object sender, RectEventArgs e)
 {
     if (!ExplosionTimer.Enabled)
     {
         if (sender is Tank && Rect.IntersectsWith(e.NewRect) && !Rect.IntersectsWith(e.CurrentRect))
         {
             TankCollision(sender as Tank);
         }
         else if (sender is Shell && Rect.IntersectsWith(e.NewRect))
         {
             ShellCollision(sender as Shell);
         }
     }
 }
예제 #4
0
 protected void InvokeCheckPosition(RectEventArgs e)
 {
     CheckPosition?.Invoke(this, e);
 }