OROCHI
 
Loading...
Searching...
No Matches
GxP2PSyncManager.h
Go to the documentation of this file.
1//===========================================================================
11//===========================================================================
12#pragma once
13
14GX_P2P_NAMESPACE_BEGIN()
15
16//---- クラス宣言
18
19//===========================================================================
21//===========================================================================
23{
24 //-----------------------------------------------------------
26 //-----------------------------------------------------------
28public:
30 static constexpr nu32 NETWORK_GAMER_MAX = GxMath::VALUE_8;
32 static constexpr nu32 PACKET_SIZE_MAX = GxMath::VALUE_32;
34 static constexpr nu32 BATCH_COUNT_MIN = GxMath::VALUE_1;
36 static constexpr nu32 BATCH_COUNT_MAX = GxMath::VALUE_4;
37
39 enum class SYNC_STATUS
40 {
41 STOP = 0,
42 SYNC,
43 WAIT
44 };
45
47 //-----------------------------------------------------------
49 //-----------------------------------------------------------
51public:
53 GxP2PSyncManager(void);
55 virtual ~GxP2PSyncManager(void);
56
58 void initialize(GxP2PSessionManager* pSessionManager);
59
61 //-----------------------------------------------------------
63 //-----------------------------------------------------------
65public:
67 void update(nu32 elapsedTime);
68
70 b32 start(void);
72 b32 end(void);
73
75 SYNC_STATUS sendData(const void* pData);
77 SYNC_STATUS receiveData(void);
78
80 void getReceiveData(nu32 gamerIndex, void* pData);
81
83 //-----------------------------------------------------------
85 //-----------------------------------------------------------
87public:
89 void setSyncDataSize(nu32 syncDataSize, nu32 batchPacketCount = BATCH_COUNT_MIN);
91 GX_FORCE_INLINE u32 getFrameSend(void) const { return _syncInstance.getFrameSend(); }
93 GX_FORCE_INLINE u32 getFrameRecieve(void) const { return _syncInstance.getFrameRecv(); }
94
96 //-----------------------------------------------------------
98 //-----------------------------------------------------------
100private:
101 GxP2PSessionManager* _pSessionManager;
102 MyNetLib::MyNetworkSync _syncInstance;
103 nu8 _sendBuffer[BATCH_COUNT_MAX * PACKET_SIZE_MAX];
104 nu8 _recieveBuffer[NETWORK_GAMER_MAX][BATCH_COUNT_MAX * PACKET_SIZE_MAX];
105 nu32 _packetSize;
106 nu32 _batchPacketCount;
107 nu32 _sendPacketCount;
108 nu32 _recievePacketCount;
109
111};
112
113GX_P2P_NAMESPACE_END()
static constexpr u32 VALUE_32
32
Definition GxMath.h:124
static constexpr u32 VALUE_4
4
Definition GxMath.h:121
static constexpr u32 VALUE_1
1
Definition GxMath.h:119
static constexpr u32 VALUE_8
8
Definition GxMath.h:122
P2Pセッションマネージャ
Definition GxP2PSessionManager.h:123
同期通信(ロックステップ)マネージャクラス
Definition GxP2PSyncManager.h:23
GX_FORCE_INLINE u32 getFrameSend(void) const
送信フレーム数
Definition GxP2PSyncManager.h:91
GX_FORCE_INLINE u32 getFrameRecieve(void) const
受信フレーム数
Definition GxP2PSyncManager.h:93
SYNC_STATUS
同期処理状態
Definition GxP2PSyncManager.h:40
32bitブーリアン
Definition GxDefine.h:173