experimental: load 'decorations' BGAnimation and make decorations children of the Screen so that their draworder relative to other children of the Screen can be controlled

This commit is contained in:
Chris Danford
2008-03-28 16:28:27 +00:00
parent 08a2f6f6c2
commit a62145d3d3
3 changed files with 21 additions and 4 deletions
+7
View File
@@ -144,6 +144,13 @@ void ActorFrame::RemoveChild( Actor* pActor )
m_SubActors.erase( iter ); m_SubActors.erase( iter );
} }
void ActorFrame::TransferChildren( ActorFrame *pTo )
{
FOREACH( Actor*, m_SubActors, i )
pTo->AddChild( *i );
RemoveAllChildren();
}
Actor* ActorFrame::GetChild( const RString &sName ) Actor* ActorFrame::GetChild( const RString &sName )
{ {
FOREACH( Actor*, m_SubActors, a ) FOREACH( Actor*, m_SubActors, a )
+1
View File
@@ -18,6 +18,7 @@ public:
virtual void AddChild( Actor *pActor ); virtual void AddChild( Actor *pActor );
virtual void RemoveChild( Actor *pActor ); virtual void RemoveChild( Actor *pActor );
void TransferChildren( ActorFrame *pTo );
Actor* GetChild( const RString &sName ); Actor* GetChild( const RString &sName );
int GetNumChildren() const { return m_SubActors.size(); } int GetNumChildren() const { return m_SubActors.size(); }
+9
View File
@@ -93,6 +93,15 @@ void ScreenWithMenuElements::Init()
this->AddChild( m_sprOverlay ); this->AddChild( m_sprOverlay );
LOAD_ALL_COMMANDS( m_sprOverlay ); LOAD_ALL_COMMANDS( m_sprOverlay );
/* Experimental: Load "decorations" and make them children of the screen. */
{
AutoActor decorations;
decorations.Load( THEME->GetPathB(m_sName,"decorations") );
ActorFrame *pFrame = dynamic_cast<ActorFrame*>((Actor*)decorations);
if( pFrame )
pFrame->TransferChildren( this );
}
m_In.SetName( "In" ); m_In.SetName( "In" );
m_In.Load( THEME->GetPathB(m_sName,"in") ); m_In.Load( THEME->GetPathB(m_sName,"in") );
m_In.SetDrawOrder( DRAW_ORDER_TRANSITIONS ); m_In.SetDrawOrder( DRAW_ORDER_TRANSITIONS );