simplify
This commit is contained in:
@@ -154,25 +154,8 @@ static NoteResource *MakeNoteResource( const RString &sButton, const RString &sE
|
|||||||
return pRet;
|
return pRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
static NoteResource *FindNoteResource( const Actor *pActor )
|
static void DeleteNoteResource( NoteResource *pRes )
|
||||||
{
|
{
|
||||||
map<NoteSkinAndPath, NoteResource *>::iterator it;
|
|
||||||
for( it = g_NoteResource.begin(); it != g_NoteResource.end(); ++it )
|
|
||||||
{
|
|
||||||
NoteResource *pRes = it->second;
|
|
||||||
if( pRes->m_pActor == pActor )
|
|
||||||
return pRes;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void DeleteNoteResource( const Actor *pActor )
|
|
||||||
{
|
|
||||||
if( pActor == NULL )
|
|
||||||
return;
|
|
||||||
|
|
||||||
NoteResource *pRes = FindNoteResource( pActor );
|
|
||||||
ASSERT( pRes != NULL );
|
ASSERT( pRes != NULL );
|
||||||
|
|
||||||
ASSERT_M( pRes->m_iRefCount > 0, ssprintf("%i", pRes->m_iRefCount) );
|
ASSERT_M( pRes->m_iRefCount > 0, ssprintf("%i", pRes->m_iRefCount) );
|
||||||
@@ -184,20 +167,6 @@ static void DeleteNoteResource( const Actor *pActor )
|
|||||||
delete pRes;
|
delete pRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
Actor *MakeRefcountedActor( const RString &sButton, const RString &sElement )
|
|
||||||
{
|
|
||||||
NoteResource *pRes = MakeNoteResource( sButton, sElement, false );
|
|
||||||
return pRes->m_pActor;
|
|
||||||
}
|
|
||||||
|
|
||||||
Sprite *MakeRefcountedSprite( const RString &sButton, const RString &sElement )
|
|
||||||
{
|
|
||||||
NoteResource *pRes = MakeNoteResource( sButton, sElement, true );
|
|
||||||
Sprite *pSprite = dynamic_cast<Sprite *>( pRes->m_pActor );
|
|
||||||
ASSERT( pSprite != NULL );
|
|
||||||
return pSprite;
|
|
||||||
}
|
|
||||||
|
|
||||||
NoteColorActor::NoteColorActor()
|
NoteColorActor::NoteColorActor()
|
||||||
{
|
{
|
||||||
m_p = NULL;
|
m_p = NULL;
|
||||||
@@ -211,10 +180,15 @@ NoteColorActor::~NoteColorActor()
|
|||||||
|
|
||||||
void NoteColorActor::Load( const RString &sButton, const RString &sElement )
|
void NoteColorActor::Load( const RString &sButton, const RString &sElement )
|
||||||
{
|
{
|
||||||
m_p = MakeRefcountedActor( sButton, sElement );
|
m_p = MakeNoteResource( sButton, sElement, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Actor *NoteColorActor::Get()
|
||||||
|
{
|
||||||
|
return m_p->m_pActor;
|
||||||
|
}
|
||||||
|
|
||||||
NoteColorSprite::NoteColorSprite()
|
NoteColorSprite::NoteColorSprite()
|
||||||
{
|
{
|
||||||
m_p = NULL;
|
m_p = NULL;
|
||||||
@@ -228,9 +202,13 @@ NoteColorSprite::~NoteColorSprite()
|
|||||||
|
|
||||||
void NoteColorSprite::Load( const RString &sButton, const RString &sElement )
|
void NoteColorSprite::Load( const RString &sButton, const RString &sElement )
|
||||||
{
|
{
|
||||||
m_p = MakeRefcountedSprite( sButton, sElement );
|
m_p = MakeNoteResource( sButton, sElement, true );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Sprite *NoteColorSprite::Get()
|
||||||
|
{
|
||||||
|
return dynamic_cast<Sprite *>( m_p->m_pActor );
|
||||||
|
}
|
||||||
|
|
||||||
static const char *HoldTypeNames[] = {
|
static const char *HoldTypeNames[] = {
|
||||||
"hold",
|
"hold",
|
||||||
|
|||||||
@@ -25,14 +25,16 @@ enum NotePart
|
|||||||
NUM_NotePart
|
NUM_NotePart
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct NoteResource;
|
||||||
|
|
||||||
struct NoteColorActor
|
struct NoteColorActor
|
||||||
{
|
{
|
||||||
NoteColorActor();
|
NoteColorActor();
|
||||||
~NoteColorActor();
|
~NoteColorActor();
|
||||||
void Load( const RString &sButton, const RString &sElement );
|
void Load( const RString &sButton, const RString &sElement );
|
||||||
Actor *Get() { return m_p; }
|
Actor *Get();
|
||||||
private:
|
private:
|
||||||
Actor *m_p;
|
NoteResource *m_p;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct NoteColorSprite
|
struct NoteColorSprite
|
||||||
@@ -40,9 +42,9 @@ struct NoteColorSprite
|
|||||||
NoteColorSprite();
|
NoteColorSprite();
|
||||||
~NoteColorSprite();
|
~NoteColorSprite();
|
||||||
void Load( const RString &sButton, const RString &sElement );
|
void Load( const RString &sButton, const RString &sElement );
|
||||||
Sprite *Get() { return m_p; }
|
Sprite *Get();
|
||||||
private:
|
private:
|
||||||
Sprite *m_p;
|
NoteResource *m_p;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum HoldType
|
enum HoldType
|
||||||
|
|||||||
Reference in New Issue
Block a user