Started working on receiving information about other players
This commit is contained in:
+41
-1
@@ -20,6 +20,7 @@ InGame::InGame(ConfigUtility* cUtil, SurfaceManager* sMgr, UDPNetworkUtility* nU
|
||||
}
|
||||
|
||||
InGame::~InGame() {
|
||||
//placeholder disconnect
|
||||
PacketData p;
|
||||
p.type = PacketList::DISCONNECT;
|
||||
p.disconnect.playerID = *playerID;
|
||||
@@ -44,7 +45,46 @@ void InGame::FrameEnd() {
|
||||
}
|
||||
|
||||
void InGame::Update() {
|
||||
//
|
||||
Receive();
|
||||
}
|
||||
|
||||
void InGame::Receive() {
|
||||
PacketData packet;
|
||||
while(netUtil->Receive()) {
|
||||
memcpy(&packet, netUtil->GetInData(), sizeof(PacketData));
|
||||
switch(packet.type) {
|
||||
// case PacketList::NONE:
|
||||
// //
|
||||
// break;
|
||||
// case PacketList::PING:
|
||||
// //
|
||||
// break;
|
||||
// case PacketList::PONG:
|
||||
// //
|
||||
// break;
|
||||
// case PacketList::JOINREQUEST:
|
||||
// //
|
||||
// break;
|
||||
// case PacketList::JOINCONFIRM:
|
||||
// //
|
||||
// break;
|
||||
// case PacketList::DISCONNECT:
|
||||
// //
|
||||
// break;
|
||||
// case PacketList::SYNCHRONIZE:
|
||||
// //
|
||||
// break;
|
||||
case PacketList::NEWPLAYER:
|
||||
cout << "NEWPLAYER triggered" << endl;
|
||||
break;
|
||||
// case PacketList::DELETEPLAYER:
|
||||
// //
|
||||
// break;
|
||||
// case PacketList::MOVEMENT:
|
||||
// //
|
||||
// break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void InGame::Render(SDL_Surface* const screen) {
|
||||
|
||||
@@ -19,6 +19,7 @@ protected:
|
||||
virtual void FrameStart();
|
||||
virtual void FrameEnd();
|
||||
virtual void Update();
|
||||
virtual void Receive();
|
||||
virtual void Render(SDL_Surface* const);
|
||||
|
||||
//Event handlers
|
||||
|
||||
+9
-5
@@ -63,7 +63,6 @@ void Lobby::Update() {
|
||||
}
|
||||
|
||||
void Lobby::Receive() {
|
||||
//dump to the console
|
||||
PacketData packet;
|
||||
while(netUtil->Receive()) {
|
||||
memcpy(&packet, netUtil->GetInData(), sizeof(PacketData));
|
||||
@@ -80,12 +79,13 @@ void Lobby::Receive() {
|
||||
// case PacketList::JOINREQUEST:
|
||||
// //
|
||||
// break;
|
||||
case PacketList::JOINCONFIRM:
|
||||
case PacketList::JOINCONFIRM: {
|
||||
PacketData p;
|
||||
memcpy(&p, netUtil->GetInData(), sizeof(PacketData));
|
||||
*playerID = p.joinConfirm.playerID;
|
||||
netUtil->Bind(&netUtil->GetInPacket()->address, 0);
|
||||
SetNextScene(SceneList::INGAME);
|
||||
}
|
||||
break;
|
||||
// case PacketList::DISCONNECT:
|
||||
// //
|
||||
@@ -93,9 +93,12 @@ void Lobby::Receive() {
|
||||
// case PacketList::SYNCHRONIZE:
|
||||
// //
|
||||
// break;
|
||||
// case PacketList::NEWPLAYER:
|
||||
// //
|
||||
// break;
|
||||
#ifdef DEBUG
|
||||
//this might not be the end of the world; it only happens when the game ping is too low
|
||||
case PacketList::NEWPLAYER:
|
||||
cout << "WARNING: new player triggered unexpectedly" << endl;
|
||||
break;
|
||||
#endif
|
||||
// case PacketList::DELETEPLAYER:
|
||||
// //
|
||||
// break;
|
||||
@@ -195,6 +198,7 @@ void Lobby::PushServer(PacketData* packet) {
|
||||
|
||||
void Lobby::JoinRequest(ServerData* server) {
|
||||
if (!server) {
|
||||
//CAN receive null
|
||||
return;
|
||||
}
|
||||
PacketData p;
|
||||
|
||||
Reference in New Issue
Block a user