private dynamic GetPlayer(int id, ArkPlayer player = null) { var result = (dynamic)_players.GetOrCreate(id, () => { dynamic o = new ExpandoObject(); var n = _playerNext++; o.Id = 10000000 + n; o.Name = GetPlayerName(id); o.CharacterName = GetCharacterName(id); o.SteamId = (10000000000000000 + n).ToString(); return((ExpandoObject)o); }); return(result); }
public void Do(ArkPlayer i) { var anon = GetPlayer(i.Id, i); i.Id = anon.Id; i.Name = anon.Name; i.CharacterName = anon.CharacterName; if (i.TribeId.HasValue) { var tribe = GetTribe(i.TribeId.Value); i.TribeId = tribe.Id; } i.SteamId = anon.SteamId; i.SavedNetworkAddress = anon.SteamId; }