コード例 #1
0
        /// <summary>
        /// React to a collision with another player
        /// </summary>
        /// <param name="player"></param>
        public void ReactToCollision(AbstractPlayer player)
        {
            // TODO: Fix this

            //Vector2 closestPoint = player.GetBody().GetClosestPointOnPerimeter(this.Player.GetBody().GetPosition());
            //Vector2 closestPointToPosition = this.Player.GetBody().GetPosition() - closestPoint;
            //closestPointToPosition.Normalize();

            //if (float.IsNaN(closestPointToPosition.X))
            //    closestPointToPosition.X = 0f;
            //if (float.IsNaN(closestPointToPosition.Y))
            //    closestPointToPosition.Y = 0f;

            //this.Player.GetBody().SetPosition(closestPoint + closestPointToPosition * ((CircleBody)this.Player.GetBody()).GetRadius());
        }
コード例 #2
0
 /// <summary>
 /// React to a collision with a player
 /// </summary>
 /// <param name="player"></param>
 public void ReactToCollision(AbstractPlayer player)
 {
     if (!this._flag.IsReset() && this._flag.GetTeam() == player.GetTeam())
     {
         player.ReturnFlag(this._flag);
     }
     else if (this._flag.GetTeam() != player.GetTeam())
     {
         player.PickUpFlag(this._flag);
     }
     else if (player.HasFlag() && player.GetTeam() == this._flag.GetTeam())
     {
         player.CaptureFlag();
     }
 }
コード例 #3
0
 /// <summary>
 /// React to collision with a player
 /// </summary>
 /// <param name="player"></param>
 public void ReactToCollision(AbstractPlayer player)
 {
     // Undefined
 }
コード例 #4
0
 /// <summary>
 /// Reset state
 /// </summary>
 public void Reset()
 {
     this.Target = null;
 }
コード例 #5
0
 /// <summary>
 /// Constructor
 /// </summary>
 public AttackBehavior()
 {
     this.Target = null;
 }
コード例 #6
0
 /// <summary>
 /// Add player
 /// </summary>
 /// <param name="player"></param>
 public void AddPlayer(AbstractPlayer player)
 {
     if (!this.Players.Contains(player))
     {
         this.Players.Add(player);
     }
 }
コード例 #7
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="player"></param>
 public CollisionBehaviors(AbstractPlayer player)
 {
     this.Player = player;
 }
コード例 #8
0
ファイル: AbstractGun.cs プロジェクト: Zuver/capture-the-flag
 /// <summary>
 /// Set player
 /// </summary>
 public void SetPlayer(AbstractPlayer player)
 {
     this.Player = player;
 }