using FishNet.Object; using System; using System.Collections.Generic; namespace FishNet.Connection { /// /// A container for a connected client used to perform actions on and gather information for the declared client. /// public partial class NetworkConnection : IEquatable { /// /// Level of detail for each NetworkObject. /// Since this is called frequently this field is intentionally not an accessor to increase performance. /// public Dictionary LevelOfDetails = new Dictionary(); /// /// Number oftimes this connection may send a forced LOD update. /// internal int AllowedForcedLodUpdates; /// /// Last tick an LOD was sent. /// On client and clientHost this is LocalTick. /// On server only this is LastPacketTick for the connection. /// internal uint LastLevelOfDetailUpdate; /// /// Returns if the client has not sent an LOD update for expectedInterval. /// /// internal bool IsLateForLevelOfDetail(uint expectedInterval) { //Local client is immune since server and client share ticks. if (IsLocalClient) return false; return ((LastPacketTick - LastLevelOfDetailUpdate) > expectedInterval); } /// /// Number of level of detail update infractions for this connection. /// internal int LevelOfDetailInfractions; } }