Ejemplo n.º 1
0
// 유저가 로비에서 나간걸 로비에 접속한 다른 유저들에게 브로드캐스트
void Lobby::NotifyLobbyLeaveUserInfo(User* pUser)
{
	PACKET::PktLobbyLeaveUserInfoNtf pkt;
	strncpy_s(pkt.UserID, _countof(pkt.UserID), pUser->GetID().c_str(), PACKET::MAX_USER_ID_SIZE);

	SendToAllUser((short)PACKET_ID::LOBBY_LEAVE_USER_NTF, sizeof(pkt), (char*)&pkt, pUser->GetIndex());
}
Ejemplo n.º 2
0
	void Lobby::NotifyLobbyEnterUserInfo(User* pUser)
	{
		NCommon::PktLobbyNewUserInfoNtf pkt;
		strncpy_s(pkt.UserID, _countof(pkt.UserID), pUser->GetID().c_str(), NCommon::MAX_USER_ID_SIZE);

		SendToAllUser((short)PACKET_ID::LOBBY_ENTER_USER_NTF, sizeof(pkt), (char*)&pkt, pUser->GetIndex());
	}
Ejemplo n.º 3
0
	//유저가 입장했을때 모든 다른 유저에게 그 사실을 알림
	void Room::NotifyEnterUserInfo(const int userIndex, const char* pszUserID)
	{
		NCommon::PktRoomEnterUserInfoNtf pkt;
		strncpy_s(pkt.UserID, _countof(pkt.UserID), pszUserID, NCommon::MAX_USER_ID_SIZE);

		SendToAllUser((short)PACKET_ID::ROOM_ENTER_USER_NTF, sizeof(pkt), (char*)&pkt, userIndex);
	}
Ejemplo n.º 4
0
	void Lobby::NotifyChat(const int sessionIndex, const char* pszUserID, const wchar_t* pszMsg)
	{
		Common::PktRoomChatNtf pkt;
		strncpy_s(pkt.UserID, _countof(pkt.UserID), pszUserID, Common::MAX_USER_ID_SIZE);
		wcsncpy_s(pkt.Msg, Common::MAX_LOBBY_CHAT_MSG_SIZE + 1, pszMsg, Common::MAX_LOBBY_CHAT_MSG_SIZE);

		SendToAllUser((short)PACKET_ID::LOBBY_CHAT_NTF, sizeof(pkt), (char*)&pkt, sessionIndex); // 나 자신한텐 안보냄
	}
Ejemplo n.º 5
0
	//유저가 퇴장했을때 모든 다른 유저에게 그 사실을 알림
	void Room::NotifyLeaveUserInfo(const char* pszUserID)
	{
		if (m_IsUsed == false) {
			return;
		}

		NCommon::PktRoomLeaveUserInfoNtf pkt;
		strncpy_s(pkt.UserID, _countof(pkt.UserID), pszUserID, NCommon::MAX_USER_ID_SIZE);

		SendToAllUser((short)PACKET_ID::ROOM_LEAVE_USER_NTF, sizeof(pkt), (char*)&pkt);
	}
Ejemplo n.º 6
0
	void Lobby::NotifyChangedRoomInfo(const short roomIndex)
	{
		NCommon::PktChangedRoomInfoNtf pktNtf;
				
		auto& room = m_RoomList[roomIndex];
		
		pktNtf.RoomInfo.RoomIndex = room.GetIndex();
		pktNtf.RoomInfo.RoomUserCount = room.GetUserCount();

		if (m_RoomList[roomIndex].IsUsed()) {
			wcsncpy_s(pktNtf.RoomInfo.RoomTitle, NCommon::MAX_ROOM_TITLE_SIZE + 1, room.GetTitle(), NCommon::MAX_ROOM_TITLE_SIZE);
		}
		else {
			pktNtf.RoomInfo.RoomTitle[0] = L'\0';
		}

		SendToAllUser((short)PACKET_ID::ROOM_CHANGED_INFO_NTF, sizeof(pktNtf), (char*)&pktNtf);
	}