//
// Created by sebastian on 05.08.26.
//

#ifndef COLORRACE_IGAMESESSION_H
#define COLORRACE_IGAMESESSION_H
#include "ludo/LudoTypes.h"


class IGameSession {
public:
    virtual ~IGameSession() = default;

    // Befehle von der UI an das Spiel senden
    virtual void sendCommand(const std::variant<ludo::MovePieceCommand, ludo::RollDiceCommand> &command) {
    }

    // Events vom Spiel abholen, um die UI zu aktualisieren
    virtual std::vector<ludo::LudoEvent> pollEvents() = 0;
};


#endif //COLORRACE_IGAMESESSION_H
