the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 128 lines 4.3 kB view raw
1#pragma once 2using namespace std; 3#include "..\Media\xuiscene_trading.h" 4#include "..\UI\IUIScene_TradingMenu.h" 5 6#define TRADING_UPDATE_TIMER_ID (10) 7#define TRADING_UPDATE_TIMER_TIME (50) 8 9//-------------------------------------------------------------------------------------- 10// Scene implementation class. 11//-------------------------------------------------------------------------------------- 12class CXuiSceneTrading : public CXuiSceneImpl, public IUIScene_TradingMenu 13{ 14public: 15 16 // Define the class. The class name must match the ClassOverride property 17 // set for the scene in the UI Authoring tool. 18 XUI_IMPLEMENT_CLASS( CXuiSceneTrading, L"CXuiSceneTrading", XUI_CLASS_SCENE ) 19 20private: 21 CXuiCtrlCraftIngredientSlot *m_request1Control; 22 CXuiCtrlCraftIngredientSlot *m_request2Control; 23 24 CXuiCtrlCraftIngredientSlot *m_tradeHSlots[7]; 25 26 CXuiControl m_request1Label, m_request2Label; 27 CXuiControl m_inventoryLabel, m_requiredLabel; 28 29 CXuiControl m_villagerText; 30 CXuiControl m_scrollLeft, m_scrollRight, m_tradingSelector; 31 32 CXuiControl m_sceneGroup; 33 CXuiElement m_hGridInventory; 34 35 CXuiCtrlSlotList* m_inventoryControl; 36 CXuiCtrlSlotList* m_useRowControl; 37 38 CXuiControl m_offerInfoControl; 39 HXUIOBJ m_hOfferInfoTextMeasurer; 40 HXUIOBJ m_hOfferInfoText; 41 HXUIOBJ m_hOfferInfoTextBkg; 42 43protected: 44 XUI_BEGIN_MSG_MAP() 45 XUI_ON_XM_INIT( OnInit ) 46 XUI_ON_XM_KEYDOWN( OnKeyDown ) 47 XUI_ON_XM_DESTROY( OnDestroy ) 48 XUI_ON_XM_TIMER( OnTimer ) 49 XUI_ON_XM_SPLITSCREENPLAYER_MESSAGE(OnCustomMessage_Splitscreenplayer) 50 XUI_ON_XM_TRANSITION_START(OnTransitionStart) 51 XUI_END_MSG_MAP() 52 53 // Control mapping to objects 54 BEGIN_CONTROL_MAP() 55 MAP_CONTROL(IDC_Group, m_sceneGroup) 56 BEGIN_MAP_CHILD_CONTROLS( m_sceneGroup ) 57 MAP_OVERRIDE(IDC_Request1, m_request1Control) 58 MAP_OVERRIDE(IDC_Request2, m_request2Control) 59 60 MAP_OVERRIDE(IDC_TradingBar0, m_tradeHSlots[0]) 61 MAP_OVERRIDE(IDC_TradingBar1, m_tradeHSlots[1]) 62 MAP_OVERRIDE(IDC_TradingBar2, m_tradeHSlots[2]) 63 MAP_OVERRIDE(IDC_TradingBar3, m_tradeHSlots[3]) 64 MAP_OVERRIDE(IDC_TradingBar4, m_tradeHSlots[4]) 65 MAP_OVERRIDE(IDC_TradingBar5, m_tradeHSlots[5]) 66 MAP_OVERRIDE(IDC_TradingBar6, m_tradeHSlots[6]) 67 68 MAP_CONTROL(IDC_Offer1Label, m_request1Label) 69 MAP_CONTROL(IDC_Offer2Label, m_request2Label) 70 71 MAP_CONTROL(IDC_VillagerText,m_villagerText) 72 MAP_CONTROL(IDC_InventoryLabel,m_inventoryLabel) 73 MAP_CONTROL(IDC_RequiredLabel,m_requiredLabel) 74 75 MAP_CONTROL(IDC_ScrollLeftArrow,m_scrollLeft) 76 MAP_CONTROL(IDC_ScrollRightArrow,m_scrollRight) 77 MAP_CONTROL(IDC_TradingSelector,m_tradingSelector) 78 79 MAP_CONTROL(IDC_HtmlTextPanel,m_offerInfoControl) 80 81 MAP_CONTROL(IDC_InventoryGrid, m_hGridInventory) 82 BEGIN_MAP_CHILD_CONTROLS(m_hGridInventory) 83 MAP_OVERRIDE(IDC_Inventory, m_inventoryControl) 84 MAP_OVERRIDE(IDC_UseRow, m_useRowControl) 85 END_MAP_CHILD_CONTROLS() 86 END_MAP_CHILD_CONTROLS() 87 END_CONTROL_MAP() 88 89 HRESULT OnInit( XUIMessageInit* pInitData, BOOL& bHandled ); 90 HRESULT OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled); 91 HRESULT OnDestroy(); 92 HRESULT OnTimer( XUIMessageTimer *pTimer, BOOL& bHandled ); 93 HRESULT OnCustomMessage_Splitscreenplayer(bool bJoining, BOOL& bHandled); 94 HRESULT OnTransitionStart( XUIMessageTransition *pTransition, BOOL& bHandled ); 95 96protected: 97 int m_iPad; 98 D3DXVECTOR3 m_OriginalPosition; 99 bool m_bSplitscreen; 100 101public: 102 int getPad() { return m_iPad; } 103 104private: 105 106 float m_fSlotSize; 107 D3DXVECTOR3 m_vTradeSlot0Pos; 108 D3DXVECTOR3 m_vSelectorInitialPos; 109 110 int mapVKToAction(int vk); 111protected: 112 virtual void showScrollRightArrow(bool show); 113 virtual void showScrollLeftArrow(bool show); 114 virtual void moveSelector(bool right); 115 virtual void setRequest1Name(const wstring &name); 116 virtual void setRequest2Name(const wstring &name); 117 virtual void setTitle(const wstring &name); 118 119 virtual void setRequest1RedBox(bool show); 120 virtual void setRequest2RedBox(bool show); 121 virtual void setTradeRedBox(int index, bool show); 122 123 virtual void setRequest1Item(shared_ptr<ItemInstance> item); 124 virtual void setRequest2Item(shared_ptr<ItemInstance> item); 125 virtual void setTradeItem(int index, shared_ptr<ItemInstance> item); 126 127 virtual void setOfferDescription(const wstring &name, vector<wstring> &unformattedStrings); 128};