Example #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();
        }