the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2#include "..\Minecraft.World\MerchantMenu.h"
3
4class MerchantRecipe;
5
6class IUIScene_TradingMenu
7{
8protected:
9 MerchantMenu *m_menu;
10 shared_ptr<Merchant> m_merchant;
11 vector< pair<MerchantRecipe *,int> > m_activeOffers;
12
13 int m_validOffersCount;
14 int m_selectedSlot;
15 int m_offersStartIndex;
16 bool m_bHasUpdatedOnce;
17
18 eTutorial_State m_previousTutorialState;
19
20 static const int DISPLAY_TRADES_COUNT = 7;
21
22 static const int BUY_A = MerchantMenu::USE_ROW_SLOT_END;
23 static const int BUY_B = BUY_A + 1;
24 static const int TRADES_START = BUY_B + 1;
25
26protected:
27 IUIScene_TradingMenu();
28
29 bool handleKeyDown(int iPad, int iAction, bool bRepeat);
30 void handleTick();
31
32 virtual void showScrollRightArrow(bool show) = 0;
33 virtual void showScrollLeftArrow(bool show) = 0;
34 virtual void moveSelector(bool right) = 0;
35 virtual void setRequest1Name(const wstring &name) = 0;
36 virtual void setRequest2Name(const wstring &name) = 0;
37 virtual void setTitle(const wstring &name) = 0;
38
39 virtual void setRequest1RedBox(bool show) = 0;
40 virtual void setRequest2RedBox(bool show) = 0;
41 virtual void setTradeRedBox(int index, bool show) = 0;
42
43 virtual void setOfferDescription(vector<HtmlString> *description) = 0;
44
45 virtual void setRequest1Item(shared_ptr<ItemInstance> item);
46 virtual void setRequest2Item(shared_ptr<ItemInstance> item);
47 virtual void setTradeItem(int index, shared_ptr<ItemInstance> item);
48
49 void updateDisplay();
50 void HandleInventoryUpdated();
51
52private:
53 bool canMake(MerchantRecipe *recipe);
54
55 vector<HtmlString> *GetItemDescription(shared_ptr<ItemInstance> item);
56
57public:
58 shared_ptr<Merchant> getMerchant();
59
60 virtual int getPad() = 0;
61};