CString XBaseLayer::GetLabel() { CString str; #ifdef _DEBUG str.Format( _T("%s (id:%d)"), (LPCTSTR)GetstrLabel(), GetidLayer() ); #else str.Format( _T("%s"), (LPCTSTR)GetstrLabel() ); #endif return str; }
void XKeyPos::Execute( XSprObj *pSprObj, float fOverSec ) { auto pActObj = pSprObj->GetpObjActCurr(); if( XASSERT( pActObj ) ) { XLayerMove* pLayer = nullptr; if( GetidLayer() ) { pLayer = SafeCast<XLayerMove*>( pActObj->GetpLayerByidLocalInLayer( GetidLayer() ) ); } else { pLayer = SafeCast<XLayerMove*>( pSprObj->GetLayer( GetLayerType(), GetnLayer() ) ); } // auto pLayer = GetpLayerByidLayerT<XLayerMove>( pSprObj ); if( XASSERT( pLayer ) ) { auto& cn = pLayer->GetcnPos(); // if( cn.interpolation ) // 새 키가 실행될때 이전 채널값을 안지운다는 가정. // // 현재 채널이 보간모드면 이전 위치를 시작위치로 한다. // cn.m_vStart = cn.m_vEnd; // else // // 채널에 보간옵션이 없으면 현재키의 랜덤값으로 지정한다. // cn.m_vStart = AssignRandom(); if( m_pInterpolationEndKey ) { cn.interpolation = m_Interpolation; cn.m_frameStartKey = GetfFrame(); cn.m_vStart = GetvPosRandomed(); // cn.m_vStart = AssignRandom(); cn.m_frameEndKey = m_pInterpolationEndKey->GetfFrame(); // cn.m_vEnd = m_pInterpolationEndKey->GetvPosRandomed(); cn.m_vEnd = m_pInterpolationEndKey->AssignRandom(); } else { // 다음키가 없다는것은 보간옵션이 켜져있어도 보간할게 없다는뜻임. cn.interpolation = XBaseLayer::xNONE; cn.m_frameStartKey = GetfFrame(); cn.m_vStart = GetvPosRandomed(); // cn.m_frameEndKey = GetfFrame(); } m_vPosRandomed = AssignRandom(); // cn.m_mapRandom[ GetidKey() ] = AssignRandom(); } // pLayer } // pActObj }