Account for new blend factor calc and updated ScopedAlterTime usages

Signed-off-by: puvvadar <puvvadar@amazon.com>
This commit is contained in:
puvvadar
2021-07-23 14:51:53 -07:00
parent 08a53a3a6f
commit b4e8801095
3 changed files with 8 additions and 7 deletions
@@ -194,18 +194,20 @@ namespace Multiplayer
m_previousHostTimeMs = time->GetHostTimeMs();
m_previousRewindConnectionId = time->GetRewindingConnectionId();
time->AlterTime(frameId, timeMs, connectionId);
m_previousBlendFactor = time->GetHostBlendFactor();
time->AlterBlendFactor(blendFactor);
}
inline ~ScopedAlterTime()
{
INetworkTime* time = GetNetworkTime();
time->AlterTime(m_previousHostFrameId, m_previousHostTimeMs, m_previousRewindConnectionId);
time->AlterBlendFactor(DefaultBlendFactor);
time->AlterBlendFactor(m_previousBlendFactor);
}
private:
HostFrameId m_previousHostFrameId = InvalidHostFrameId;
AZ::TimeMs m_previousHostTimeMs = AZ::TimeMs{ 0 };
AzNetworking::ConnectionId m_previousRewindConnectionId = AzNetworking::InvalidConnectionId;
float m_previousBlendFactor = DefaultBlendFactor;
};
inline const char* GetEnumString(MultiplayerAgentType value)
@@ -65,7 +65,7 @@ namespace Multiplayer
virtual void AlterTime(HostFrameId frameId, AZ::TimeMs timeMs, AzNetworking::ConnectionId rewindConnectionId) = 0;
//! Alters the current Host blend factor. Used to drive interpolation in rewound states.
//! @param blendFactor the blend factor to use
//! @param blendFactor the blend factor to use
virtual void AlterBlendFactor(float blendFactor) = 0;
//! Syncs all entities contained within a volume to the current rewind state.