4jcraft/Minecraft.Client/UI/Screens/MerchantScreen.h
2026-03-29 15:52:19 -05:00

32 lines
996 B
C++

#pragma once
#include "AbstractContainerScreen.h"
#include "../../../Minecraft.World/Containers/MerchantMenu.h"
#include "../../../Minecraft.World/Headers/net.minecraft.world.item.trading.h"
class TradeSwitchButton;
class MerchantScreen : public AbstractContainerScreen {
public:
MerchantScreen(std::shared_ptr<Inventory> inventory,
std::shared_ptr<Merchant> merchant, Level* level);
virtual ~MerchantScreen();
void init() override;
void removed() override;
void renderLabels() override;
void renderBg(float a) override;
void render(int xm, int ym, float a) override;
void tick() override;
void buttonClicked(Button* button) override;
std::shared_ptr<Merchant> getMerchant() { return merchant; }
private:
std::shared_ptr<Inventory> inventory;
std::shared_ptr<Merchant> merchant;
MerchantMenu* merchantMenu;
TradeSwitchButton* nextRecipeButton;
TradeSwitchButton* prevRecipeButton;
int currentRecipeIndex;
};