add GetChild
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
#include "ActorCommands.h"
|
#include "ActorCommands.h"
|
||||||
#include "RageDisplay.h"
|
#include "RageDisplay.h"
|
||||||
#include "ScreenDimensions.h"
|
#include "ScreenDimensions.h"
|
||||||
|
#include "Foreach.h"
|
||||||
|
|
||||||
// lua start
|
// lua start
|
||||||
LUA_REGISTER_CLASS( ActorFrame )
|
LUA_REGISTER_CLASS( ActorFrame )
|
||||||
@@ -89,6 +90,16 @@ void ActorFrame::RemoveChild( Actor* pActor )
|
|||||||
m_SubActors.erase( iter );
|
m_SubActors.erase( iter );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Actor* ActorFrame::GetChild( const CString &sName )
|
||||||
|
{
|
||||||
|
FOREACH( Actor*, m_SubActors, a )
|
||||||
|
{
|
||||||
|
if( (*a)->GetName() == sName )
|
||||||
|
return *a;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
void ActorFrame::RemoveAllChildren()
|
void ActorFrame::RemoveAllChildren()
|
||||||
{
|
{
|
||||||
m_SubActors.clear();
|
m_SubActors.clear();
|
||||||
|
|||||||
@@ -12,10 +12,20 @@ public:
|
|||||||
LunaActorFrame() { LUA->Register( Register ); }
|
LunaActorFrame() { LUA->Register( Register ); }
|
||||||
|
|
||||||
static int propagate( T* p, lua_State *L ) { p->SetPropagateCommands( !!IArg(1) ); return 0; }
|
static int propagate( T* p, lua_State *L ) { p->SetPropagateCommands( !!IArg(1) ); return 0; }
|
||||||
|
static int GetChild( T* p, lua_State *L )
|
||||||
|
{
|
||||||
|
Actor *pChild = p->GetChild( SArg(1) );
|
||||||
|
if( pChild )
|
||||||
|
pChild->PushSelf( L );
|
||||||
|
else
|
||||||
|
lua_pushnil( L );
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static void Register(lua_State *L)
|
static void Register(lua_State *L)
|
||||||
{
|
{
|
||||||
ADD_METHOD( propagate )
|
ADD_METHOD( propagate )
|
||||||
|
ADD_METHOD( GetChild )
|
||||||
LunaActor<T>::Register( L );
|
LunaActor<T>::Register( L );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -31,6 +41,8 @@ public:
|
|||||||
|
|
||||||
virtual void AddChild( Actor* pActor );
|
virtual void AddChild( Actor* pActor );
|
||||||
virtual void RemoveChild( Actor* pActor );
|
virtual void RemoveChild( Actor* pActor );
|
||||||
|
Actor* GetChild( const CString &sName );
|
||||||
|
|
||||||
void RemoveAllChildren();
|
void RemoveAllChildren();
|
||||||
void MoveToTail( Actor* pActor );
|
void MoveToTail( Actor* pActor );
|
||||||
void MoveToHead( Actor* pActor );
|
void MoveToHead( Actor* pActor );
|
||||||
|
|||||||
Reference in New Issue
Block a user