add virtual Copy() to Actor
This commit is contained in:
@@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
float Actor::g_fCurrentBGMTime = 0, Actor::g_fCurrentBGMBeat;
|
float Actor::g_fCurrentBGMTime = 0, Actor::g_fCurrentBGMBeat;
|
||||||
|
|
||||||
|
Actor *Actor::Copy() const { return new Actor(*this); }
|
||||||
|
|
||||||
static float g_fCabinetLights[NUM_CABINET_LIGHTS];
|
static float g_fCabinetLights[NUM_CABINET_LIGHTS];
|
||||||
|
|
||||||
void Actor::SetBGMTime( float fTime, float fBeat )
|
void Actor::SetBGMTime( float fTime, float fBeat )
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ class Actor : public IMessageSubscriber
|
|||||||
public:
|
public:
|
||||||
Actor();
|
Actor();
|
||||||
virtual ~Actor();
|
virtual ~Actor();
|
||||||
|
virtual Actor *Copy() const;
|
||||||
void UnsubcribeAndClearCommands();
|
void UnsubcribeAndClearCommands();
|
||||||
virtual void Reset();
|
virtual void Reset();
|
||||||
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
//REGISTER_ACTOR_CLASS( ActorFrame )
|
//REGISTER_ACTOR_CLASS( ActorFrame )
|
||||||
REGISTER_ACTOR_CLASS_WITH_NAME( ActorFrameAutoDeleteChildren, ActorFrame )
|
REGISTER_ACTOR_CLASS_WITH_NAME( ActorFrameAutoDeleteChildren, ActorFrame )
|
||||||
|
Actor *ActorFrame::Copy() const { return new ActorFrame(*this); }
|
||||||
|
|
||||||
|
|
||||||
ActorFrame::ActorFrame()
|
ActorFrame::ActorFrame()
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ public:
|
|||||||
|
|
||||||
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
void LoadChildrenFromNode( const CString& sDir, const XNode* pNode );
|
void LoadChildrenFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
virtual void AddChild( Actor* pActor );
|
virtual void AddChild( Actor* pActor );
|
||||||
virtual void RemoveChild( Actor* pActor );
|
virtual void RemoveChild( Actor* pActor );
|
||||||
@@ -88,6 +89,7 @@ public:
|
|||||||
|
|
||||||
LoadChildrenFromNode( sDir, pNode );
|
LoadChildrenFromNode( sDir, pNode );
|
||||||
}
|
}
|
||||||
|
virtual Actor *Copy() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
//REGISTER_ACTOR_CLASS( ActorScroller )
|
//REGISTER_ACTOR_CLASS( ActorScroller )
|
||||||
REGISTER_ACTOR_CLASS_WITH_NAME( ActorScrollerAutoDeleteChildren, ActorScroller )
|
REGISTER_ACTOR_CLASS_WITH_NAME( ActorScrollerAutoDeleteChildren, ActorScroller )
|
||||||
|
Actor *ActorScroller::Copy() const { return new ActorScroller(*this); }
|
||||||
|
|
||||||
|
|
||||||
ActorScroller::ActorScroller()
|
ActorScroller::ActorScroller()
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ public:
|
|||||||
virtual void DrawPrimitives(); // DOES draw
|
virtual void DrawPrimitives(); // DOES draw
|
||||||
|
|
||||||
void LoadFromNode( const CString &sDir, const XNode *pNode );
|
void LoadFromNode( const CString &sDir, const XNode *pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
void SetDestinationItem( float fItemIndex ) { m_fDestinationItem = fItemIndex; }
|
void SetDestinationItem( float fItemIndex ) { m_fDestinationItem = fItemIndex; }
|
||||||
void SetCurrentAndDestinationItem( float fItemIndex ) { m_fCurrentItem = m_fDestinationItem = fItemIndex; }
|
void SetCurrentAndDestinationItem( float fItemIndex ) { m_fCurrentItem = m_fDestinationItem = fItemIndex; }
|
||||||
@@ -79,6 +80,7 @@ public:
|
|||||||
|
|
||||||
ActorScroller::LoadFromNode( sDir, pNode );
|
ActorScroller::LoadFromNode( sDir, pNode );
|
||||||
}
|
}
|
||||||
|
virtual Actor *Copy() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ typedef Actor* (*CreateActorFn)(const CString& sDir, const XNode* pNode);
|
|||||||
public: \
|
public: \
|
||||||
Register##className() { ActorUtil::Register(#externalClassName,Create##className); } \
|
Register##className() { ActorUtil::Register(#externalClassName,Create##className); } \
|
||||||
}; \
|
}; \
|
||||||
static Register##className register##className;
|
static Register##className register##className; \
|
||||||
|
Actor *className::Copy() const { return new className(*this); }
|
||||||
|
|
||||||
#define REGISTER_ACTOR_CLASS( className ) REGISTER_ACTOR_CLASS_WITH_NAME( className, className )
|
#define REGISTER_ACTOR_CLASS( className ) REGISTER_ACTOR_CLASS_WITH_NAME( className, className )
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ public:
|
|||||||
|
|
||||||
void LoadFromAniDir( const CString &sAniDir, bool bGeneric=true );
|
void LoadFromAniDir( const CString &sAniDir, bool bGeneric=true );
|
||||||
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void AddLayersFromAniDir( const CString &_sAniDir, const IniFile& ini, bool bGeneric );
|
void AddLayersFromAniDir( const CString &_sAniDir, const IniFile& ini, bool bGeneric );
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ public:
|
|||||||
virtual ~BitmapText();
|
virtual ~BitmapText();
|
||||||
|
|
||||||
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
bool LoadFromFont( const CString& sFontName );
|
bool LoadFromFont( const CString& sFontName );
|
||||||
bool LoadFromTextureAndChars( const CString& sTexturePath, const CString& sChars );
|
bool LoadFromTextureAndChars( const CString& sTexturePath, const CString& sChars );
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ public:
|
|||||||
|
|
||||||
bool Load( CString sFilePath );
|
bool Load( CString sFilePath );
|
||||||
virtual void LoadFromNode( const CString& sDir, const XNode* pNode );
|
virtual void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
void SetFromSteps( PlayerNumber pn, const Steps* pSteps );
|
void SetFromSteps( PlayerNumber pn, const Steps* pSteps );
|
||||||
void SetFromTrail( PlayerNumber pn, const Trail* pTrail );
|
void SetFromTrail( PlayerNumber pn, const Trail* pTrail );
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ public:
|
|||||||
void Load( const CString &sType );
|
void Load( const CString &sType );
|
||||||
|
|
||||||
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
void SetFromGameState( PlayerNumber pn );
|
void SetFromGameState( PlayerNumber pn );
|
||||||
void SetFromMeterAndDifficulty( int iMeter, Difficulty dc );
|
void SetFromMeterAndDifficulty( int iMeter, Difficulty dc );
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ class FadingBanner : public ActorFrame
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
FadingBanner();
|
FadingBanner();
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
void ScaleToClipped( float fWidth, float fHeight );
|
void ScaleToClipped( float fWidth, float fHeight );
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ public:
|
|||||||
void Load( const CString &sType );
|
void Load( const CString &sType );
|
||||||
|
|
||||||
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
void SetTips( const CStringArray &arrayTips ) { SetTips( arrayTips, arrayTips ); }
|
void SetTips( const CStringArray &arrayTips ) { SetTips( arrayTips, arrayTips ); }
|
||||||
void SetTips( const CStringArray &arrayTips, const CStringArray &arrayTipsAlt );
|
void SetTips( const CStringArray &arrayTips, const CStringArray &arrayTipsAlt );
|
||||||
@@ -42,6 +43,7 @@ public:
|
|||||||
GenreDisplay();
|
GenreDisplay();
|
||||||
~GenreDisplay();
|
~GenreDisplay();
|
||||||
void PlayCommand( const CString &sCommandName, Actor* pParent );
|
void PlayCommand( const CString &sCommandName, Actor* pParent );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ public:
|
|||||||
MemoryCardDisplay();
|
MemoryCardDisplay();
|
||||||
void Load( PlayerNumber pn );
|
void Load( PlayerNumber pn );
|
||||||
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
void Update( float fDelta );
|
void Update( float fDelta );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ public:
|
|||||||
MeterDisplay();
|
MeterDisplay();
|
||||||
void Load( CString sStreamPath, float fStreamWidth, CString sTipPath );
|
void Load( CString sStreamPath, float fStreamWidth, CString sTipPath );
|
||||||
virtual void LoadFromNode( const CString& sDir, const XNode* pNode );
|
virtual void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
void SetPercent( float fPercent );
|
void SetPercent( float fPercent );
|
||||||
|
|
||||||
@@ -26,6 +27,7 @@ class SongMeterDisplay: public MeterDisplay
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void Update( float fDeltaTime );
|
virtual void Update( float fDeltaTime );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ class Model : public Actor
|
|||||||
public:
|
public:
|
||||||
Model();
|
Model();
|
||||||
virtual ~Model();
|
virtual ~Model();
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
void Clear();
|
void Clear();
|
||||||
void Load( CString sFile );
|
void Load( CString sFile );
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ public:
|
|||||||
|
|
||||||
void Load();
|
void Load();
|
||||||
virtual void LoadFromNode( const CString& sDir, const XNode* pNode );
|
virtual void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
void SetFromGameState( PlayerNumber pn );
|
void SetFromGameState( PlayerNumber pn );
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ public:
|
|||||||
RollingNumbers();
|
RollingNumbers();
|
||||||
|
|
||||||
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
virtual void Update( float fDeltaTime );
|
virtual void Update( float fDeltaTime );
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ public:
|
|||||||
virtual void Update( float fDelta );
|
virtual void Update( float fDelta );
|
||||||
|
|
||||||
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
void PlayCommand( const CString &sCommandName, Actor* pParent );
|
void PlayCommand( const CString &sCommandName, Actor* pParent );
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ public:
|
|||||||
virtual void Update( float fDelta );
|
virtual void Update( float fDelta );
|
||||||
|
|
||||||
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||||
|
virtual Actor *Copy() const;
|
||||||
|
|
||||||
void PlayCommand( const CString &sCommandName, Actor* pParent );
|
void PlayCommand( const CString &sCommandName, Actor* pParent );
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user