@@ -195,18 +195,27 @@ private void setRelativesNames(int generation, int level, ImageController curren
195195 List < ImageController > childrenToSearch = new List < ImageController > ( ) ;
196196 List < ImageController > parentsToSearch = new List < ImageController > ( ) ;
197197 List < ImageController > affinitiesToSearch = new List < ImageController > ( ) ;
198- currentRelative . children . ForEach ( child =>
198+
199+ currentRelative . Partners . ForEach ( partner =>
199200 {
200- if ( child . MarkedDown )
201+ if ( partner . MarkedDown )
201202 {
202- string name = GetNameByLevelAndGeneration ( child , generation - 1 , level + 1 , affinity ) ;
203- if ( name != defaultName )
203+ if ( ! affinity )
204204 {
205- child . UnselectRelative ( name ) ;
206- childrenToSearch . Add ( child ) ;
205+ string name = GetNameByLevelAndGeneration ( partner , generation , level , true ) ;
206+ if ( name != defaultName )
207+ {
208+ partner . UnselectRelative ( name ) ;
209+ affinitiesToSearch . Add ( partner ) ;
210+ }
211+ }
212+ else if ( generation == 0 )
213+ {
214+ partner . UnselectRelative ( "Schwippschwager" ) ;
207215 }
208216 }
209217 } ) ;
218+
210219 currentRelative . Parents . ForEach ( parent =>
211220 {
212221 if ( parent . MarkedDown )
@@ -219,31 +228,30 @@ private void setRelativesNames(int generation, int level, ImageController curren
219228 }
220229 }
221230 } ) ;
222-
223- if ( ! affinity )
231+
232+ currentRelative . children . ForEach ( child =>
224233 {
225- currentRelative . Partners . ForEach ( partner =>
234+ if ( child . MarkedDown )
226235 {
227- if ( partner . MarkedDown )
236+ string name = GetNameByLevelAndGeneration ( child , generation - 1 , level + 1 , affinity ) ;
237+ if ( name != defaultName )
228238 {
229- string name = GetNameByLevelAndGeneration ( partner , generation , level , true ) ;
230- if ( name != defaultName )
231- {
232- partner . UnselectRelative ( name ) ;
233- affinitiesToSearch . Add ( partner ) ;
234- }
239+ child . UnselectRelative ( name ) ;
240+ childrenToSearch . Add ( child ) ;
235241 }
236- } ) ;
237- }
242+ }
243+ } ) ;
238244
239- childrenToSearch . ForEach ( ( child ) =>
240- setRelativesNames ( generation - 1 , level + 1 , child , affinity )
245+ affinitiesToSearch . ForEach ( ( parent ) =>
246+ setRelativesNames ( generation , level , parent , true )
241247 ) ;
248+
242249 parentsToSearch . ForEach ( ( parent ) =>
243250 setRelativesNames ( generation + 1 , level + 1 , parent , affinity )
244251 ) ;
245- affinitiesToSearch . ForEach ( ( parent ) =>
246- setRelativesNames ( generation + 1 , level + 1 , parent , true )
252+
253+ childrenToSearch . ForEach ( ( child ) =>
254+ setRelativesNames ( generation - 1 , level + 1 , child , affinity )
247255 ) ;
248256 }
249257
0 commit comments