internal H3Client(ManualLogSource log, ClientConfig config, StatefulActivity discord, PeerMessageList <H3Client> messages, byte channelsCount, double tickDeltaTime, Version version, IPEndPoint endpoint, ConnectionRequestMessage request, OnH3ClientDisconnect onDisconnected) : base(log, messages, channelsCount, new Events(), version, endpoint, x => x.Put(request)) { _log = log; _config = config; _discord = discord; _onDisconnected = onDisconnected; _tickDeltaTime = tickDeltaTime; _tickTimer = new LoopTimer(tickDeltaTime); _players = new Dictionary <byte, Puppet>(); _health = new HealthInfo(HEALTH_INTERVAL, (int)(HEALTH_INTERVAL / PING_INTERVAL)); }
private void Connect(IPEndPoint endPoint, Key32?hostKey, JoinSecret secret, OnH3ClientDisconnect onDisconnect) { _clientLog.LogInfo($"Connecting to {endPoint}..."); float ups = 1 / Time.fixedDeltaTime; double tps = 1 / secret.TickDeltaTime; _clientLog.LogDebug($"Fixed update rate: {ups:.00} u/s"); _clientLog.LogDebug($"Tick rate: {tps:.00} t/s"); var request = new ConnectionRequestMessage(secret.Key, hostKey); Client = new H3Client(_clientLog, _config.Client, Activity, _messages.Client, _messages.ChannelsCount, secret.TickDeltaTime, _version, endPoint, request, onDisconnect); }