Contains() public method

public Contains ( ShapeAABB boundBox ) : bool
boundBox ShapeAABB
return bool
示例#1
0
        private void AttackSword()
        {
            int leftX = FacingLeft ? BoundBox.Left - 15 : BoundBox.Right;
            ShapeAABB bound = new ShapeAABB(new Rectangle(leftX, (int)BoundBox.Top + 5, 15, PlayerHeight - 6));
            List<Vector2> newTiles = RectangleHitsTiles(bound);

            foreach (Vector2 v in newTiles)
            {
                BlockData block = GameServer.GetBlockAt(v.X, v.Y);
                if (block.ID != 0)
                {
                    ShapeAABB bound2 = new ShapeAABB(block.Block.GetBlockBoundBox((int)v.X, (int)v.Y));
                    if (bound2.Intersects(bound))
                    {
                        GameServer.HurtBlock((int)v.X, (int)v.Y, 2);
                    }
                }
            }

            foreach (NetworkPlayer player in GameServer.NetworkPlayers)
            {
                if (player == this) continue;
                if (player.PlayerTeam == PlayerTeam) continue;
                if (player.BoundBox.Intersects(bound) || player.BoundBox.Contains(bound) || bound.Contains(player.BoundBox))
                {
                    player.HurtPlayer(1);
                    player.EntityVelocity.Y = -4;
                    player.EntityVelocity.X = FacingLeft ? -5 : 5;
                }
            }
        }