MCPcopy Create free account
hub / github.com/ddnet/ddnet / Pause

Method Pause

src/game/server/entities/character.cpp:2423–2448  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2421}
2422
2423void CCharacter::Pause(bool Pause)
2424{
2425 m_Paused = Pause;
2426 if(Pause)
2427 {
2428 GameServer()->m_World.m_Core.m_apCharacters[m_pPlayer->GetCid()] = nullptr;
2429 GameServer()->m_World.RemoveEntity(this);
2430
2431 if(m_Core.HookedPlayer() != -1) // Keeping hook would allow cheats
2432 {
2433 ResetHook();
2434 GameWorld()->ReleaseHooked(GetPlayer()->GetCid());
2435 }
2436 m_PausedTick = Server()->Tick();
2437 }
2438 else
2439 {
2440 m_Core.m_Vel = vec2(0, 0);
2441 GameServer()->m_World.m_Core.m_apCharacters[m_pPlayer->GetCid()] = &m_Core;
2442 GameServer()->m_World.InsertEntity(this);
2443 if(m_Core.m_FreezeStart > 0 && m_PausedTick >= 0)
2444 {
2445 m_Core.m_FreezeStart += Server()->Tick() - m_PausedTick;
2446 }
2447 }
2448}
2449
2450void CCharacter::DDRaceInit()
2451{

Callers 1

RescueMethod · 0.45

Calls 7

HookedPlayerMethod · 0.80
ServerClass · 0.50
GetCidMethod · 0.45
RemoveEntityMethod · 0.45
ReleaseHookedMethod · 0.45
TickMethod · 0.45
InsertEntityMethod · 0.45

Tested by

no test coverage detected