public static int?GetRandomTrash(IEnumerable <ITrashData> trashData) { trashData = trashData.ToArray(); // No possible trash if (!trashData.Any()) { return(null); } // Select a trash data ITrashData data = trashData.Choose(Game1.random); int[] ids = data.PossibleIds.ToArray(); // Select a trash ID return(!ids.Any() ? (int?)null : ids.ToWeighted(id => 1D).Choose(Game1.random)); }
/// <inheritdoc /> public bool RemoveTrashData(ITrashData data) { return(this._trash.Remove(data)); }
/// <inheritdoc /> public bool AddTrashData(ITrashData data) { return(this._trash.Add(data)); }