add virtual Copy() to Actor

This commit is contained in:
Glenn Maynard
2005-07-18 22:00:19 +00:00
parent d7c7780f65
commit 55d6382c49
21 changed files with 27 additions and 1 deletions
+2
View File
@@ -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 )
+1
View File
@@ -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 );
+1
View File
@@ -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()
+2
View File
@@ -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
+1
View File
@@ -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()
+2
View File
@@ -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
+2 -1
View File
@@ -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 )
+1
View File
@@ -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 );
+1
View File
@@ -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 );
+1
View File
@@ -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 );
+1
View File
@@ -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 );
+1
View File
@@ -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 );
+2
View File
@@ -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
+1
View File
@@ -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:
+2
View File
@@ -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
+1
View File
@@ -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 );
+1
View File
@@ -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 );
// //
+1
View File
@@ -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
+1
View File
@@ -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 );
+1
View File
@@ -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 );
+1
View File
@@ -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 );