#include "../../../../Minecraft.World/Platform/stdafx.h" #include "NetworkPlayerQNet.h" NetworkPlayerQNet::NetworkPlayerQNet(IQNetPlayer* qnetPlayer) { m_qnetPlayer = qnetPlayer; m_pSocket = NULL; } unsigned char NetworkPlayerQNet::GetSmallId() { return m_qnetPlayer->GetSmallId(); } void NetworkPlayerQNet::SendData(INetworkPlayer* player, const void* pvData, int dataSize, bool lowPriority, bool ack) { DWORD flags; flags = QNET_SENDDATA_RELIABLE | QNET_SENDDATA_SEQUENTIAL; if (lowPriority) flags |= QNET_SENDDATA_LOW_PRIORITY | QNET_SENDDATA_SECONDARY; m_qnetPlayer->SendData( static_cast(player)->m_qnetPlayer, pvData, dataSize, flags); } int NetworkPlayerQNet::GetOutstandingAckCount() { return 0; } bool NetworkPlayerQNet::IsSameSystem(INetworkPlayer* player) { return (m_qnetPlayer->IsSameSystem( static_cast(player)->m_qnetPlayer) == TRUE); } int NetworkPlayerQNet::GetSendQueueSizeBytes(INetworkPlayer* player, bool lowPriority) { DWORD flags = QNET_GETSENDQUEUESIZE_BYTES; if (lowPriority) flags |= QNET_GETSENDQUEUESIZE_SECONDARY_TYPE; return m_qnetPlayer->GetSendQueueSize( player ? static_cast(player)->m_qnetPlayer : nullptr, flags); } int NetworkPlayerQNet::GetSendQueueSizeMessages(INetworkPlayer* player, bool lowPriority) { DWORD flags = QNET_GETSENDQUEUESIZE_MESSAGES; if (lowPriority) flags |= QNET_GETSENDQUEUESIZE_SECONDARY_TYPE; return m_qnetPlayer->GetSendQueueSize( player ? static_cast(player)->m_qnetPlayer : nullptr, flags); } int NetworkPlayerQNet::GetCurrentRtt() { return m_qnetPlayer->GetCurrentRtt(); } bool NetworkPlayerQNet::IsHost() { return (m_qnetPlayer->IsHost() == TRUE); } bool NetworkPlayerQNet::IsGuest() { return (m_qnetPlayer->IsGuest() == TRUE); } bool NetworkPlayerQNet::IsLocal() { return (m_qnetPlayer->IsLocal() == TRUE); } int NetworkPlayerQNet::GetSessionIndex() { return m_qnetPlayer->GetSessionIndex(); } bool NetworkPlayerQNet::IsTalking() { return (m_qnetPlayer->IsTalking() == TRUE); } bool NetworkPlayerQNet::IsMutedByLocalUser(int userIndex) { return (m_qnetPlayer->IsMutedByLocalUser(userIndex) == TRUE); } bool NetworkPlayerQNet::HasVoice() { return (m_qnetPlayer->HasVoice() == TRUE); } bool NetworkPlayerQNet::HasCamera() { return (m_qnetPlayer->HasCamera() == TRUE); } int NetworkPlayerQNet::GetUserIndex() { return m_qnetPlayer->GetUserIndex(); } void NetworkPlayerQNet::SetSocket(Socket* pSocket) { m_pSocket = pSocket; } Socket* NetworkPlayerQNet::GetSocket() { return m_pSocket; } PlayerUID NetworkPlayerQNet::GetUID() { return m_qnetPlayer->GetXuid(); } const wchar_t* NetworkPlayerQNet::GetOnlineName() { return m_qnetPlayer->GetGamertag(); } std::wstring NetworkPlayerQNet::GetDisplayName() { return m_qnetPlayer->GetGamertag(); } IQNetPlayer* NetworkPlayerQNet::GetQNetPlayer() { return m_qnetPlayer; } void NetworkPlayerQNet::SentChunkPacket() { m_lastChunkPacketTime = System::currentTimeMillis(); } int NetworkPlayerQNet::GetTimeSinceLastChunkPacket_ms() { // If we haven't ever sent a packet, return maximum if (m_lastChunkPacketTime == 0) { return INT_MAX; } const int64_t currentTime = System::currentTimeMillis(); return static_cast(currentTime - m_lastChunkPacketTime); }