CountLinkedRefChain - ObjectReference
Revision as of 17:09, 29 June 2013 by imported>Thingy Person (→Syntax)
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
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
- 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
The total number of linked refs chained together or maxExpectedLinkedRefs, whichever is less.
Examples
; Count the number of refs in a linked ref chain to us
int numLinkedRefs = countLinkedRefChain()