public DnDPlayerCharacter GetPlayer(IStructuredStorage storage, string name) { name = name.ToLowerInvariant().StripNonAlphaNumeric(); if (!CachedPlayers.TryGetValue(name, out DnDPlayerCharacter player)) { player = GameData.Players.Where((p) => p.Name.ToLowerInvariant().StripNonAlphaNumeric() == name).FirstOrDefault(); if (player == null) { player = storage.Load <DnDPlayerCharacter>(CharactersFolder + name); } if (player != null) { CachedPlayers.Add(name, DnDMigrate.Migrate(player)); } } return(player); }
public DnDPlayerCharacter GetPlayer(ulong userId) { return(DnDMigrate.Migrate(GameData.Players.Where((p) => p.ControlledBy == userId).FirstOrDefault())); }