Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
3.9 kB · 174 lines
C++
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174#include "stdafx.h"#include "XUI_Ctrl_SliderWrapper.h"
#define NO_SOUND_TIMER 0
HRESULT CXuiCtrlSliderWrapper::OnInit( XUIMessageInit* pInitData, BOOL& bHandled ){ VOID *pObj; HXUIOBJ hObjChild;
XuiElementGetChildById(m_hObj,L"FocusSink",&hObjChild); XuiObjectFromHandle( hObjChild, &pObj ); m_pFocusSink = (CXuiControl *)pObj;
XuiElementGetChildById(m_hObj,L"XuiSlider",&hObjChild); XuiObjectFromHandle( hObjChild, &pObj ); m_pSlider = (CXuiSlider *)pObj;
m_sliderActive = false; m_bDisplayVal=true; m_bPlaySound=false; // make this false to avoid a sound being played in the first setting of the slider value in a scene XuiSetTimer( m_hObj,NO_SOUND_TIMER,50); bHandled = TRUE; return S_OK;}
HRESULT CXuiCtrlSliderWrapper::OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled){ ui.AnimateKeyPress(pInputData->UserIndex, pInputData->dwKeyCode);
// switch(pInputData->dwKeyCode)// {
// case VK_PAD_A:// // 4J-PB - IGNORE !// if(m_sliderActive)// {// m_pFocusSink->SetFocus(pInputData->UserIndex);// m_sliderActive = false;// }// else// {// m_pSlider->SetFocus(pInputData->UserIndex);// m_sliderActive = true;// }// rfHandled = TRUE;// // break;// default:// m_pSlider->SetFocus(pInputData->UserIndex);// m_sliderActive = false;// break;// // }// return S_OK;}
HRESULT CXuiCtrlSliderWrapper::OnNotifyValueChanged (HXUIOBJ hObjSource, XUINotifyValueChanged* pValueChangedData, BOOL& rfHandled){ XUIMessage Message; XUINotify Notify; XUINotifyValueChanged MsgValueChanged; HRESULT hr; HXUIOBJ hObj; if(m_bPlaySound) { m_bPlaySound=false; CXuiSceneBase::PlayUISFX(eSFX_Scroll); XuiSetTimer( m_hObj,NO_SOUND_TIMER,150); }
//app.DebugPrintf("Slider val changed - %d\n",pValueChangedData->nValue);
XuiNotifyValueChanged(&Message,&Notify,&MsgValueChanged,hObjSource,pValueChangedData->nValue);
hr = GetParent(&hObj);
if (HRESULT_SUCCEEDED(hr)) { hr = XuiBubbleMessage(hObj, &Message); rfHandled = TRUE; } return S_OK;}
HRESULT CXuiCtrlSliderWrapper::OnTimer(XUIMessageTimer *pData,BOOL& rfHandled){ if(pData->nId==NO_SOUND_TIMER) { XuiKillTimer(m_hObj,NO_SOUND_TIMER); m_bPlaySound=true; }
return S_OK;}
HRESULT CXuiCtrlSliderWrapper::SetValue( int nValue ){ CXuiCtrlSliderWrapper *pThis; HRESULT hr = XuiObjectFromHandle(m_hObj, (void **) &pThis); if (FAILED(hr)) return hr;
pThis->m_pSlider->SetValue(nValue); return S_OK;}
HRESULT CXuiCtrlSliderWrapper::SetValueDisplay( BOOL bShow ){ CXuiCtrlSliderWrapper *pThis; HXUIOBJ hVisual,hText; HRESULT hr = XuiObjectFromHandle(m_hObj, (void **) &pThis); if (FAILED(hr)) return hr;
hr=XuiControlGetVisual(pThis->m_pSlider->m_hObj,&hVisual); hr=XuiElementGetChildById(hVisual,L"Text_Value",&hText);
if(hText!=NULL) { XuiElementSetShow(hText,bShow); }
return S_OK;}
LPCWSTR CXuiCtrlSliderWrapper::GetText( ){ CXuiCtrlSliderWrapper *pThis; HRESULT hr = XuiObjectFromHandle(m_hObj, (void **) &pThis); if (FAILED(hr)) return NULL; return pThis->m_pSlider->GetText(); //return S_OK;}
HRESULT CXuiCtrlSliderWrapper::SetText(LPCWSTR text , int iDataAssoc){ CXuiCtrlSliderWrapper *pThis; HRESULT hr = XuiObjectFromHandle(m_hObj, (void **) &pThis); if (FAILED(hr)) return hr;
// if there's a data assoc value, find the right control for it if(iDataAssoc!=0) {
}
pThis->m_pSlider->SetText(text); return hr;}
HXUIOBJ CXuiCtrlSliderWrapper::GetSlider(){ CXuiCtrlSliderWrapper *pThis; HRESULT hr = XuiObjectFromHandle(m_hObj, (void **) &pThis); if (FAILED(hr)) return NULL; return pThis->m_pSlider->m_hObj;}
HRESULT CXuiCtrlSliderWrapper::SetRange( int nRangeMin, int nRangeMax){ CXuiCtrlSliderWrapper *pThis; HRESULT hr = XuiObjectFromHandle(m_hObj, (void **) &pThis); if (FAILED(hr)) return hr; pThis->m_pSlider->SetRange(nRangeMin, nRangeMax); return S_OK;}