#pragma once

#include <ReferenceCounter.h>
#include "KSGNetwork.h"
#include "FactoryClient.h"

class NetworkHandler : public virtual Framework::ReferenceCounter
{
private:
    KSGClient::MainServerClient *msc;
    KSGClient::LoginServerClient *lsc;
    KSGClient::MinigameServerClient *gsc;
    KSGClient::ErhaltungServerClient *esc;
    FactoryClient *fc;
    int accountId;

public:
    NetworkHandler();
    ~NetworkHandler();

    bool login( Framework::Text name, Framework::Text password );
    bool connect( Text ip, short port );
    FactoryClient *zFactoryClient() const;
    bool leaveGame();
};