public PlayerJoiningMultiplayerSessionProcessor(TimeKeeper timeKeeper, EscapePodManager escapePodManager, PlayerManager playerManager) { this.timeKeeper = timeKeeper; this.escapePodManager = escapePodManager; this.playerManager = playerManager; }
public InitialPlayerSyncProcessor(IPacketSender packetSender, BuildThrottlingQueue buildEventQueue, Vehicles vehicles, ItemContainers itemContainers, EquipmentSlots equipment, PlayerManager remotePlayerManager, Entities entities, EscapePodManager escapePodManager) { this.packetSender = packetSender; this.buildEventQueue = buildEventQueue; this.vehicles = vehicles; this.itemContainers = itemContainers; this.equipment = equipment; this.remotePlayerManager = remotePlayerManager; this.entities = entities; this.escapePodManager = escapePodManager; }
public World CreateWorld(PersistedWorldData pWorldData, ServerGameMode gameMode) { string seed = pWorldData.WorldData.Seed; if (string.IsNullOrWhiteSpace(seed)) { seed = StringHelper.GenerateRandomString(10); } Log.Info($"Loading world with seed {seed}"); World world = new() { TimeKeeper = new TimeKeeper { ServerStartTime = pWorldData.WorldData.ServerStartTime }, SimulationOwnershipData = new SimulationOwnershipData(), PlayerManager = new PlayerManager(pWorldData.PlayerData.GetPlayers(), config), BaseManager = new BaseManager(pWorldData.BaseData.PartiallyConstructedPieces, pWorldData.BaseData.CompletedBasePieceHistory), InventoryManager = new InventoryManager(pWorldData.WorldData.InventoryData.InventoryItems, pWorldData.WorldData.InventoryData.StorageSlotItems, pWorldData.WorldData.InventoryData.Modules), EscapePodManager = new EscapePodManager(pWorldData.WorldData.EscapePodData.EscapePods, randomStart, seed), GameData = pWorldData.WorldData.GameData, GameMode = gameMode, Seed = seed }; world.EventTriggerer = new EventTriggerer(world.PlayerManager, pWorldData.WorldData.GameData.StoryTiming.ElapsedTime, pWorldData.WorldData.GameData.StoryTiming.AuroraExplosionTime); world.VehicleManager = new VehicleManager(pWorldData.WorldData.VehicleData.Vehicles, world.InventoryManager); world.BatchEntitySpawner = new BatchEntitySpawner( NitroxServiceLocator.LocateService <EntitySpawnPointFactory>(), NitroxServiceLocator.LocateService <UweWorldEntityFactory>(), NitroxServiceLocator.LocateService <UwePrefabFactory>(), pWorldData.WorldData.ParsedBatchCells, protoBufSerializer, NitroxServiceLocator.LocateService <Dictionary <NitroxTechType, IEntityBootstrapper> >(), NitroxServiceLocator.LocateService <Dictionary <string, PrefabPlaceholdersGroupAsset> >(), world.Seed ); world.EntityManager = new EntityManager(pWorldData.EntityData.Entities, world.BatchEntitySpawner); HashSet <NitroxTechType> serverSpawnedSimulationWhiteList = NitroxServiceLocator.LocateService <HashSet <NitroxTechType> >(); world.EntitySimulation = new EntitySimulation(world.EntityManager, world.SimulationOwnershipData, world.PlayerManager, serverSpawnedSimulationWhiteList); return(world); } }
public EscapePodRepairProcessor(EscapePodManager escapePodManager) { this.escapePodManager = escapePodManager; }
public EscapePodInitialSyncProcessor(EscapePodManager escapePodManager) { this.escapePodManager = escapePodManager; }
public AddEscapePodProcessor(IMultiplayerSession multiplayerSession, EscapePodManager escapePodManager) { this.multiplayerSession = multiplayerSession; this.escapePodManager = escapePodManager; }
public ClaimPlayerSlotReservationProcessor(TimeKeeper timeKeeper, EscapePodManager escapePodManager, PlayerManager playerManager) { this.timeKeeper = timeKeeper; this.escapePodManager = escapePodManager; this.playerManager = playerManager; }
public AuthenticatePacketProcessor(TimeKeeper timeKeeper, EscapePodManager escapePodManager, PlayerManager playerManager) { this.timeKeeper = timeKeeper; this.escapePodManager = escapePodManager; this.playerManager = playerManager; }
public AuthenticatePacketProcessor(TcpServer tcpServer, TimeKeeper timeKeeper, EscapePodManager escapePodManager) { this.tcpServer = tcpServer; this.timeKeeper = timeKeeper; this.escapePodManager = escapePodManager; }