CountLinkedRefChain - ObjectReference
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)
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
- 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.
The total number of linked refs chained together or maxExpectedLinkedRefs, whichever is less.
; Count the number of refs in a linked ref chain to us int numLinkedRefs = countLinkedRefChain()