@@ -264,7 +264,7 @@ namespace Content.Server.GameTicking
|
||||
// Spawn everybody in!
|
||||
foreach (var (player, job) in assignedJobs)
|
||||
{
|
||||
SpawnPlayer(player, job, false);
|
||||
SpawnPlayer(player, profiles[player.Name], job, false);
|
||||
}
|
||||
|
||||
// Time to start the preset.
|
||||
@@ -344,7 +344,7 @@ namespace Content.Server.GameTicking
|
||||
if (LobbyEnabled)
|
||||
_playerJoinLobby(targetPlayer);
|
||||
else
|
||||
SpawnPlayer(targetPlayer);
|
||||
SpawnPlayerAsync(targetPlayer);
|
||||
}
|
||||
|
||||
public void MakeObserve(IPlayerSession player)
|
||||
@@ -358,7 +358,7 @@ namespace Content.Server.GameTicking
|
||||
{
|
||||
if (!_playersInLobby.ContainsKey(player)) return;
|
||||
|
||||
SpawnPlayer(player, jobId);
|
||||
SpawnPlayerAsync(player, jobId);
|
||||
}
|
||||
|
||||
public void ToggleReady(IPlayerSession player, bool ready)
|
||||
@@ -620,7 +620,7 @@ namespace Content.Server.GameTicking
|
||||
|
||||
_playerJoinLobby(player);
|
||||
}
|
||||
|
||||
|
||||
EntitySystem.Get<PathfindingSystem>().ResettingCleanup();
|
||||
EntitySystem.Get<AiReachableSystem>().ResettingCleanup();
|
||||
EntitySystem.Get<WireHackingSystem>().ResetLayouts();
|
||||
@@ -684,13 +684,13 @@ namespace Content.Server.GameTicking
|
||||
return;
|
||||
}
|
||||
|
||||
SpawnPlayer(session);
|
||||
SpawnPlayerAsync(session);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (data.Mind.CurrentEntity == null)
|
||||
{
|
||||
SpawnPlayer(session);
|
||||
SpawnPlayerAsync(session);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -744,14 +744,22 @@ namespace Content.Server.GameTicking
|
||||
}, _updateShutdownCts.Token);
|
||||
}
|
||||
|
||||
private async void SpawnPlayer(IPlayerSession session, string jobId = null, bool lateJoin = true)
|
||||
private async void SpawnPlayerAsync(IPlayerSession session, string jobId = null, bool lateJoin = true)
|
||||
{
|
||||
_playerJoinGame(session);
|
||||
|
||||
var character = (HumanoidCharacterProfile) (await _prefsManager
|
||||
.GetPreferencesAsync(session.SessionId.Username))
|
||||
.SelectedCharacter;
|
||||
|
||||
SpawnPlayer(session, character, jobId, lateJoin);
|
||||
}
|
||||
|
||||
private void SpawnPlayer(IPlayerSession session,
|
||||
HumanoidCharacterProfile character,
|
||||
string jobId = null,
|
||||
bool lateJoin = true)
|
||||
{
|
||||
_playerJoinGame(session);
|
||||
|
||||
var data = session.ContentData();
|
||||
data.WipeMind();
|
||||
data.Mind = new Mind(session.SessionId)
|
||||
|
||||
Reference in New Issue
Block a user