Interface INetcodeSession
- Namespace
- Backdash
- Assembly
- Backdash.dll
Contract for managing a netcode session.
public interface INetcodeSession : INetcodeSessionInfo, IDisposable, IAsyncDisposable
- Inherited Members
Properties
ReplayController
Try to get the session SessionReplayControl
SessionReplayControl? ReplayController { get; }
Property Value
Methods
AddPlayer(NetcodePlayer)
Add the player
into current session.
ResultCode AddPlayer(NetcodePlayer player)
Parameters
player
NetcodePlayer
Returns
- ResultCode
Ok if success.
AddPlayers(IReadOnlyList<NetcodePlayer>)
Add a list of
IReadOnlyList<ResultCode> AddPlayers(IReadOnlyList<NetcodePlayer> players)
Parameters
players
IReadOnlyList<NetcodePlayer>
Returns
- IReadOnlyList<ResultCode>
An equivalent ResultCode list.
AdvanceFrame()
Should be called at the end of each frame of your application and also in AdvanceFrame().
void AdvanceFrame()
BeginFrame()
Should be called at the start of each frame of your application.
void BeginFrame()
DisconnectPlayer(NetcodePlayer)
Disconnects a remote player from a game.
void DisconnectPlayer(NetcodePlayer player)
Parameters
player
NetcodePlayer
FindPlayer(Guid)
Find player by unique ID
NetcodePlayer? FindPlayer(Guid id)
Parameters
id
Guid
Returns
- See Also
GetInfo()
Returns session info
INetcodeSessionInfo GetInfo()
Returns
GetPlayerStatus(NetcodePlayer)
Returns connection status of a player.
PlayerConnectionStatus GetPlayerStatus(NetcodePlayer player)
Parameters
player
NetcodePlayer
Returns
GetPlayers()
Returns a list of all input players in the session.
IReadOnlySet<NetcodePlayer> GetPlayers()
Returns
GetSpectators()
Returns a list of all spectators in the session.
IReadOnlySet<NetcodePlayer> GetSpectators()
Returns
IsLocal()
Return true if the session is Local
bool IsLocal()
Returns
IsRemote()
Return true if the session is Remote
bool IsRemote()
Returns
IsReplay()
Return true if the session is Replay
bool IsReplay()
Returns
IsSpectator()
Return true if the session is Spectator
bool IsSpectator()
Returns
IsSyncTest()
Return true if the session is SyncTest
bool IsSyncTest()
Returns
LoadFrame(Frame)
Load state for saved frame
.
bool LoadFrame(Frame frame)
Parameters
frame
Frame
Returns
- bool
true if succeeded.
LoadFrame(int)
Load state for saved frame
.
bool LoadFrame(int frame)
Parameters
frame
int
Returns
- bool
true if succeeded.
SetFrameDelay(NetcodePlayer, int)
Change the amount of delay frames for local input.
void SetFrameDelay(NetcodePlayer player, int delayInFrames)
Parameters
player
NetcodePlayerdelayInFrames
int
SetHandler(INetcodeSessionHandler)
Set the handler for the current session. The client must call this before Start(CancellationToken).
void SetHandler(INetcodeSessionHandler handler)
Parameters
handler
INetcodeSessionHandler
Start(CancellationToken)
Starts the background work for the session. (Socket receiver, input queue, peer synchronization, etc.)
void Start(CancellationToken stoppingToken = default)
Parameters
stoppingToken
CancellationToken
TryGetLocalPlayer(out NetcodePlayer?)
Tries to get first local player
bool TryGetLocalPlayer(out NetcodePlayer? player)
Parameters
player
NetcodePlayer
Returns
TryGetPlayer(PlayerType, out NetcodePlayer?)
Tries to get first player of type playerType
bool TryGetPlayer(PlayerType playerType, out NetcodePlayer? player)
Parameters
playerType
PlayerTypeplayer
NetcodePlayer
Returns
TryGetRemotePlayer(out NetcodePlayer?)
Tries to get first remote player
bool TryGetRemotePlayer(out NetcodePlayer? player)
Parameters
player
NetcodePlayer
Returns
UpdateNetworkStats(NetcodePlayer)
Gets statistics and information about a player in NetworkStats. Returns false if the request player is not connected or synchronized.
bool UpdateNetworkStats(NetcodePlayer player)
Parameters
player
NetcodePlayer
Returns
- See Also
WaitToStop(CancellationToken)
Waits the session background work to finish.
Task WaitToStop(CancellationToken stoppingToken = default)
Parameters
stoppingToken
CancellationToken
Returns
WriteLog(LogLevel, string)
Writes a log message into the current session log writer
void WriteLog(LogLevel level, string message)
Parameters
WriteLog(string, Exception?)
Writes a log message into the current session log writer
void WriteLog(string message, Exception? error = null)