#include "MapLinks.h"
MapLinks::MapLinks()
{
	Reset();
}
MapLinks::MapLinks(RECT RectWithDimensions)
{
	Reset();
	SetScreen(RectWithDimensions);
}
MapLinks::MapLinks(int Left, int Top, int Right, int Bottom)
{
	Reset();
	SetScreen(Left, Top, Right, Bottom);
}
MapLinks::~MapLinks()
{
	while(!inLinks.isEmpty()) inLinks.popFront();
}
void MapLinks::Reset()
{
	NumButtons = MAX_LCs;
	SetRect(&rect_Screen,				0, 0, 0, 0);
	SetRect(&rect_MapOfInterest,		0, 0, 0, 0);
	SetRect(&rect_WestMap,				0, 0, 0, 0);
	SetRect(&rect_NorthMap,				0, 0, 0, 0);
	SetRect(&rect_EastMap,				0, 0, 0, 0);
	SetRect(&rect_SouthMap,				0, 0, 0, 0);
	SetRect(&rect_PickingMapNameScreen,	0, 0, 0, 0);
	SetRect(&rectOP_LinkIndex,			0, 0, 0, 0);
	SetRect(&rectOP_OriginMapPrompt,	0, 0, 0, 0);
	SetRect(&rectOP_MOI_Name,			0, 0, 0, 0);
	SetRect(&rectOP_MOI_CoordPrompt,	0, 0, 0, 0);
	SetRect(&rectOP_MOI_ExitX,			0, 0, 0, 0);
	SetRect(&rectOP_MOI_ExitY,			0, 0, 0, 0);
	SetRect(&rectOP_DM_Prompt,			0, 0, 0, 0);
	SetRect(&rectIO_DestMapName,		0, 0, 0, 0);
	SetRect(&rectOP_DestCoordPrompt,	0, 0, 0, 0);
	SetRect(&rectOP_Dest_EnterX,		0, 0, 0, 0);
	SetRect(&rectOP_Dest_EnterY,		0, 0, 0, 0);
	SetRect(&rectOP_DestNickPrompt,		0, 0, 0, 0);
	SetRect(&rectIO_DestNickName,		0, 0, 0, 0);
	SetRect(&rectUserInputScrn,			0, 0, 0, 0);
	SetRect(&rectUserTextBox,			0, 0, 0, 0);
	SetRect(&rectHorClickRegion,		0, 0, 0, 0);
	WhichMapBeingPicked		= -1;
	BmpSourceX				= 0;
	BmpSourceY				= 0;

	ResetLinks();

	ShowInstructions		= false;
	ShowUserInput			= false;
	InstructStage			= 0;
}
void MapLinks::ReuseCleanUp()
{
	WhichMapBeingPicked		= -1;
	ShowInstructions		= false;
	ShowUserInput			= false;
	ResetLinks();
}
void MapLinks::ResetLinks()
{
	strMapOfInterest		= "No_Map_Selected";
	strWestMap				= "No_Map_Selected";
	strNorthMap				= "No_Map_Selected";
	strEastMap				= "No_Map_Selected";
	strSouthMap				= "No_Map_Selected";

	mapOfInterestIsWorldMap	= true;
	westMapIsWorldMap		= true;
	northMapIsWorldMap		= true;
	eastMapIsWorldMap		= true;
	southMapIsWorldMap		= true;

	while(!inLinks.isEmpty()) inLinks.popFront();
	NumInternalLinks		= 0;
	CurIndex				= 0;
	ShowIntLink				= false;
}
void MapLinks::SetScreen(RECT RectInput)
{
	SetRect(&rect_Screen, RectInput.left, RectInput.top, RectInput.right, RectInput.bottom);
	CalculateRects();
}
void MapLinks::SetScreen(int Left, int Top, int Right, int Bottom)
{
	SetRect(&rect_Screen, Left, Top, Right, Bottom);
	CalculateRects();
}
void MapLinks::SetSideBarScreen(RECT Zone, int HeightOfTxtBox)
{
	//Expand is an off-set measurement that spans left and right of a center point, where the original
	//rectangle is declared at the mid-point of a desired area - M. White 14 June, 2019
	double Expand		= 0.45;
	double HeightMod	= 1.20;

	SetRect(&rectOP_LinkIndex, 
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) - int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 0.00),
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) + int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 0.00) + HeightOfTxtBox);

	SetRect(&rectOP_OriginMapPrompt, 
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) - int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 1.00),
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) + int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 1.00) + HeightOfTxtBox);

	SetRect(&rectOP_MOI_Name, 
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) - int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 1.75),
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) + int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 1.75) + HeightOfTxtBox);

	SetRect(&rectOP_MOI_CoordPrompt, 
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) - int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 2.75),
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) + int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 2.75) + HeightOfTxtBox);

	//These two do not use the Expand variable - both are on the same display line - M. White 14 June, 2019	----//
	SetRect(&rectOP_MOI_ExitX,																					//
		Zone.left	+ int((Zone.right - Zone.left) * 0.33) - int((Zone.right - Zone.left) * 0.10),				//
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 3.50),													//
		Zone.left	+ int((Zone.right - Zone.left) * 0.33) + int((Zone.right - Zone.left) * 0.10),				//
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 3.50) + HeightOfTxtBox);								//
	SetRect(&rectOP_MOI_ExitY,																					//
		Zone.left	+ int((Zone.right - Zone.left) * 0.66) - int((Zone.right - Zone.left) * 0.10),				//
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 3.50),													//
		Zone.left	+ int((Zone.right - Zone.left) * 0.66) + int((Zone.right - Zone.left) * 0.10),				//
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 3.50) + HeightOfTxtBox);								//
	//----------------------------------------------------------------------------------------------------------//

	SetRect(&rectOP_DM_Prompt, 
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) - int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 4.50),
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) + int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 4.50) + HeightOfTxtBox);

	SetRect(&rectIO_DestMapName, 
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) - int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 5.25),
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) + int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 5.25) + HeightOfTxtBox);

	SetRect(&rectOP_DestCoordPrompt, 
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) - int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 6.25),
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) + int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 6.25) + HeightOfTxtBox);

	//These two do not use the Expand variable - both are on the same display line - M. White 14 June, 2019	----//
	SetRect(&rectOP_Dest_EnterX,																				//
		Zone.left	+ int((Zone.right - Zone.left) * 0.33) - int((Zone.right - Zone.left) * 0.10),				//
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 7.00),													//
		Zone.left	+ int((Zone.right - Zone.left) * 0.33) + int((Zone.right - Zone.left) * 0.10),				//
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 7.00) + HeightOfTxtBox);								//
	SetRect(&rectOP_Dest_EnterY,																				//
		Zone.left	+ int((Zone.right - Zone.left) * 0.66) - int((Zone.right - Zone.left) * 0.10),				//
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 7.00),													//
		Zone.left	+ int((Zone.right - Zone.left) * 0.66) + int((Zone.right - Zone.left) * 0.10),				//
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 7.00) + HeightOfTxtBox);								//
	//----------------------------------------------------------------------------------------------------------//

	SetRect(&rectOP_DestNickPrompt, 
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) - int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 8.00),
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) + int((Zone.right - Zone.left) * Expand),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 8.00) + HeightOfTxtBox);

	SetRect(&rectIO_DestNickName, 
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) - int((Zone.right - Zone.left) * 0.45),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 8.75),
		Zone.left	+ int((Zone.right - Zone.left) * 0.50) + int((Zone.right - Zone.left) * 0.45),
		Zone.top	+ int((HeightOfTxtBox * HeightMod) * 8.75) + HeightOfTxtBox);

	SetRect(&rectHorClickRegion,
		Zone.left + int((Zone.right - Zone.left) * 0.50) - int((Zone.right - Zone.left) * 0.40),
		Zone.top  + int((Zone.bottom - Zone.top) * 0.97) - int(HeightOfTxtBox * 0.20),
		Zone.left + int((Zone.right - Zone.left) * 0.50) + int((Zone.right - Zone.left) * 0.40),
		Zone.top  + int((Zone.bottom - Zone.top) * 0.97) + int(HeightOfTxtBox * 0.20));

	SetUserInput(HeightOfTxtBox);
}
void MapLinks::SetUserInput(int HeightOfTxtBox)
{
	SetRect(&rectUserInputScrn, 
		rect_Screen.left		+ int((rect_Screen.right - rect_Screen.left) * 0.50) - int((rect_Screen.right - rect_Screen.left) * 0.15),
		rect_Screen.top			+ int((rect_Screen.bottom - rect_Screen.top) * 0.50) - int((rect_Screen.bottom - rect_Screen.top) * 0.10),
		rect_Screen.left		+ int((rect_Screen.right - rect_Screen.left) * 0.50) + int((rect_Screen.right - rect_Screen.left) * 0.15),
		rect_Screen.top			+ int((rect_Screen.bottom - rect_Screen.top) * 0.50) + int((rect_Screen.bottom - rect_Screen.top) * 0.10));

	SetRect(&rectUserTextBox,
		rectUserInputScrn.left	+ int((rectUserInputScrn.right  - rectUserInputScrn.left) * 0.50) - int((rectUserInputScrn.right - rectUserInputScrn.left) * 0.45),
		rectUserInputScrn.top	+ int((rectUserInputScrn.bottom - rectUserInputScrn.top)  * 0.35) - int(HeightOfTxtBox * 0.50),
		rectUserInputScrn.left	+ int((rectUserInputScrn.right  - rectUserInputScrn.left) * 0.50) + int((rectUserInputScrn.right - rectUserInputScrn.left) * 0.45),
		rectUserInputScrn.top	+ int((rectUserInputScrn.bottom - rectUserInputScrn.top)  * 0.35) - int(HeightOfTxtBox * 0.50) + HeightOfTxtBox);
}
InternalMapLink MapLinks::GetActiveLink(int x, int y)
{
	InternalMapLink test;
	for(int i = 0; i < NumInternalLinks; i++)
	{
		inLinks.getNodes(i, test);
		if(test.exitX == x && test.exitY == y)
			return test;
	}
	test.DestinationMapName = "";
	test.DestMapType		= -1;
	test.destX				= -1;
	test.destY				= -1;
	test.exitX				= -1;
	test.exitY				= -1;
	test.NickName			= "";
	return test;
}
void MapLinks::CalculateRects()
{
	SetPickingScreen(
		rect_Screen.left	+ int((rect_Screen.right - rect_Screen.left) * 0.50) - int((rect_Screen.right - rect_Screen.left) * 0.25),
		rect_Screen.top		+ int((rect_Screen.bottom - rect_Screen.top) * 0.50) - int((rect_Screen.bottom - rect_Screen.top) * 0.45),
		rect_Screen.left	+ int((rect_Screen.right - rect_Screen.left) * 0.50) + int((rect_Screen.right - rect_Screen.left) * 0.25),
		rect_Screen.top		+ int((rect_Screen.bottom - rect_Screen.top) * 0.50) + int((rect_Screen.bottom - rect_Screen.top) * 0.45));

	SetRectMapInterest(
		rect_Screen.left	+ int((rect_Screen.right - rect_Screen.left) * 0.50) - int((rect_Screen.right - rect_Screen.left) * 0.20),
		rect_Screen.top		+ int((rect_Screen.bottom - rect_Screen.top) * 0.50) - int((rect_Screen.bottom - rect_Screen.top) * 0.20),
		rect_Screen.left	+ int((rect_Screen.right - rect_Screen.left) * 0.50) + int((rect_Screen.right - rect_Screen.left) * 0.20),
		rect_Screen.top		+ int((rect_Screen.bottom - rect_Screen.top) * 0.50) + int((rect_Screen.bottom - rect_Screen.top) * 0.20));

	SetRectWestMap(
		rect_Screen.left	+ int((rect_Screen.right - rect_Screen.left) * 0.01),
		rect_Screen.top		+ int((rect_Screen.bottom - rect_Screen.top) * 0.50) - int((rect_Screen.bottom - rect_Screen.top) * 0.07),
		rect_Screen.left	+ int((rect_Screen.right - rect_Screen.left) * 0.29),
		rect_Screen.top		+ int((rect_Screen.bottom - rect_Screen.top) * 0.50) + int((rect_Screen.bottom - rect_Screen.top) * 0.07));

	SetRectNorthMap(
		rect_Screen.left	+ int((rect_Screen.right - rect_Screen.left) * 0.50) - int((rect_Screen.right - rect_Screen.left) * 0.15),
		rect_Screen.top		+ int((rect_Screen.bottom - rect_Screen.top) * 0.16),
		rect_Screen.left	+ int((rect_Screen.right - rect_Screen.left) * 0.50) + int((rect_Screen.right - rect_Screen.left) * 0.15),
		rect_Screen.top		+ int((rect_Screen.bottom - rect_Screen.top) * 0.28));

	SetRectEastMap(
		rect_Screen.left	+ int((rect_Screen.right - rect_Screen.left) * 0.71),
		rect_Screen.top		+ int((rect_Screen.bottom - rect_Screen.top) * 0.50) - int((rect_Screen.bottom - rect_Screen.top) * 0.07),
		rect_Screen.left	+ int((rect_Screen.right - rect_Screen.left) * 0.99),
		rect_Screen.top		+ int((rect_Screen.bottom - rect_Screen.top) * 0.50) + int((rect_Screen.bottom - rect_Screen.top) * 0.07));

	SetRectSouthMap(
		rect_Screen.left	+ int((rect_Screen.right - rect_Screen.left) * 0.50) - int((rect_Screen.right - rect_Screen.left) * 0.15),
		rect_Screen.top		+ int((rect_Screen.bottom - rect_Screen.top) * 0.72),
		rect_Screen.left	+ int((rect_Screen.right - rect_Screen.left) * 0.50) + int((rect_Screen.right - rect_Screen.left) * 0.15),
		rect_Screen.top		+ int((rect_Screen.bottom - rect_Screen.top) * 0.84));
}
RECT MapLinks::GetRectUserInputScrn() const
{
	return rectUserInputScrn;
}
RECT MapLinks::GetRectUserTextBox() const
{
	return rectUserTextBox;
}
RECT MapLinks::GetRectScreen() const
{
	return rect_Screen;
}
RECT MapLinks::GetRectPickName() const
{
	return rect_PickingMapNameScreen;
}
RECT MapLinks::GetRectMapInterest() const
{
	return rect_MapOfInterest;
}
RECT MapLinks::GetRectWestMap() const
{
	return rect_WestMap;
}
RECT MapLinks::GetRectNorthMap() const
{
	return rect_NorthMap;
}
RECT MapLinks::GetRectEastMap() const
{
	return rect_EastMap;
}
RECT MapLinks::GetRectSouthMap() const
{
	return rect_SouthMap;
}
RECT MapLinks::GetRectOP_LinkIndex() const
{
	return rectOP_LinkIndex;
}
RECT MapLinks::GetRectOP_OriginMapPrompt() const
{
	return rectOP_OriginMapPrompt;
}
RECT MapLinks::GetRectOP_MOI_Name() const
{
	return rectOP_MOI_Name;
}
RECT MapLinks::GetRectOP_MOI_CoordPrompt() const
{
	return rectOP_MOI_CoordPrompt;
}
RECT MapLinks::GetRectOP_MOI_ExitX() const
{
	return rectOP_MOI_ExitX;
}
RECT MapLinks::GetRectOP_MOI_ExitY() const
{
	return rectOP_MOI_ExitY;
}
RECT MapLinks::GetRectOP_DM_Prompt() const
{
	return rectOP_DM_Prompt;
}
RECT MapLinks::GetRectIO_DestMapName() const
{
	return rectIO_DestMapName;
}
RECT MapLinks::GetRectOP_DestCoordPrompt() const
{
	return rectOP_DestCoordPrompt;
}
RECT MapLinks::GetRectOP_Dest_EnterX() const
{
	return rectOP_Dest_EnterX;
}
RECT MapLinks::GetRectOP_Dest_EnterY() const
{
	return rectOP_Dest_EnterY;
}
RECT MapLinks::GetRectOP_DestNickPrompt() const
{
	return rectOP_DestNickPrompt;
}
RECT MapLinks::GetRectIO_DestNickName() const
{
	return rectIO_DestNickName;
}
RECT MapLinks::GetRectHorClickRegion() const
{
	return rectHorClickRegion;
}
bool MapLinks::HitRectIO_DestMapName(int X, int Y) const
{
	if(X >= rectIO_DestMapName.left && X <= rectIO_DestMapName.right &&
	   Y >= rectIO_DestMapName.top  && Y <= rectIO_DestMapName.bottom)
	   return true;
	else return false;
}
bool MapLinks::HitRectIO_DestNickName(int X, int Y) const
{
	if(X >= rectIO_DestNickName.left && X <= rectIO_DestNickName.right &&
	   Y >= rectIO_DestNickName.top  && Y <= rectIO_DestNickName.bottom)
	   return true;
	else return false;
}
bool MapLinks::HitRectHorClickRegion(int X, int Y) const
{
	if(X >= rectHorClickRegion.left && X <= rectHorClickRegion.right &&
	   Y >= rectHorClickRegion.top  && Y <= rectHorClickRegion.bottom) return true;
	else return false;
}
bool MapLinks::HitMapOfInterest(int X, int Y)
{
	if((X >= rect_MapOfInterest.left && X <= rect_MapOfInterest.right) && (Y >= rect_MapOfInterest.top && Y <= rect_MapOfInterest.bottom))
		return true;
	else return false;
}
bool MapLinks::HitWestMap(int X, int Y)
{
	if((X >= rect_WestMap.left && X <= rect_WestMap.right) && (Y >= rect_WestMap.top && Y <= rect_WestMap.bottom))
		return true;
	else return false;
}
bool MapLinks::HitNorthMap(int X, int Y)
{
	if((X >= rect_NorthMap.left && X <= rect_NorthMap.right) && (Y >= rect_NorthMap.top && Y <= rect_NorthMap.bottom))
		return true;
	else return false;
}
bool MapLinks::HitEastMap(int X, int Y)
{
	if((X >= rect_EastMap.left && X <= rect_EastMap.right) && (Y >= rect_EastMap.top && Y <= rect_EastMap.bottom))
		return true;
	else return false;
}
bool MapLinks::HitSouthMap(int X, int Y)
{
	if((X >= rect_SouthMap.left && X <= rect_SouthMap.right) && (Y >= rect_SouthMap.top && Y <= rect_SouthMap.bottom))
		return true;
	else return false;
}
void MapLinks::SetTypeWorld(bool data)
{
	mapOfInterestIsWorldMap = data;
}
bool MapLinks::GetTypeInterWorld() const
{
	return mapOfInterestIsWorldMap;
}
void MapLinks::SetTypeWest(bool data)
{
	westMapIsWorldMap = data;
}
bool MapLinks::GetTypeWest() const
{
	return westMapIsWorldMap;
}
void MapLinks::SetTypeNorth(bool data)
{
	northMapIsWorldMap = data;
}
bool MapLinks::GetTypeNorth() const
{
	return northMapIsWorldMap;
}
void MapLinks::SetTypeEast(bool data)
{
	eastMapIsWorldMap = data;
}
bool MapLinks::GetTypeEast() const
{
	return eastMapIsWorldMap;
}
void MapLinks::SetTypeSouth(bool data)
{
	southMapIsWorldMap = data;
}
bool MapLinks::GetTypeSouth() const
{
	return southMapIsWorldMap;
}
void MapLinks::SetStrMOI(string FileName)
{
	string local;
	if(int(FileName.length() > 0))
	{
		local = FileName;
		for(int i = 0; i < int(local.length()); i++)
			if(local[i] == ' ') local[i] = '_';
		strMapOfInterest = local;
	}
	else strMapOfInterest = "No_Map_Selected";
}
string MapLinks::GetStrMOI() const
{
	return strMapOfInterest;
}
void MapLinks::SetStrMapWest(string FileName)
{
	string local;
	if(int(FileName.length() > 0))
	{
		local = FileName;
		for(int i = 0; i < int(local.length()); i++)
			if(local[i] == ' ') local[i] = '_';
		strWestMap = local;
	}
	else strWestMap = "No_Map_Selected";
}
string MapLinks::GetStrMapWest() const
{
	return strWestMap;
}
void MapLinks::SetStrMapNorth(string FileName)
{
	string local;
	if(int(FileName.length() > 0))
	{
		local = FileName;
		for(int i = 0; i < int(local.length()); i++)
			if(local[i] == ' ') local[i] = '_';
		strNorthMap = local;
	}
	else strNorthMap = "No_Map_Selected";
}
string MapLinks::GetStrMapNorth() const
{
	return strNorthMap;
}
void MapLinks::SetStrMapEast(string FileName)
{
	string local;
	if(int(FileName.length() > 0))
	{
		local = FileName;
		for(int i = 0; i < int(local.length()); i++)
			if(local[i] == ' ') local[i] = '_';
		strEastMap = local;
	}
	else strEastMap = "No_Map_Selected";
}
string MapLinks::GetStrMapEast() const
{
	return strEastMap;
}
void MapLinks::SetStrMapSouth(string FileName)
{
	string local;
	if(int(FileName.length() > 0))
	{
		local = FileName;
		for(int i = 0; i < int(local.length()); i++)
			if(local[i] == ' ') local[i] = '_';
		strSouthMap = local;
	}
	else strSouthMap = "No_Map_Selected";
}
string MapLinks::GetStrMapSouth() const
{
	return strSouthMap;
}
void MapLinks::SetPickingScreen(int Left, int Top, int Right, int Bottom)
{
	SetRect(&rect_PickingMapNameScreen, Left, Top, Right, Bottom);
}
void MapLinks::SetRectMapInterest(int Left, int Top, int Right, int Bottom)
{
	SetRect(&rect_MapOfInterest, Left, Top, Right, Bottom);
}
void MapLinks::SetRectWestMap(int Left, int Top, int Right, int Bottom)
{
	SetRect(&rect_WestMap, Left, Top, Right, Bottom);
}
void MapLinks::SetRectNorthMap(int Left, int Top, int Right, int Bottom)
{
	SetRect(&rect_NorthMap, Left, Top, Right, Bottom);
}
void MapLinks::SetRectEastMap(int Left, int Top, int Right, int Bottom)
{
	SetRect(&rect_EastMap, Left, Top, Right, Bottom);
}
void MapLinks::SetRectSouthMap(int Left, int Top, int Right, int Bottom)
{
	SetRect(&rect_SouthMap, Left, Top, Right, Bottom);
}