// // ClientState.cs // // Copyright (c) František Boháček. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using NosSmooth.Comms.Inject.Messages; using NosSmooth.LocalBinding; using NosSmooth.LocalBinding.Options; using Remora.Results; namespace NosSmooth.Comms.Inject; /// /// A state of the client. /// public class ClientState { /// /// Gets the token cancelled upon starting the client ( received). /// public CancellationTokenSource Starting { get; } = new CancellationTokenSource(); /// /// Gets the token cancelled when client has started (inside of ). /// public CancellationTokenSource Started { get; } = new CancellationTokenSource(); /// /// Gets or sets whether the client is running. /// public bool IsRunning { get; internal set; } /// /// Gets or sets the result that was obtained upon initialization of the client. /// public Result? InitResult { get; internal set; } /// /// Gets or sets the result that was obtained from initialization of . /// public Result? BindingResult { get; internal set; } /// /// Gets or sets hook manager options. /// public HookManagerOptions? HookOptions { get; internal set; } /// /// Gets or sets unit manager options. /// public UnitManagerOptions? UnitManagerOptions { get; internal set; } /// /// Gets or sets scene manager options. /// public SceneManagerOptions? SceneManagerOptions { get; internal set; } /// /// Gets or sets network manager options. /// public NetworkManagerOptions? NetworkManagerOptions { get; internal set; } /// /// Gets or sets player manager options. /// public PlayerManagerOptions? PlayerManagerOptions { get; internal set; } /// /// Gets or sets pet manager options. /// public PetManagerOptions? PetManagerOptions { get; internal set; } /// /// Gets or sets nt client options. /// public NtClientOptions? NtClientOptions { get; internal set; } }