mirror of
https://github.com/snltty/linker.git
synced 2025-12-24 12:38:04 +08:00
38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using cmonitor.server;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace cmonitor.client
|
|
{
|
|
public sealed class ClientSignInState
|
|
{
|
|
[JsonIgnore]
|
|
public IConnection Connection { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public bool connecting = false;
|
|
public bool Connecting => connecting;
|
|
public bool Connected => Connection != null && Connection.Connected;
|
|
|
|
private int networdkEnabledTimes = 0;
|
|
[JsonIgnore]
|
|
public Action NetworkDisabledHandle { get; set; }
|
|
[JsonIgnore]
|
|
public Action<int> NetworkEnabledHandle { get; set; }
|
|
[JsonIgnore]
|
|
public Action NetworkFirstEnabledHandle { get; set; }
|
|
public void PushNetworkEnabled()
|
|
{
|
|
if (networdkEnabledTimes == 0)
|
|
{
|
|
NetworkFirstEnabledHandle?.Invoke();
|
|
}
|
|
NetworkEnabledHandle?.Invoke(networdkEnabledTimes);
|
|
networdkEnabledTimes++;
|
|
}
|
|
public void PushNetworkDisabled()
|
|
{
|
|
NetworkDisabledHandle?.Invoke();
|
|
}
|
|
}
|
|
}
|