feat: fast forward
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
namespace td {
|
||||
namespace game {
|
||||
|
||||
World::World() : m_CurrentState{.m_Teams{Team{TeamColor::Red}, Team{TeamColor::Blue}}}, m_NextState{.m_Teams{Team{TeamColor::Red}, Team{TeamColor::Blue}}} {}
|
||||
World::World() : m_CurrentState(std::make_shared<sim::WorldSnapshot>()), m_NextState(m_CurrentState) {}
|
||||
|
||||
const Color* World::GetTileColor(const TilePtr& tile) const {
|
||||
switch (tile->GetType()) {
|
||||
@@ -55,9 +55,15 @@ bool World::LoadMap(const protocol::pdata::WorldData& a_WorldData) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void World::Tick(const protocol::LockStep& a_LockStep, FpFloat a_Delta) {
|
||||
const std::shared_ptr<sim::WorldSnapshot>& World::Tick(const protocol::LockStep& a_LockStep, FpFloat a_Delta) {
|
||||
m_CurrentState = m_NextState;
|
||||
m_NextState = m_Ticker.NextStep(*this, m_NextState, a_LockStep, a_Delta);
|
||||
m_NextState = std::make_shared<sim::WorldSnapshot>(m_Ticker.NextStep(*this, *m_NextState, a_LockStep, a_Delta));
|
||||
return m_CurrentState;
|
||||
}
|
||||
|
||||
void World::ResetSnapshots(std::shared_ptr<sim::WorldSnapshot>& a_Current, std::shared_ptr<sim::WorldSnapshot>& a_Next) {
|
||||
m_CurrentState = a_Current;
|
||||
m_NextState = a_Next;
|
||||
}
|
||||
|
||||
} // namespace game
|
||||
|
||||
Reference in New Issue
Block a user