Double jump is now working.
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#include "Core/ConfigFile.h"
|
||||
#include "Input/EInputCommand.h"
|
||||
#include "Core/EPlayerDamage.h"
|
||||
#include "../Game/Events/EDoubleJump.h"
|
||||
#include "Network/EInterpolate.h"
|
||||
#include "Network/SnapshotFilter.h"
|
||||
#include "Core/EPlayerSpawned.h"
|
||||
@@ -34,7 +35,9 @@ public:
|
||||
|
||||
void Connect(std::string address, int port);
|
||||
void Update() override;
|
||||
|
||||
private:
|
||||
UDPClient m_Unreliable;
|
||||
TCPClient m_Reliable;
|
||||
std::vector<Events::PlayerSpawned> m_PlayerSpawnEvents;
|
||||
void parseSpawnEvents();
|
||||
// Save for children
|
||||
@@ -86,6 +89,7 @@ public:
|
||||
void parsePlayersSpawned(Packet& packet);
|
||||
void parseEntityDeletion(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 identifyPacketLoss();
|
||||
@@ -110,9 +114,8 @@ public:
|
||||
EventRelay<Client, Events::PlayerSpawned> m_EPlayerSpawned;
|
||||
bool OnPlayerSpawned(const Events::PlayerSpawned& e);
|
||||
void parsePlayerDamage(Packet& packet);
|
||||
private:
|
||||
UDPClient m_Unreliable;
|
||||
TCPClient m_Reliable;
|
||||
EventRelay<Client, Events::DoubleJump> m_EPDoubleJump;
|
||||
bool OnDoubleJump(Events::DoubleJump & e);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -19,6 +19,7 @@ enum class MessageType
|
||||
EntityDeleted,
|
||||
ComponentDeleted,
|
||||
PlayerTransform,
|
||||
OnDoubleJump,
|
||||
Invalid
|
||||
};
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "Core/EPlayerDamage.h"
|
||||
#include "Network/EPlayerDisconnected.h"
|
||||
#include "Core/EPlayerSpawned.h"
|
||||
#include "../Game/Events/EDoubleJump.h"
|
||||
#include "Core/EEntityDeleted.h"
|
||||
#include "Core/EComponentDeleted.h"
|
||||
|
||||
@@ -54,7 +55,7 @@ private:
|
||||
std::vector<Events::InputCommand> m_InputCommandsToBroadcast;
|
||||
//Timers
|
||||
std::clock_t m_StartPingTime;
|
||||
|
||||
|
||||
// Packet loss logic
|
||||
PacketID m_PacketID = 0;
|
||||
PacketID m_PreviousPacketID = 0;
|
||||
@@ -77,9 +78,10 @@ private:
|
||||
void parsePlayerTransform(Packet& packet);
|
||||
void parseOnInputCommand(Packet& packet);
|
||||
void parseClientPing();
|
||||
void parsePing();
|
||||
void parseUDPConnect(Packet & packet);
|
||||
void parseTCPConnect(Packet & packet);
|
||||
void parsePing();
|
||||
bool parseDoubleJump(Packet& packet);
|
||||
void parseUDPConnect(Packet& packet);
|
||||
void parseTCPConnect(Packet& packet);
|
||||
void parseDisconnect();
|
||||
bool shouldSendToClient(EntityWrapper childEntity);
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Events
|
||||
|
||||
struct DoubleJump : public Event
|
||||
{
|
||||
|
||||
EntityID entityID;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -34,9 +34,13 @@ private:
|
||||
glm::vec3 m_LastPosition = glm::vec3();
|
||||
// The logic for making the sound play when player is moving
|
||||
void playerStep(double dt);
|
||||
// Spawn a hexagon at origin of an Entity
|
||||
void spawnHexagon(EntityWrapper target);
|
||||
|
||||
EventRelay<PlayerMovementSystem, Events::PlayerSpawned> m_EPlayerSpawned;
|
||||
bool OnPlayerSpawned(Events::PlayerSpawned& e);
|
||||
EventRelay<PlayerMovementSystem, Events::DoubleJump> m_EPDoubleJump;
|
||||
bool PlayerMovementSystem::OnDoubleJump(Events::DoubleJump & e);
|
||||
|
||||
void updateMovementControllers(double dt);
|
||||
void updateVelocity(double dt);
|
||||
|
||||
Reference in New Issue
Block a user