make draw order separate from Z value

add "PageType" graphic to ScreenEvaluation
This commit is contained in:
Chris Danford
2004-05-02 03:01:27 +00:00
parent 82595ecfe1
commit 58d63cb476
24 changed files with 120 additions and 66 deletions
+12 -5
View File
@@ -28,6 +28,13 @@ void ActorFrame::AddChild( Actor* pActor )
m_SubActors.push_back( pActor );
}
void ActorFrame::RemoveChild( Actor* pActor )
{
vector<Actor*>::iterator iter = find( m_SubActors.begin(), m_SubActors.end(), pActor );
if( iter != m_SubActors.end() )
m_SubActors.erase( iter );
}
void ActorFrame::MoveToTail( Actor* pActor )
{
vector<Actor*>::iterator iter = find( m_SubActors.begin(), m_SubActors.end(), pActor );
@@ -130,15 +137,15 @@ float ActorFrame::GetTweenTimeLeft() const
}
bool CompareActorsByZDesc(const Actor *p1, const Actor *p2)
bool CompareActorsByDrawOrder(const Actor *p1, const Actor *p2)
{
return p1->GetZ() > p2->GetZ();
return p1->GetDrawOrder() < p2->GetDrawOrder();
}
void ActorFrame::SortByZ()
void ActorFrame::SortByDrawOrder()
{
// Preserve ordering of Actors with equal Z values.
stable_sort( m_SubActors.begin(), m_SubActors.end(), CompareActorsByZDesc );
// Preserve ordering of Actors with equal DrawOrders.
stable_sort( m_SubActors.begin(), m_SubActors.end(), CompareActorsByDrawOrder );
}
void ActorFrame::DeleteAllChildren()