Beispiel #1
0
void GameWorld::SetMessageFromInput(UINT msg, int x, int y)
{
	char szMessage[MsgLen]={0};
	char szDebugMessage[DebugMsgLen]={0};

	sprintf((char *)szDebugMessage,"click X:%d Y:%d",x,y);
	SetWindowText(hwnd_window,szDebugMessage);

	x += ViewportPos_x;
	y += ViewportPos_y;	

	switch (msg)
	{
		case WM_LBUTTONDOWN:
			if (spMainRole->AnimationBegin() || spMainRole->GetAction() == STAND)
			{
				FixToGrid(spMainRole, x, y);

				Sprite* pTarget = haveSprite(x, y);
				//typeid, id, statu, action, targetTypeID, targetid, x, y
				if (pTarget)
				{
					sprintf(szMessage, "%d,%d,%d,%d,%d,%d,%d,%d", 
							spMainRole->GetTypeID() ,spMainRole->GetID(), spMainRole->GetStatu(), ATTACK, 
							pTarget->GetTypeID(), pTarget->GetID(), x, y);
				}
				else
				{
					sprintf(szMessage, "%d,%d,%d,%d,%d,%d,%d,%d", 
							spMainRole->GetTypeID(), spMainRole->GetID(), spMainRole->GetStatu(), WALK, 0, 0, x, y);
				}
			}			

			break;
		default:
			break;
	}	
	SendMsg(szMessage);	
}