Пример #1
0
// --[  Method  ]---------------------------------------------------------------
//
//  - Class     : CEffect
//  - prototype : bool RightScale(float fNewEnd)
//
//  - Purpose   : Sets a new end time for the effect, without changing
//                the end.
//
// -----------------------------------------------------------------------------
bool CEffect::RightScale(float fNewEnd)
{
	if(fNewEnd < m_fBegin)
	{
		return false;
	}

	float fScale = (fNewEnd - m_fBegin) / (m_fEnd - m_fBegin);

	// Scale all variables

	for(int i = 0; i < GetVarCount(); i++)
	{
		CVar* pVar = GetVar(i);
		pVar->ScaleTime(fScale);
	}

	m_fEnd = fNewEnd;
	return true;
}