[WheelBase] Made WheelState a Lua-enabled enum, added GetWheelState() Lua binding.

This commit is contained in:
AJ Kelly
2012-03-08 18:46:54 -06:00
parent ccf29a15b7
commit 00a76ac1f9
3 changed files with 32 additions and 9 deletions
+16 -9
View File
@@ -14,6 +14,21 @@
#define NUM_WHEEL_ITEMS ((int)ceil(NUM_WHEEL_ITEMS_TO_DRAW+2))
enum WheelState {
STATE_SELECTING,
STATE_FLYING_OFF_BEFORE_NEXT_SORT,
STATE_FLYING_ON_AFTER_NEXT_SORT,
STATE_ROULETTE_SPINNING,
STATE_ROULETTE_SLOWING_DOWN,
STATE_RANDOM_SPINNING,
STATE_LOCKED,
NUM_WheelState,
WheelState_Invalid,
};
const RString& WheelStateToString( WheelState ws );
WheelState StringToWheelState( const RString& sDC );
LuaDeclareType( WheelState );
/** @brief A wheel with data elements. */
class WheelBase : public ActorFrame
{
@@ -38,6 +53,7 @@ public:
virtual bool Select(); // return true if this selection can end the screen
WheelState GetWheelState() { return m_WheelState; }
bool WheelIsLocked() { return (m_WheelState == STATE_LOCKED ? true : false); }
void RebuildWheelItems( int dist = INT_MAX ); // INT_MAX = refresh all
@@ -83,15 +99,6 @@ protected:
RageTimer m_MovingSoundTimer;
float m_TimeBeforeMovingBegins;
float m_SpinSpeed;
enum WheelState {
STATE_SELECTING,
STATE_FLYING_OFF_BEFORE_NEXT_SORT,
STATE_FLYING_ON_AFTER_NEXT_SORT,
STATE_ROULETTE_SPINNING,
STATE_ROULETTE_SLOWING_DOWN,
STATE_RANDOM_SPINNING,
STATE_LOCKED,
};
WheelState m_WheelState;
float m_fTimeLeftInState;