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