#ifndef LOGOUT_HPP_INCLUDED
#define LOGOUT_HPP_INCLUDED

#include "../../../Core/Types/Box.hpp"
#include "../../../Core/Classes/World.hpp"
#include "../../../Game/Interactable/Widget.hpp"
#include <cstdint>
#include <vector>

namespace Logout
{
    bool IsOpen();
    bool Open(bool UseHotkey = false);
    std::int32_t GetTabHotkey();
    bool LogoutPlayer();

    bool IsWorldSwitcherOpen(bool WaitToLoadWorlds = true);
    bool OpenWorldSwitcher(bool WaitToLoadWorlds = true);

    bool WorldSwitcherScrollTo(const Internal::World& World);
    bool WorldSwitcherScrollTo(std::int32_t WorldID);

    bool SwitchWorld(const Internal::World& World);
    bool SwitchWorld(std::int32_t WorldID);

    Interactable::Widget GetWorldWidget(const Internal::World& World);
    Interactable::Widget GetWorldWidget(std::int32_t  WorldID);
}

#endif // LOGOUT_HPP_INCLUDED
