CountLinkedRefChain - ObjectReference

From the CreationKit Wiki
Jump to navigation Jump to search

Member of: ObjectReference Script

This function counts the number of linked refs that are in a linked Ref chain (example: A is linked to B is linked to C - this function will return 3)

Syntax[edit | edit source]

int Function countLinkedRefChain(keyword apKeyword = None, int maxExpectedLinkedRefs = 100)
	ObjectReference CurrentLink = self
	ObjectReference NewLink
	int NumLinkedRefs = 0
 	while(currentLink) && NumLinkedRefs <= maxExpectedLinkedRefs 
		NewLink = currentLink.getLinkedRef(apKeyword)
		if NewLink != self
			currentLink = NewLink
			NumLinkedRefs = NumLinkedRefs + 1
		Else
			currentLink = None
		EndIf
	endWhile
	if NumLinkedRefs >= maxExpectedLinkedRefs
	EndIf
	return NumLinkedRefs
endFunction

Parameters[edit | edit source]

  • apKeyword: Keyword to check ref link against (see GetLinkedRef.)
  • maxExpectedLinkedRefs: Maximum number of expected links. The function stops checking after it finds this many or finishes finding all of them. This is used as a safety precaution to premature bail out of a while loop in cases where something in the linked ref chain links back to something in the chain previously, which would result in an infinite loop.

Return Value[edit | edit source]

The total number of linked refs chained together or maxExpectedLinkedRefs, whichever is less.

Examples[edit | edit source]

; Count the number of refs in a linked ref chain to us
int numLinkedRefs = countLinkedRefChain()

See Also[edit | edit source]