31 lines
568 B
C++
31 lines
568 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
#include <server/IServerSocket.h>
|
|
#include <server/IServerState.h>
|
|
|
|
namespace td {
|
|
namespace server {
|
|
|
|
class Server {
|
|
private:
|
|
std::shared_ptr<IServerState> m_State;
|
|
std::unique_ptr<IServerSocket> m_Socket;
|
|
|
|
public:
|
|
Server(std::unique_ptr<IServerSocket>&& a_Socket) : m_Socket(std::move(a_Socket)) {}
|
|
|
|
void Update(float a_Delta) {
|
|
m_State->Update(a_Delta);
|
|
}
|
|
|
|
void UpdateState(const std::shared_ptr<IServerState>& a_State) {
|
|
m_State = a_State;
|
|
m_State->SetServer(this);
|
|
}
|
|
|
|
};
|
|
|
|
} // namespace server
|
|
} // namespace td
|