public GamePlayer GetPlayer( Guid userId )
{
lock ( _sync )
{
JsonPlayer player;
if ( players.TryGetValue( userId, out player ) )
return player;
var filepath = Path.ChangeExtension( Path.Combine( playersDirectory, userId.ToString( "D" ) ), _extensions );
var data = JsonDataItem.LoadData( filepath, new { Nickname = NameService.AllocateName(), Initiation = GameHost.GameRules.GetInitiation(), Init = true, Resources = new ItemCollection() } );
player = new JsonPlayer( this, userId, data );
player.Init();
return players[userId] = player;
}
}