コード例 #1
0
ファイル: Ball.cs プロジェクト: fiftin/Pengball
 protected override void OnContacted(PengContactEventArgs e)
 {
     if (isSleep && e.Contactee is Player)
     {
         Body.IgnoreCollisionWith(World.Objects["ballLeftStand"].Body);
         Body.IgnoreCollisionWith(World.Objects["ballRightStand"].Body);
         isSleep = false;
     }
     base.OnContacted(e);
 }
コード例 #2
0
ファイル: ComputerPlayer.cs プロジェクト: fiftin/Pengball
 private ContacteeEnum GetContactee(PengContactEventArgs e)
 {
     switch (e.Contactee.Name)
     {
         case "tree":
             return ContacteeEnum.Tree;
         case "roof":
             return ContacteeEnum.Roof;
         default:
             if (e.Contactee == this)
                 return ContacteeEnum.Self;
             return ContacteeEnum.Other;
     }
 }
コード例 #3
0
ファイル: PengballWorld.cs プロジェクト: fiftin/Pengball
 void ball_Contacted(object sender, PengContactEventArgs e)
 {
     if (!GameStopped && gameplay)
     {
         var ball = (Ball)sender;
         if (e.Contactee.Name == "footer")
         {
             if (ball.Position.X < 2.2f)
             {
                 rightPlayerPoints++;
                 StopGame(GameStopReason.GoalToLeft);
             }
             else if (ball.Position.X > 2.8f)
             {
                 leftPlayerPoints++;
                 StopGame(GameStopReason.GoalToRight);
             }
         }
     }
 }
コード例 #4
0
ファイル: ComputerPlayer.cs プロジェクト: fiftin/Pengball
 void Ball_Contacted(object sender, PengContactEventArgs e)
 {
     if (!GameStopped)
     {
         var contactee = GetContactee(e);
         if (InMySide(World.Ball.Position)
             && contactee != ContacteeEnum.Other)
         {
             if (contactee == ContacteeEnum.Self)
             {
                 CalculateTargetPosition(ContacteeEnum.Self);
             }
             else
                 CalculateTargetPosition(contactee);
         }
     }
 }
コード例 #5
0
ファイル: Player.cs プロジェクト: fiftin/Pengball
 protected override void OnContacted(PengContactEventArgs e)
 {
     if (e.Contactee.Name == "footer" && InJump)
     {
         InJump = false;
     }
     base.OnContacted(e);
 }