Table of Contents

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

SessionReplayControl

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 into current session.

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

NetcodePlayer
See Also

GetInfo()

Returns session info

INetcodeSessionInfo GetInfo()

Returns

INetcodeSessionInfo

GetPlayerStatus(NetcodePlayer)

Returns connection status of a player.

PlayerConnectionStatus GetPlayerStatus(NetcodePlayer player)

Parameters

player NetcodePlayer

Returns

PlayerConnectionStatus

GetPlayers()

Returns a list of all input players in the session.

IReadOnlySet<NetcodePlayer> GetPlayers()

Returns

IReadOnlySet<NetcodePlayer>

GetSpectators()

Returns a list of all spectators in the session.

IReadOnlySet<NetcodePlayer> GetSpectators()

Returns

IReadOnlySet<NetcodePlayer>

IsLocal()

Return true if the session is Local

bool IsLocal()

Returns

bool

IsRemote()

Return true if the session is Remote

bool IsRemote()

Returns

bool

IsReplay()

Return true if the session is Replay

bool IsReplay()

Returns

bool

IsSpectator()

Return true if the session is Spectator

bool IsSpectator()

Returns

bool

IsSyncTest()

Return true if the session is SyncTest

bool IsSyncTest()

Returns

bool

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 NetcodePlayer
delayInFrames 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

bool

TryGetPlayer(PlayerType, out NetcodePlayer?)

Tries to get first player of type playerType

bool TryGetPlayer(PlayerType playerType, out NetcodePlayer? player)

Parameters

playerType PlayerType
player NetcodePlayer

Returns

bool

TryGetRemotePlayer(out NetcodePlayer?)

Tries to get first remote player

bool TryGetRemotePlayer(out NetcodePlayer? player)

Parameters

player NetcodePlayer

Returns

bool

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

bool
See Also

WaitToStop(CancellationToken)

Waits the session background work to finish.

Task WaitToStop(CancellationToken stoppingToken = default)

Parameters

stoppingToken CancellationToken

Returns

Task

WriteLog(LogLevel, string)

Writes a log message into the current session log writer

void WriteLog(LogLevel level, string message)

Parameters

level LogLevel
message string

WriteLog(string, Exception?)

Writes a log message into the current session log writer

void WriteLog(string message, Exception? error = null)

Parameters

message string
error Exception