Add useLocalEvent in rewind manager

This commit is contained in:
Benau 2018-07-16 01:00:13 +08:00
parent 511d8dd7a8
commit fc563cc678
3 changed files with 10 additions and 4 deletions

View File

@ -23,7 +23,6 @@
#include "karts/kart_model.hpp"
#include "karts/skidding.hpp"
#include "modes/world.hpp"
#include "network/network_config.hpp"
#include "network/rewind_manager.hpp"
#include "physics/physics.hpp"
@ -84,9 +83,7 @@ AbstractKartAnimation::~AbstractKartAnimation()
{
m_kart->getBody()->setAngularVelocity(btVector3(0,0,0));
Physics::getInstance()->addKart(m_kart);
if (NetworkConfig::get()->isNetworking() &&
NetworkConfig::get()->isClient() &&
!RewindManager::get()->isRewinding())
if (RewindManager::get()->useLocalEvent())
{
AbstractKart* kart = m_kart;
Vec3 linear_velocity = kart->getBody()->getLinearVelocity();

View File

@ -353,3 +353,10 @@ void RewindManager::rewindTo(int rewind_ticks, int now_ticks)
history->setReplayHistory(is_history);
m_is_rewinding = false;
} // rewindTo
// ----------------------------------------------------------------------------
bool RewindManager::useLocalEvent() const
{
return NetworkConfig::get()->isNetworking() &&
NetworkConfig::get()->isClient() && !m_is_rewinding;
} // useLocalEvent

View File

@ -198,6 +198,8 @@ public:
in different thread safely. */
const std::vector<std::string>& getRewinderUsing() const
{ return m_current_rewinder_using; }
// ------------------------------------------------------------------------
bool useLocalEvent() const;
}; // RewindManager