Exemplo n.º 1
0
        public void Move(Point2D position)
        {
            MahjongPieceDim dim = GetDimensions(position);

            if (!dim.IsValid())
            {
                return;
            }

            m_Position = position;

            m_Game.Players.SendGeneralPacket(true, true);
        }
        public void Move(Point2D position, MahjongPieceDirection direction, MahjongWind wind)
        {
            MahjongPieceDim dim = GetDimensions(position, direction);

            if (!dim.IsValid())
            {
                return;
            }

            Position  = position;
            Direction = direction;
            Wind      = wind;

            Game.Players.SendGeneralPacket(true, true);
        }
Exemplo n.º 3
0
        public void Move(Point2D position, MahjongPieceDirection direction, bool flip, int validHandArea)
        {
            MahjongPieceDim dim         = GetDimensions(position, direction);
            int             curHandArea = Dimensions.GetHandArea();
            int             newHandArea = dim.GetHandArea();

            if (!IsMovable || !dim.IsValid() || (validHandArea >= 0 && ((curHandArea >= 0 && curHandArea != validHandArea) || (newHandArea >= 0 && newHandArea != validHandArea))))
            {
                return;
            }

            m_Position   = position;
            m_Direction  = direction;
            m_StackLevel = -1;             // Avoid self interference
            m_StackLevel = m_Game.GetStackLevel(dim) + 1;
            m_Flipped    = flip;

            m_Game.Players.SendTilePacket(this, true, true);
        }
Exemplo n.º 4
0
 public bool IsOverlapping(MahjongPieceDim dim)
 {
     return(m_Position.X < dim.m_Position.X + dim.m_Width && m_Position.Y < dim.m_Position.Y + dim.m_Height && m_Position.X + m_Width > dim.m_Position.X && m_Position.Y + m_Height > dim.m_Position.Y);
 }
Exemplo n.º 5
0
		public bool IsOverlapping( MahjongPieceDim dim )
		{
			return m_Position.X < dim.m_Position.X + dim.m_Width && m_Position.Y < dim.m_Position.Y + dim.m_Height && m_Position.X + m_Width > dim.m_Position.X && m_Position.Y + m_Height > dim.m_Position.Y;
		}
Exemplo n.º 6
0
 public bool IsOverlapping(MahjongPieceDim dim) =>
 Position.X <dim.Position.X + dim.Width && Position.Y <dim.Position.Y + dim.Height &&
                                                       Position.X + Width> dim.Position.X && Position.Y + Height> dim.Position.Y;