the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at master 61 lines 1.7 kB view raw
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};