forked from metin2/client
Solution refactoring and restructuring, removed Boost dependency, removed unused tools
This commit is contained in:
97
src/EffectLib/EffectElementBaseInstance.cpp
Normal file
97
src/EffectLib/EffectElementBaseInstance.cpp
Normal file
@@ -0,0 +1,97 @@
|
||||
#include "StdAfx.h"
|
||||
#include "EffectElementBaseInstance.h"
|
||||
|
||||
bool CEffectElementBaseInstance::Update(float fElapsedTime)
|
||||
{
|
||||
if (m_bStart)
|
||||
{
|
||||
m_fElapsedTime = fElapsedTime;
|
||||
m_fLocalTime += fElapsedTime;
|
||||
|
||||
return OnUpdate(fElapsedTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_fRemainingTime -= fElapsedTime;
|
||||
if (m_fRemainingTime<=0.0f)
|
||||
m_bStart = true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
void CEffectElementBaseInstance::Render()
|
||||
{
|
||||
if (!m_bStart)
|
||||
return;
|
||||
|
||||
assert(mc_pmatLocal);
|
||||
|
||||
OnRender();
|
||||
}
|
||||
|
||||
void CEffectElementBaseInstance::SetLocalMatrixPointer(const D3DXMATRIX * c_pMatrix)
|
||||
{
|
||||
mc_pmatLocal = c_pMatrix;
|
||||
}
|
||||
|
||||
void CEffectElementBaseInstance::SetDataPointer(CEffectElementBase * pElement)
|
||||
{
|
||||
m_pBase = pElement;
|
||||
|
||||
m_dwStartTime = CTimer::Instance().GetCurrentMillisecond();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//add by ipkn, start time management
|
||||
|
||||
m_fRemainingTime = pElement->GetStartTime();
|
||||
if (m_fRemainingTime<=0.0f)
|
||||
m_bStart = true;
|
||||
else
|
||||
m_bStart = false;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
OnSetDataPointer(pElement);
|
||||
}
|
||||
|
||||
bool CEffectElementBaseInstance::isActive()
|
||||
{
|
||||
return m_isActive;
|
||||
}
|
||||
void CEffectElementBaseInstance::SetActive()
|
||||
{
|
||||
m_isActive = true;
|
||||
}
|
||||
void CEffectElementBaseInstance::SetDeactive()
|
||||
{
|
||||
m_isActive = false;
|
||||
}
|
||||
|
||||
void CEffectElementBaseInstance::Initialize()
|
||||
{
|
||||
mc_pmatLocal = NULL;
|
||||
|
||||
m_isActive = true;
|
||||
|
||||
m_fLocalTime = 0.0f;
|
||||
m_dwStartTime = 0;
|
||||
m_fElapsedTime = 0.0f;
|
||||
|
||||
m_bStart = false;
|
||||
m_fRemainingTime = 0.0f;
|
||||
|
||||
OnInitialize();
|
||||
}
|
||||
|
||||
void CEffectElementBaseInstance::Destroy()
|
||||
{
|
||||
OnDestroy();
|
||||
Initialize();
|
||||
}
|
||||
|
||||
CEffectElementBaseInstance::CEffectElementBaseInstance()
|
||||
{
|
||||
}
|
||||
CEffectElementBaseInstance::~CEffectElementBaseInstance()
|
||||
{
|
||||
}
|
Reference in New Issue
Block a user