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

32 lines
979 B
C++

#pragma once
#include "AbstractContainerScreen.h"
#include "../../../Minecraft.World/Containers/BeaconMenu.h"
#include "../../../Minecraft.World/Headers/net.minecraft.world.level.tile.entity.h"
class BeaconConfirmButton;
class BeaconCancelButton;
class BeaconScreen : public AbstractContainerScreen {
public:
BeaconScreen(std::shared_ptr<Inventory> inventory,
std::shared_ptr<BeaconTileEntity> beacon);
virtual ~BeaconScreen();
void init() override;
void removed() override;
void tick() override;
void renderLabels() override;
void renderBg(float a) override;
void render(int xm, int ym, float a) override;
void buttonClicked(Button* button) override;
std::shared_ptr<BeaconTileEntity> getBeacon() { return beacon; }
private:
std::shared_ptr<Inventory> inventory;
std::shared_ptr<BeaconTileEntity> beacon;
BeaconMenu* beaconMenu;
BeaconConfirmButton* beaconConfirmButton;
bool buttonsNotDrawn;
};