/// <inheritdoc /> public MovementUpdateMessageSender( [NotNull] IReadonlyEntityGuidMappable <IPeerPayloadSendService <GameServerPacketPayload> > sessionMappable, [NotNull] IReadonlyEntityGuidMappable <InterestCollection> guidToInterestCollectionMappable, [NotNull] IDirtyableMovementDataCollection movementDataMap) { SessionMappable = sessionMappable ?? throw new ArgumentNullException(nameof(sessionMappable)); GuidToInterestCollectionMappable = guidToInterestCollectionMappable ?? throw new ArgumentNullException(nameof(guidToInterestCollectionMappable)); MovementDataMap = movementDataMap ?? throw new ArgumentNullException(nameof(movementDataMap)); }
/// <inheritdoc /> public PlayerEntityMovementDataUpdateManager( [NotNull] IPlayerEntityGuidEnumerable playerGuids, [NotNull] INetworkMessageSender <EntityMovementMessageContext> movementUpdateMessageSender, [NotNull] IDirtyableMovementDataCollection movementCollection) { PlayerGuids = playerGuids ?? throw new ArgumentNullException(nameof(playerGuids)); MovementUpdateMessageSender = movementUpdateMessageSender ?? throw new ArgumentNullException(nameof(movementUpdateMessageSender)); MovementCollection = movementCollection ?? throw new ArgumentNullException(nameof(movementCollection)); }