2026-03-01 12:16:08 +08:00
# pragma once
# include "..\..\Common\Network\NetworkPlayerInterface.h"
// This is an implementation of the INetworkPlayer interface, for Xbox 360. It effectively wraps the IQNetPlayer class in a non-platform-specific way. It is
// managed by PlatformNetworkManagerXbox.
class NetworkPlayerXbox : public INetworkPlayer
{
public :
// Common player interface
NetworkPlayerXbox ( IQNetPlayer * qnetPlayer ) ;
virtual unsigned char GetSmallId ( ) ;
2026-03-03 03:04:10 +08:00
virtual void SendData ( INetworkPlayer * player , const void * pvData , int dataSize , bool lowPriority , bool ack ) ;
2026-03-01 12:16:08 +08:00
virtual bool IsSameSystem ( INetworkPlayer * player ) ;
2026-03-03 03:04:10 +08:00
virtual int GetOutstandingAckCount ( ) ;
2026-03-01 12:16:08 +08:00
virtual int GetSendQueueSizeBytes ( INetworkPlayer * player , bool lowPriority ) ;
virtual int GetSendQueueSizeMessages ( INetworkPlayer * player , bool lowPriority ) ;
virtual int GetCurrentRtt ( ) ;
virtual bool IsHost ( ) ;
virtual bool IsGuest ( ) ;
virtual bool IsLocal ( ) ;
virtual int GetSessionIndex ( ) ;
virtual bool IsTalking ( ) ;
virtual bool IsMutedByLocalUser ( int userIndex ) ;
virtual bool HasVoice ( ) ;
virtual bool HasCamera ( ) ;
virtual int GetUserIndex ( ) ;
virtual void SetSocket ( Socket * pSocket ) ;
virtual Socket * GetSocket ( ) ;
virtual const wchar_t * GetOnlineName ( ) ;
virtual std : : wstring GetDisplayName ( ) ;
virtual PlayerUID GetUID ( ) ;
2026-03-03 03:04:10 +08:00
virtual void SentChunkPacket ( ) ;
virtual int GetTimeSinceLastChunkPacket_ms ( ) ;
2026-03-01 12:16:08 +08:00
// Extra xbox-specific things
IQNetPlayer * GetQNetPlayer ( ) ;
private :
IQNetPlayer * m_qnetPlayer ;
Socket * m_pSocket ;
2026-03-03 03:04:10 +08:00
__int64 m_lastChunkPacketTime ;
2026-03-01 12:16:08 +08:00
} ;