|
16 | 16 | #include <CVector.h> |
17 | 17 | #include <game/RenderWare.h> |
18 | 18 | #include <game/CAnimBlendAssociation.h> |
| 19 | +#include <game/CAnimBlendHierarchy.h> |
19 | 20 | #include "CAnimBlendNodeSA.h" |
20 | 21 |
|
21 | 22 | class CAnimBlendAssocGroupSA; |
@@ -159,12 +160,15 @@ class CAnimBlendAssociationSA : public CAnimBlendAssociation |
159 | 160 | eAnimGroup GetAnimGroup() { return static_cast<eAnimGroup>(m_pInterface->sAnimGroup); } |
160 | 161 | eAnimID GetAnimID() { return static_cast<eAnimID>(m_pInterface->sAnimID); } |
161 | 162 | std::unique_ptr<CAnimBlendHierarchy> GetAnimHierarchy(); |
| 163 | + const std::unique_ptr<CAnimBlendHierarchy> GetAnimHierarchy() const noexcept; |
162 | 164 |
|
163 | 165 | float GetBlendAmount() { return m_pInterface->fBlendAmount; } |
164 | 166 | void SetBlendAmount(float fAmount) { m_pInterface->fBlendAmount = fAmount; } |
165 | 167 | void SetCurrentProgress(float fProgress); |
166 | | - float GetCurrentSpeed() { return m_pInterface->fSpeed; } |
| 168 | + float GetCurrentProgress() const noexcept { return m_pInterface->fCurrentTime; } |
| 169 | + float GetCurrentSpeed() const noexcept { return m_pInterface->fSpeed; } |
167 | 170 | void SetCurrentSpeed(float fSpeed) { m_pInterface->fSpeed = fSpeed; } |
| 171 | + float GetLength() const noexcept { return GetAnimHierarchy()->GetTotalTime(); } |
168 | 172 | void SetAnimID(short sAnimID) { m_pInterface->sAnimID = sAnimID; } |
169 | 173 | void SetAnimGroup(short sAnimGroup) { m_pInterface->sAnimGroup = sAnimGroup; } |
170 | 174 | void SetFlags(short sFlags) { m_pInterface->m_nFlags = sFlags; } |
|
0 commit comments