//
// Created by Dan Crosby on 12/5/21.
//

#ifndef EAGLE0_GAMESTATEGUESSER_HPP
#define EAGLE0_GAMESTATEGUESSER_HPP

#include "src/main/cpp/net/eagle0/shardok/library/GameStateW.hpp"
#include "src/main/cpp/net/eagle0/shardok/library/settings/GameSettings.hpp"
#include "src/main/protobuf/net/eagle0/shardok/api/game_state_view.pb.h"

namespace shardok {

using GameStateView = net::eagle0::shardok::api::GameStateView;

class GameStateGuesser {
public:
    [[nodiscard]] static auto GuessedState(
            PlayerId pid,
            const SettingsGetter &settings,
            const GameStateView &gameStateView) -> GameStateW;
};

}  // namespace shardok

#endif  // EAGLE0_GAMESTATEGUESSER_HPP
