move ClientSimulation in Client
This commit is contained in:
@@ -29,8 +29,9 @@ class StateMachine {
|
||||
}
|
||||
|
||||
template <typename T, typename... Args>
|
||||
void ChangeState(Args&&... args) {
|
||||
T* ChangeState(Args&&... args) {
|
||||
m_State = std::make_unique<T>(static_cast<TDerived&>(*this), std::forward<Args>(args)...);
|
||||
return static_cast<T*>(m_State.get());
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
@@ -5,19 +5,17 @@
|
||||
#include <td/display/DisplayState.h>
|
||||
#include <td/render/Renderer.h>
|
||||
#include <td/simulation/ClientSimulation.h>
|
||||
#include <client/state/GameState.h>
|
||||
|
||||
namespace td {
|
||||
|
||||
class ClientHandler;
|
||||
|
||||
class DebugWorldState : public DisplayState {
|
||||
private:
|
||||
render::RenderPipeline m_Renderer;
|
||||
render::Camera m_Camera;
|
||||
std::unique_ptr<client::Client> m_Client;
|
||||
std::unique_ptr<server::Server> m_Server;
|
||||
std::unique_ptr<sim::ClientSimulation> m_Simulation;
|
||||
render::Camera m_Camera;
|
||||
std::unique_ptr<ClientHandler> m_ClientHandler;
|
||||
client::GameState* m_ClientState;
|
||||
|
||||
public:
|
||||
DebugWorldState(Display& a_Display);
|
||||
|
||||
@@ -14,7 +14,7 @@ using GameBuffer = std::vector<std::optional<td::protocol::LockStep>>;
|
||||
class ClientSimulation : public protocol::PacketHandler {
|
||||
private:
|
||||
std::uint64_t m_StepTime;
|
||||
game::World& m_World;
|
||||
std::shared_ptr<game::World> m_World;
|
||||
GameBuffer m_History;
|
||||
float m_CurrentTime;
|
||||
StepTime m_CurrentStep;
|
||||
@@ -33,13 +33,13 @@ class ClientSimulation : public protocol::PacketHandler {
|
||||
* \brief Replay constructor
|
||||
* \param a_StepTime in ms
|
||||
*/
|
||||
ClientSimulation(game::World& a_World, GameHistory&& a_History, std::uint64_t a_StepTime);
|
||||
ClientSimulation(std::shared_ptr<game::World> a_World, GameHistory&& a_History, std::uint64_t a_StepTime);
|
||||
|
||||
/**
|
||||
* \brief Live update constructor (continuous game updates)
|
||||
* \param a_StepTime in ms
|
||||
*/
|
||||
ClientSimulation(game::World& a_World, std::uint64_t a_StepTime);
|
||||
ClientSimulation(std::shared_ptr<game::World> a_World, std::uint64_t a_StepTime);
|
||||
|
||||
/**
|
||||
* \return the progress [0-1] between two steps
|
||||
|
||||
Reference in New Issue
Block a user