/// <inheritdoc />
 public EntityDespawnTickable(INetworkEntityVisibilityLostEventSubscribable subscriptionService, ILog logger,
                              [NotNull] IReadonlyEntityGuidMappable <GameObject> knownEntites,
                              [NotNull] IObjectDestructorable <NetworkEntityGuid> entityDestructor)
     : base(subscriptionService, true, logger)
 {
     KnownEntites     = knownEntites ?? throw new ArgumentNullException(nameof(knownEntites));
     EntityDestructor = entityDestructor ?? throw new ArgumentNullException(nameof(entityDestructor));
 }
 /// <inheritdoc />
 public PlayerSessionDestructor(
     [NotNull] IObjectDestructorable <PlayerEntityDestructionContext> playerEntityDestructor,
     [NotNull] IConnectionEntityCollection connectionToEntityMap,
     [NotNull] ISessionCollection sessionCollection)
 {
     PlayerEntityDestructor = playerEntityDestructor ?? throw new ArgumentNullException(nameof(playerEntityDestructor));
     ConnectionToEntityMap  = connectionToEntityMap ?? throw new ArgumentNullException(nameof(connectionToEntityMap));
     SessionCollection      = sessionCollection ?? throw new ArgumentNullException(nameof(sessionCollection));
 }
Ejemplo n.º 3
0
 /// <inheritdoc />
 public ServerPlayerEntityDestructor(
     [NotNull] IObjectDestructorable <NetworkEntityGuid> entityDestructor,
     [NotNull] IReadonlyEntityGuidMappable <GameObject> guidToGameObjectMap,
     [NotNull] IReadonlyEntityGuidMappable <InterestCollection> interestCollections,
     [NotNull] IEntityInterestChangeEventSpoofable interestEventSpoofer)
 {
     EntityDestructor     = entityDestructor ?? throw new ArgumentNullException(nameof(entityDestructor));
     GuidToGameObjectMap  = guidToGameObjectMap ?? throw new ArgumentNullException(nameof(guidToGameObjectMap));
     InterestCollections  = interestCollections ?? throw new ArgumentNullException(nameof(interestCollections));
     InterestEventSpoofer = interestEventSpoofer ?? throw new ArgumentNullException(nameof(interestEventSpoofer));
 }
 /// <inheritdoc />
 public PlayerEntityExitManager(
     [NotNull] ISessionDisconnectionEventSubscribable subscriptionService,
     [NotNull] ILog logger,
     [NotNull] IObjectDestructorable <PlayerSessionDeconstructionContext> sessionDestructor,
     [NotNull] IZoneServerToGameServerClient zoneClientGameService,
     [NotNull] IConnectionEntityCollection connectionToEntityMap,
     [NotNull] GlobalEntityCollectionsLockingPolicy lockingPolicy,
     [NotNull] IEntityDataSaveable entitySaver)
     : base(subscriptionService, false, logger)
 {
     SessionDestructor     = sessionDestructor ?? throw new ArgumentNullException(nameof(sessionDestructor));
     ZoneClientGameService = zoneClientGameService ?? throw new ArgumentNullException(nameof(zoneClientGameService));
     ConnectionToEntityMap = connectionToEntityMap ?? throw new ArgumentNullException(nameof(connectionToEntityMap));
     LockingPolicy         = lockingPolicy ?? throw new ArgumentNullException(nameof(lockingPolicy));
     EntitySaver           = entitySaver ?? throw new ArgumentNullException(nameof(entitySaver));
 }