コード例 #1
0
        /// <summary>
        /// Legacy, please use IGameDatabase.IterateOverAll directly
        /// </summary>
        /// <param name="db"></param>
        /// <param name="matchOrRound">true for match, false for round</param>
        /// <param name="callback">The callback, return false to interrupt the iteration</param>
        /// <returns></returns>
        public static async Task IterateOverAllRoundsOrMatches(this IGameDatabase db, bool matchOrRound, Func <IWinner, Task <bool> > callback)
        {
            if (matchOrRound)
            {
                async Task <bool> matchTask(MatchData matchData) => await callback(matchData);

                await db.IterateOverAll <MatchData>(matchTask);
            }
            else
            {
                async Task <bool> roundTask(RoundData roundData) => await callback(roundData);

                await db.IterateOverAll <RoundData>(roundTask);
            }
        }