Updates
This commit is contained in:
@@ -402,6 +402,15 @@ bool WheelBase::Select() // return true if this selection ends the screen
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WheelItemBaseData* WheelBase::GetItem(unsigned int index) // return true if this selection ends the screen
|
||||||
|
{
|
||||||
|
if (!m_isEmpty)
|
||||||
|
if (index < m_WheelBaseItemsData.size())
|
||||||
|
return m_WheelBaseItemsData[index];
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
int WheelBase::IsMoving() const
|
int WheelBase::IsMoving() const
|
||||||
{
|
{
|
||||||
return m_Moving && m_TimeBeforeMovingBegins == 0;
|
return m_Moving && m_TimeBeforeMovingBegins == 0;
|
||||||
@@ -584,7 +593,6 @@ void WheelBase::AddItem(WheelItemBaseData* itemdata)
|
|||||||
if ((0 <= (index - visible)) && ((index - visible) < NUM_WHEEL_ITEMS))
|
if ((0 <= (index - visible)) && ((index - visible) < NUM_WHEEL_ITEMS))
|
||||||
{
|
{
|
||||||
RebuildWheelItems();
|
RebuildWheelItems();
|
||||||
SCREENMAN->SystemMessageNoAnimate("redraw");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -629,19 +637,15 @@ void WheelBase::RebuildWheelItems( int dist )
|
|||||||
|
|
||||||
if( dist == -999999 )
|
if( dist == -999999 )
|
||||||
{
|
{
|
||||||
LOG->Info("data:%d", m_WheelBaseItemsData.size());
|
|
||||||
// Refresh all
|
// Refresh all
|
||||||
for( int i=0; i<NUM_WHEEL_ITEMS; i++ )
|
for( int i=0; i<NUM_WHEEL_ITEMS; i++ )
|
||||||
{
|
{
|
||||||
LOG->Info("i:%d", i);
|
|
||||||
int iIndex = iFirstVisibleIndex + i;
|
int iIndex = iFirstVisibleIndex + i;
|
||||||
wrap( iIndex, m_WheelBaseItemsData.size() );
|
wrap( iIndex, m_WheelBaseItemsData.size() );
|
||||||
LOG->Info("iIndex:%d", iIndex);
|
|
||||||
|
|
||||||
|
|
||||||
WheelItemBaseData *data = m_WheelBaseItemsData[iIndex];
|
WheelItemBaseData *data = m_WheelBaseItemsData[iIndex];
|
||||||
WheelItemBase *display = m_WheelBaseItems[i];
|
WheelItemBase *display = m_WheelBaseItems[i];
|
||||||
LOG->Info("DISP");
|
|
||||||
display->LoadFromWheelItemBaseData( data );
|
display->LoadFromWheelItemBaseData( data );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,10 +45,13 @@ public:
|
|||||||
virtual bool Select(); // return true if this selection ends the screen
|
virtual bool Select(); // return true if this selection ends the screen
|
||||||
|
|
||||||
bool WheelIsLocked() { return (m_WheelState == STATE_LOCKED ? true : false); }
|
bool WheelIsLocked() { return (m_WheelState == STATE_LOCKED ? true : false); }
|
||||||
void RebuildWheelItems( int dist = -999999 ); // -999999 = refresh all
|
virtual void RebuildWheelItems( int dist = -999999 ); // -999999 = refresh all
|
||||||
|
|
||||||
void AddItem( WheelItemBaseData* itemdata );
|
void AddItem( WheelItemBaseData* itemdata );
|
||||||
void RemoveItem( int index );
|
void RemoveItem( int index );
|
||||||
|
inline unsigned int GetNumItems() { return m_WheelBaseItemsData.size(); }
|
||||||
|
inline bool IsEmpty() { return m_isEmpty; }
|
||||||
|
WheelItemBaseData* GetItem(unsigned int index);
|
||||||
WheelItemBaseData* LastSelected();
|
WheelItemBaseData* LastSelected();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@@ -16,10 +16,6 @@
|
|||||||
#include "ActorUtil.h"
|
#include "ActorUtil.h"
|
||||||
#include "ThemeMetric.h"
|
#include "ThemeMetric.h"
|
||||||
|
|
||||||
ThemeMetric<float> TEXT_X ("WheelItemBase","TextX");
|
|
||||||
ThemeMetric<float> TEXT_Y ("WheelItemBase","TextY");
|
|
||||||
ThemeMetric<apActorCommands> TEXT_ON_COMMAND ("WheelItemBase","TextOnCommand");
|
|
||||||
|
|
||||||
WheelItemBaseData::WheelItemBaseData( WheelItemType wit, CString sText, RageColor color )
|
WheelItemBaseData::WheelItemBaseData( WheelItemType wit, CString sText, RageColor color )
|
||||||
{
|
{
|
||||||
m_Type = wit;
|
m_Type = wit;
|
||||||
@@ -29,17 +25,25 @@ WheelItemBaseData::WheelItemBaseData( WheelItemType wit, CString sText, RageColo
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
WheelItemBase::WheelItemBase()
|
WheelItemBase::WheelItemBase(CString sType)
|
||||||
{
|
{
|
||||||
SetName( "WheelItemBase" );
|
SetName( sType );
|
||||||
|
Load(sType);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WheelItemBase::Load( CString sType )
|
||||||
|
{
|
||||||
|
TEXT_X .Load(sType,"TextX");
|
||||||
|
TEXT_Y .Load(sType,"TextY");
|
||||||
|
TEXT_ON_COMMAND .Load(sType,"TextOnCommand");
|
||||||
|
|
||||||
m_fPercentGray = 0;
|
m_fPercentGray = 0;
|
||||||
|
|
||||||
m_sprBar.Load( THEME->GetPathG("WheelItemBase","bar") );
|
m_sprBar.Load( THEME->GetPathG(sType,"bar") );
|
||||||
m_sprBar.SetXY( 0, 0 );
|
m_sprBar.SetXY( 0, 0 );
|
||||||
this->AddChild( &m_sprBar );
|
this->AddChild( &m_sprBar );
|
||||||
|
|
||||||
m_text.LoadFromFont( THEME->GetPathF("WheelItemBase","text") );
|
m_text.LoadFromFont( THEME->GetPathF(sType,"text") );
|
||||||
m_text.SetShadowLength( 0 );
|
m_text.SetShadowLength( 0 );
|
||||||
m_text.SetXY( TEXT_X, TEXT_Y );
|
m_text.SetXY( TEXT_X, TEXT_Y );
|
||||||
m_text.RunCommands( TEXT_ON_COMMAND );
|
m_text.RunCommands( TEXT_ON_COMMAND );
|
||||||
|
|||||||
@@ -28,12 +28,14 @@ enum WheelItemType
|
|||||||
class WheelItemBase : public ActorFrame
|
class WheelItemBase : public ActorFrame
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WheelItemBase();
|
WheelItemBase(CString sType = "WheelItemBase");
|
||||||
WheelItemBaseData* data;
|
WheelItemBaseData* data;
|
||||||
virtual void Update( float fDeltaTime );
|
virtual void Update( float fDeltaTime );
|
||||||
virtual void DrawPrimitives(Sprite& bar);
|
virtual void DrawPrimitives(Sprite& bar);
|
||||||
virtual void DrawPrimitives() { DrawPrimitives( m_sprBar ); }
|
virtual void DrawPrimitives() { DrawPrimitives( m_sprBar ); }
|
||||||
|
|
||||||
|
void Load( CString sType );
|
||||||
|
|
||||||
virtual void LoadFromWheelItemBaseData( WheelItemBaseData* pWID );
|
virtual void LoadFromWheelItemBaseData( WheelItemBaseData* pWID );
|
||||||
|
|
||||||
float m_fPercentGray;
|
float m_fPercentGray;
|
||||||
@@ -43,6 +45,11 @@ public:
|
|||||||
WheelItemType m_Type;
|
WheelItemType m_Type;
|
||||||
RageColor m_color;
|
RageColor m_color;
|
||||||
|
|
||||||
|
ThemeMetric<float> TEXT_X;
|
||||||
|
ThemeMetric<float> TEXT_Y;
|
||||||
|
ThemeMetric<float> TEXT_WIDTH;
|
||||||
|
ThemeMetric<apActorCommands> TEXT_ON_COMMAND;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct WheelItemBaseData
|
struct WheelItemBaseData
|
||||||
|
|||||||
Reference in New Issue
Block a user