GPR5100 - Rollback
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
game::ClientGameManager Class Referencefinal

ClientGameManager is a class that inherits from GameManager by adding the visual part and specific implementations needed by the clients. More...

#include <game_manager.h>

Inheritance diagram for game::ClientGameManager:
Inheritance graph
[legend]
Collaboration diagram for game::ClientGameManager:
Collaboration graph
[legend]

Public Types

enum  State : std::uint32_t { STARTED = 1u << 0u , FINISHED = 1u << 1u }
 

Public Member Functions

 ClientGameManager (PacketSenderInterface &packetSenderInterface)
 
void StartGame (unsigned long long int startingTime)
 
void Begin () override
 
void Update (sf::Time dt) override
 
void End () override
 
void SetWindowSize (sf::Vector2u windowsSize)
 
sf::Vector2u GetWindowSize () const
 
void Draw (sf::RenderTarget &target) override
 
void SetClientPlayer (PlayerNumber clientPlayer)
 
void SpawnPlayer (PlayerNumber playerNumber, core::Vec2f position, core::Degree rotation) override
 SpawnPlayer is method that is called when receiving a SpawnPlayerPacket from the server. More...
 
core::Entity SpawnBullet (PlayerNumber playerNumber, core::Vec2f position, core::Vec2f velocity) override
 
void FixedUpdate ()
 
void SetPlayerInput (PlayerNumber playerNumber, PlayerInput playerInput, std::uint32_t inputFrame) override
 
void DrawImGui () override
 
void ConfirmValidateFrame (Frame newValidateFrame, const std::array< PhysicsState, maxPlayerNmb > &physicsStates)
 
PlayerNumber GetPlayerNumber () const
 
void WinGame (PlayerNumber winner) override
 
std::uint32_t GetState () const
 
- Public Member Functions inherited from game::GameManager
virtual void SpawnPlayer (PlayerNumber playerNumber, core::Vec2f position, core::Degree rotation)
 
virtual core::Entity SpawnBullet (PlayerNumber, core::Vec2f position, core::Vec2f velocity)
 
virtual void DestroyBullet (core::Entity entity)
 
core::Entity GetEntityFromPlayerNumber (PlayerNumber playerNumber) const
 
Frame GetCurrentFrame () const
 
Frame GetLastValidateFrame () const
 
const core::TransformManagerGetTransformManager () const
 
const RollbackManagerGetRollbackManager () const
 
virtual void SetPlayerInput (PlayerNumber playerNumber, PlayerInput playerInput, std::uint32_t inputFrame)
 
void Validate (Frame newValidateFrame)
 Validate is a method called by the server to validate a frame.
 
PlayerNumber CheckWinner () const
 
virtual void WinGame (PlayerNumber winner)
 
virtual void Draw (sf::RenderTarget &renderTarget)=0
 
virtual void DrawImGui ()=0
 
virtual void Begin ()=0
 
virtual void Update (sf::Time dt)=0
 
virtual void End ()=0
 

Protected Member Functions

void UpdateCameraView ()
 

Protected Attributes

PacketSenderInterfacepacketSenderInterface_
 
sf::Vector2u windowSize_
 
sf::View originalView_
 
sf::View cameraView_
 
PlayerNumber clientPlayer_ = INVALID_PLAYER
 
core::SpriteManager spriteManager_
 
StarBackground starBackground_
 
float fixedTimer_ = 0.0f
 
unsigned long long startingTime_ = 0
 
std::uint32_t state_ = 0
 
sf::Texture shipTexture_
 
sf::Texture bulletTexture_
 
sf::Font font_
 
sf::Text textRenderer_
 
- Protected Attributes inherited from game::GameManager
core::EntityManager entityManager_
 
core::TransformManager transformManager_
 
RollbackManager rollbackManager_
 
std::array< core::Entity, maxPlayerNmbplayerEntityMap_ {}
 
Frame currentFrame_ = 0
 
PlayerNumber winner_ = INVALID_PLAYER
 

Detailed Description

ClientGameManager is a class that inherits from GameManager by adding the visual part and specific implementations needed by the clients.

Member Function Documentation

◆ Begin()

void game::ClientGameManager::Begin ( )
overridevirtual

Implements core::SystemInterface.

◆ Draw()

void game::ClientGameManager::Draw ( sf::RenderTarget &  target)
overridevirtual

Implements core::DrawInterface.

◆ DrawImGui()

void game::ClientGameManager::DrawImGui ( )
overridevirtual

◆ End()

void game::ClientGameManager::End ( )
overridevirtual

Implements core::SystemInterface.

◆ SetPlayerInput()

void game::ClientGameManager::SetPlayerInput ( PlayerNumber  playerNumber,
PlayerInput  playerInput,
std::uint32_t  inputFrame 
)
overridevirtual

Reimplemented from game::GameManager.

◆ SpawnBullet()

core::Entity game::ClientGameManager::SpawnBullet ( PlayerNumber  playerNumber,
core::Vec2f  position,
core::Vec2f  velocity 
)
overridevirtual

Reimplemented from game::GameManager.

◆ SpawnPlayer()

void game::ClientGameManager::SpawnPlayer ( PlayerNumber  playerNumber,
core::Vec2f  position,
core::Degree  rotation 
)
overridevirtual

SpawnPlayer is method that is called when receiving a SpawnPlayerPacket from the server.

Parameters
playerNumberis the player number to be spawned
positionis where the player character will be spawned
rotationis the spawning angle of the player character

Reimplemented from game::GameManager.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Update()

void game::ClientGameManager::Update ( sf::Time  dt)
overridevirtual

Implements core::SystemInterface.

◆ WinGame()

void game::ClientGameManager::WinGame ( PlayerNumber  winner)
overridevirtual

Reimplemented from game::GameManager.


The documentation for this class was generated from the following files: