ModernUO/Scripts/Items/Games/Mahjong/MahjongPieceDim.cs
2018-09-14 08:41:38 -07:00

47 lines
1.3 KiB
C#

namespace Server.Engines.Mahjong
{
public struct MahjongPieceDim
{
private Point2D m_Position;
private int m_Width;
private int m_Height;
public Point2D Position => m_Position;
public int Width => m_Width;
public int Height => m_Height;
public MahjongPieceDim( Point2D position, int width, int height )
{
m_Position = position;
m_Width = width;
m_Height = height;
}
public bool IsValid()
{
return m_Position.X >= 0 && m_Position.Y >= 0 && m_Position.X + m_Width <= 670 && m_Position.Y + m_Height <= 670;
}
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;
}
public int GetHandArea()
{
if ( m_Position.X + m_Width > 150 && m_Position.X < 520 && m_Position.Y < 35 )
return 0;
if ( m_Position.X + m_Width > 635 && m_Position.Y + m_Height > 150 && m_Position.Y < 520 )
return 1;
if ( m_Position.X + m_Width > 150 && m_Position.X < 520 && m_Position.Y + m_Height > 635 )
return 2;
if ( m_Position.X < 35 && m_Position.Y + m_Height > 150 && m_Position.Y < 520 )
return 3;
return -1;
}
}
}