[WheelBase] Made WheelState a Lua-enabled enum, added GetWheelState() Lua binding.
This commit is contained in:
@@ -13,6 +13,8 @@ StepMania 5.0 alpha 2 | 201203??
|
|||||||
----------
|
----------
|
||||||
* [MusicWheel] Added RouletteStopped message, which is broadcast when Roulette
|
* [MusicWheel] Added RouletteStopped message, which is broadcast when Roulette
|
||||||
is finished and the wheel is locked. [AJ]
|
is finished and the wheel is locked. [AJ]
|
||||||
|
* [WheelBase] Made WheelState a Lua-enabled enum and added
|
||||||
|
GetWheelState() Lua binding. [AJ]
|
||||||
|
|
||||||
2012/03/07
|
2012/03/07
|
||||||
----------
|
----------
|
||||||
|
|||||||
@@ -19,6 +19,19 @@
|
|||||||
const int MAX_WHEEL_SOUND_SPEED = 15;
|
const int MAX_WHEEL_SOUND_SPEED = 15;
|
||||||
AutoScreenMessage( SM_SongChanged ); // TODO: Replace this with a Message and MESSAGEMAN
|
AutoScreenMessage( SM_SongChanged ); // TODO: Replace this with a Message and MESSAGEMAN
|
||||||
|
|
||||||
|
static const char *WheelStateNames[] = {
|
||||||
|
"Selecting",
|
||||||
|
"FlyingOffBeforeNextSort",
|
||||||
|
"FlyingOnAfterNextSort",
|
||||||
|
"RouletteSpinning",
|
||||||
|
"RouletteSlowingDown",
|
||||||
|
"RandomSpinning",
|
||||||
|
"Locked",
|
||||||
|
};
|
||||||
|
XToString( WheelState );
|
||||||
|
StringToX( WheelState );
|
||||||
|
LuaXType( WheelState );
|
||||||
|
|
||||||
WheelBase::~WheelBase()
|
WheelBase::~WheelBase()
|
||||||
{
|
{
|
||||||
FOREACH( WheelItemBase*, m_WheelBaseItems, i )
|
FOREACH( WheelItemBase*, m_WheelBaseItems, i )
|
||||||
@@ -535,6 +548,7 @@ public:
|
|||||||
//static int ChangeMusic( T* p, lua_State *L ){ p->ChangeMusicUnlessLocked( IArg(1) ); return 0; }
|
//static int ChangeMusic( T* p, lua_State *L ){ p->ChangeMusicUnlessLocked( IArg(1) ); return 0; }
|
||||||
|
|
||||||
DEFINE_METHOD( GetSelectedType, GetSelectedType() )
|
DEFINE_METHOD( GetSelectedType, GetSelectedType() )
|
||||||
|
DEFINE_METHOD( GetWheelState, GetWheelState() )
|
||||||
|
|
||||||
LunaWheelBase()
|
LunaWheelBase()
|
||||||
{
|
{
|
||||||
|
|||||||
+16
-9
@@ -14,6 +14,21 @@
|
|||||||
|
|
||||||
#define NUM_WHEEL_ITEMS ((int)ceil(NUM_WHEEL_ITEMS_TO_DRAW+2))
|
#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. */
|
/** @brief A wheel with data elements. */
|
||||||
class WheelBase : public ActorFrame
|
class WheelBase : public ActorFrame
|
||||||
{
|
{
|
||||||
@@ -38,6 +53,7 @@ public:
|
|||||||
|
|
||||||
virtual bool Select(); // return true if this selection can end the screen
|
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); }
|
bool WheelIsLocked() { return (m_WheelState == STATE_LOCKED ? true : false); }
|
||||||
void RebuildWheelItems( int dist = INT_MAX ); // INT_MAX = refresh all
|
void RebuildWheelItems( int dist = INT_MAX ); // INT_MAX = refresh all
|
||||||
|
|
||||||
@@ -83,15 +99,6 @@ protected:
|
|||||||
RageTimer m_MovingSoundTimer;
|
RageTimer m_MovingSoundTimer;
|
||||||
float m_TimeBeforeMovingBegins;
|
float m_TimeBeforeMovingBegins;
|
||||||
float m_SpinSpeed;
|
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;
|
WheelState m_WheelState;
|
||||||
float m_fTimeLeftInState;
|
float m_fTimeLeftInState;
|
||||||
|
|||||||
Reference in New Issue
Block a user