yuck. implement copy ctor to copy tweening queue
This commit is contained in:
@@ -114,6 +114,64 @@ Actor::~Actor()
|
|||||||
UnsubcribeAndClearCommands();
|
UnsubcribeAndClearCommands();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Actor::Actor( const Actor &cpy )
|
||||||
|
{
|
||||||
|
#define CPY(x) x = cpy.x
|
||||||
|
CPY( m_sName );
|
||||||
|
CPY( m_pLuaInstance );
|
||||||
|
|
||||||
|
CPY( m_baseRotation );
|
||||||
|
CPY( m_baseScale );
|
||||||
|
CPY( m_fBaseAlpha );
|
||||||
|
|
||||||
|
|
||||||
|
CPY( m_size );
|
||||||
|
CPY( m_current );
|
||||||
|
CPY( m_start );
|
||||||
|
for( unsigned i = 0; i < cpy.m_Tweens.size(); ++i )
|
||||||
|
m_Tweens.push_back( new TweenStateAndInfo(*cpy.m_Tweens[i]) );
|
||||||
|
|
||||||
|
CPY( m_tempState );
|
||||||
|
CPY( m_pTempState );
|
||||||
|
|
||||||
|
CPY( m_bFirstUpdate );
|
||||||
|
|
||||||
|
CPY( m_HorizAlign );
|
||||||
|
CPY( m_VertAlign );
|
||||||
|
|
||||||
|
CPY( m_Effect );
|
||||||
|
CPY( m_sEffectCommand );
|
||||||
|
CPY( m_fSecsIntoEffect );
|
||||||
|
CPY( m_fEffectDelta );
|
||||||
|
CPY( m_fEffectPeriodSeconds );
|
||||||
|
CPY( m_fEffectDelay );
|
||||||
|
CPY( m_fEffectOffset );
|
||||||
|
CPY( m_EffectClock );
|
||||||
|
|
||||||
|
CPY( m_effectColor1 );
|
||||||
|
CPY( m_effectColor2 );
|
||||||
|
CPY( m_vEffectMagnitude );
|
||||||
|
|
||||||
|
CPY( m_bVisible );
|
||||||
|
CPY( m_fHibernateSecondsLeft );
|
||||||
|
CPY( m_fShadowLength );
|
||||||
|
CPY( m_bIsAnimating );
|
||||||
|
CPY( m_iDrawOrder );
|
||||||
|
|
||||||
|
CPY( m_bTextureWrapping );
|
||||||
|
CPY( m_BlendMode );
|
||||||
|
CPY( m_bClearZBuffer );
|
||||||
|
CPY( m_ZTestMode );
|
||||||
|
CPY( m_bZWrite );
|
||||||
|
CPY( m_fZBias );
|
||||||
|
CPY( m_CullMode );
|
||||||
|
|
||||||
|
CPY( m_mapNameToCommands );
|
||||||
|
CPY( m_vsSubscribedTo );
|
||||||
|
vector<CString> m_vsSubscribedTo;
|
||||||
|
#undef CPY
|
||||||
|
}
|
||||||
|
|
||||||
void Actor::LoadFromNode( const CString& sDir, const XNode* pNode )
|
void Actor::LoadFromNode( const CString& sDir, const XNode* pNode )
|
||||||
{
|
{
|
||||||
// Load Name, if any.
|
// Load Name, if any.
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ class Actor : public IMessageSubscriber
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Actor();
|
Actor();
|
||||||
|
Actor( const Actor &cpy );
|
||||||
virtual ~Actor();
|
virtual ~Actor();
|
||||||
virtual Actor *Copy() const;
|
virtual Actor *Copy() const;
|
||||||
void UnsubcribeAndClearCommands();
|
void UnsubcribeAndClearCommands();
|
||||||
@@ -96,9 +97,6 @@ public:
|
|||||||
void UpdateTweening( float fDeltaTime );
|
void UpdateTweening( float fDeltaTime );
|
||||||
void CopyTweening( const Actor &from );
|
void CopyTweening( const Actor &from );
|
||||||
|
|
||||||
|
|
||||||
CString m_sName;
|
|
||||||
|
|
||||||
const CString &GetName() const { return m_sName; }
|
const CString &GetName() const { return m_sName; }
|
||||||
virtual void SetName( const CString &sName ) { m_sName = sName; }
|
virtual void SetName( const CString &sName ) { m_sName = sName; }
|
||||||
|
|
||||||
@@ -335,7 +333,6 @@ public:
|
|||||||
// Lua
|
// Lua
|
||||||
//
|
//
|
||||||
virtual void PushSelf( lua_State *L );
|
virtual void PushSelf( lua_State *L );
|
||||||
HiddenPtr<LuaClass> m_pLuaInstance;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Commands
|
// Commands
|
||||||
@@ -369,7 +366,10 @@ public:
|
|||||||
virtual void SetSecondsIntoAnimation( float fSeconds ) {}
|
virtual void SetSecondsIntoAnimation( float fSeconds ) {}
|
||||||
virtual void SetUpdateRate( float fRate ) {}
|
virtual void SetUpdateRate( float fRate ) {}
|
||||||
|
|
||||||
|
HiddenPtr<LuaClass> m_pLuaInstance;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
CString m_sName;
|
||||||
|
|
||||||
struct TweenInfo
|
struct TweenInfo
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user