コード例 #1
0
        internal bool ForceEvaluation()
        {
            m_ForceEvaluationMarker.Begin();
            CycleStart();

            MemberTraitCacheStage.Complete();
            RelationTraitCacheStage.Complete();
            MemberConditionRatingStage.Complete();
            IncompleteGroupFilterStage.Complete();
            MemberMatchIntersectionStage.Complete();
            MemberDataAvailabilityStage.Complete();
            MemberTraitRequirementStage.Complete();
            MemberMatchReductionStage.Complete();
            GroupRelationRatingStage.Complete();
            FilterRelationMembersStage.Complete();
            MatchSearchStage.Complete();
            MarkDataUsedStage.Complete();
            MemberResultFillStage.Complete();
            GroupResultFillStage.Complete();

            m_ForceEvaluationMarker.End();
            // acquire handling comes after the profiler label because we've already found the answer
            AcquireHandlingStage.Complete();

            onStageGroupCompletion?.Invoke();
            // Return whether we had any matches this iteration
            return(Data.DefiniteMatchAcquireIndices.Count > 0);
        }