27 lines
819 B
C++

#pragma once
#include "Cache/AbstractCacheReader.h"
#include "Game/IW4/IW4.h"
#include "Utils/ClassUtils.h"
namespace IW4
{
class MenuCacheReader final : public cache::AbstractCacheReader
{
public:
MenuCacheReader(std::istream& stream, MemoryManager& memory, ExpressionSupportingData* supportingData);
_NODISCARD Statement_s* ReadStatement() const;
_NODISCARD ItemKeyHandler* ReadItemKeyHandler() const;
_NODISCARD MenuEventHandler* ReadMenuEventHandler() const;
_NODISCARD MenuEventHandlerSet* ReadMenuEventHandlerSet() const;
void ReadWindowDef(windowDef_t& windowDef) const;
_NODISCARD itemDef_s* ReadItem() const;
_NODISCARD menuDef_t* ReadMenu() const;
ExpressionSupportingData* m_supporting_data;
};
} // namespace IW4