Merge remote-tracking branch 'origin/master' into FixNetworkBugs
# Conflicts: # include/Engine/Network/Client.h # include/Engine/Network/MessageType.h # include/Engine/Network/Server.h # include/Engine/Network/TCPServer.h # src/Engine/Network/Client.cpp # src/Engine/Network/TCPServer.cpp
This commit is contained in:
@@ -25,6 +25,19 @@
|
||||
#include "Network/EInterpolate.h"
|
||||
#include "Network/SnapshotFilter.h"
|
||||
#include "Core/EPlayerSpawned.h"
|
||||
#include "Network/ESearchForServers.h"
|
||||
|
||||
struct ServerInfo
|
||||
{
|
||||
ServerInfo(std::string a, int b, std::string c, int d)
|
||||
{
|
||||
Address = a; Port = b; Name = c; PlayersConnected = d;
|
||||
}
|
||||
std::string Address = "";
|
||||
int Port = 0;
|
||||
std::string Name = "";
|
||||
int PlayersConnected = 0;
|
||||
};
|
||||
|
||||
class Client : public Network
|
||||
{
|
||||
@@ -85,19 +98,23 @@ private:
|
||||
void parseTCPConnect(Packet& packet);
|
||||
void parsePlayerConnected(Packet& packet);
|
||||
void parsePing();
|
||||
void parseServerlist(Packet& packet);
|
||||
void parseKick();
|
||||
void parsePlayersSpawned(Packet& packet);
|
||||
void parseEntityDeletion(Packet& packet);
|
||||
void parsePlayerDamage(Packet& packet);
|
||||
void parseComponentDeletion(Packet& packet);
|
||||
void parseDoubleJump(Packet& packet);
|
||||
void InterpolateFields(Packet & packet, const ComponentInfo & componentInfo, const EntityID & entityID, const std::string & componentType);
|
||||
void parseSnapshot(Packet& packet);
|
||||
void UpdateLocalCapturePointHUD(EntityWrapper capturePointHUD);
|
||||
void identifyPacketLoss();
|
||||
void hasServerTimedOut();
|
||||
EntityID createPlayer();
|
||||
void sendInputCommands();
|
||||
void sendLocalPlayerTransform();
|
||||
void becomePlayer();
|
||||
void displayServerlist();
|
||||
// Mapping Logic
|
||||
// Returns if local EntityID exist in map
|
||||
bool clientServerMapsHasEntity(EntityID clientEntityID);
|
||||
@@ -113,9 +130,15 @@ private:
|
||||
bool OnPlayerDamage(const Events::PlayerDamage& e);
|
||||
EventRelay<Client, Events::PlayerSpawned> m_EPlayerSpawned;
|
||||
bool OnPlayerSpawned(const Events::PlayerSpawned& e);
|
||||
void parsePlayerDamage(Packet& packet);
|
||||
EventRelay< Client, Events::SearchForServers> m_ESearchForServers;
|
||||
EventRelay<Client, Events::DoubleJump> m_EPDoubleJump;
|
||||
bool OnDoubleJump(Events::DoubleJump & e);
|
||||
bool OnSearchForServers(const Events::SearchForServers& e);
|
||||
UDPClient m_ServerlistRequest;
|
||||
std::vector<ServerInfo> m_Serverlist;
|
||||
bool m_SearchingForServers = false;
|
||||
std::clock_t m_StartSearchTime;
|
||||
double m_SearchingTime = 2000; // Config I guess
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user