예제 #1
0
        internal void CycleStart()
        {
            Data.ClearCycleIndices();

            // make sure that group members' acquiring indices are always synced to groups' acquiring indices
            MemberData.AcquiringIndices.Clear();
            foreach (var groupAcquiringIndex in Data.AcquiringIndices)
            {
                foreach (var mi in Data.MemberIndices[groupAcquiringIndex])
                {
                    MemberData.AcquiringIndices.Add(mi);
                }
            }

            MemberData.ClearCycleIndices();

            MemberTraitCacheStage.CycleStart();
            RelationTraitCacheStage.CycleStart();
            MemberConditionRatingStage.CycleStart();
            MemberMatchIntersectionStage.CycleStart();
            MemberTraitRequirementStage.CycleStart();
            MemberDataAvailabilityStage.CycleStart();
            MemberMatchReductionStage.CycleStart();
            GroupRelationRatingStage.CycleStart();
            MemberResultFillStage.CycleStart();
            GroupResultFillStage.CycleStart();
            FilterRelationMembersStage.CycleStart();
            MatchSearchStage.CycleStart();
            AcquireHandlingStage.CycleStart();
        }
 void CycleStart()
 {
     Data.ClearCycleIndices();
     BestStandaloneMatchStage.CycleStart();
     CacheTraitReferencesStage.CycleStart();
     ConditionRatingStage.CycleStart();
     FindMatchProposalsStage.CycleStart();
     DataAvailabilityStage.CycleStart();
     TraitFilterStage.CycleStart();
     MatchReductionStage.CycleStart();
     BestStandaloneMatchStage.CycleStart();
     ResultFillStage.CycleStart();
     MarkUsedStage.CycleStart();
     AcquireHandlingStage.CycleStart();
 }