legatt 0f26b7423d Minor TODOs completed
- Rename states -> regions
- Threads unregistering from Logger
- Remove unnecessary references for primitive arguments in functions
- Marking classes as final for optimization
- Remove typo in Materials implementation file name
- Move some modules to partitions
2026-02-11 03:28:33 +03:00

51 lines
945 B
C++

module;
#include <cstdint>
export module Client;
import utils;
import GameData;
import DataChannel;
import AssetManager;
export
{
struct ClientCommand : public ee_utils::WorkerCommand
{
enum Type : std::uint8_t
{
NONE,
SEND,
COMPLETED
};
};
class Client final : public ee_utils::ThreadedWorker<ClientCommand, ClientCommand::COMPLETED>
{
public:
Client();
~Client();
void Init();
//void Send(); -> Request(SEND)
const IDataChannel* GetConnection();
void ConnectServer();
void LoadSave(const AssetHandle save);
protected:
void Update() override;
void Release() override;
private:
NetworkChannel *networkConnection = nullptr;
AssetHandle save;
void SendCmd(ClientCommand &command);
void ViewModelSubject(ee_data::Subject subject);
};
}