// Copyright (c) 2012-2022 Wojciech Figat. All rights reserved.
#pragma once
#include "Types.h"
#include "NetworkConnection.h"
#include "NetworkConnectionState.h"
#include "Engine/Scripting/ScriptingObject.h"
///
/// High-level network client object (local or connected to the server).
///
API_CLASS(sealed, NoSpawn, Namespace = "FlaxEngine.Networking") class FLAXENGINE_API NetworkClient final : public ScriptingObject
{
DECLARE_SCRIPTING_TYPE_NO_SPAWN(NetworkClient);
friend class NetworkManager;
explicit NetworkClient(NetworkConnection connection);
public:
///
/// Identifier of the client (connection id from local peer).
///
API_FIELD(ReadOnly) NetworkConnection Connection;
///
/// Client connection state.
///
API_FIELD(ReadOnly) NetworkConnectionState State;
public:
String ToString() const override
{
return String::Format(TEXT("NetworkClient Id={0}"), Connection.ConnectionId);
}
};