Hi.
I'm getting an exception and I am stumped as to how to diagnose it cause I can't do a try/catch around Unity's main loop. Below is the stack from Unity:
ArgumentOutOfRangeException: Index is less than 0 or more than or equal to the list count.
Parameter name: index
279
System.Collections.ArrayList.ThrowNewArgumentOutOfRangeException (System.String name, System.Object actual, System.String message) (at /Applications/buildAgent/work/b59ae78cff80e584/mcs/class/corlib/System.Collections/ArrayList.cs:3261)
System.Collections.ArrayList.get_Item (Int32 index) (at /Applications/buildAgent/work/b59ae78cff80e584/mcs/class/corlib/System.Collections/ArrayList.cs:2652)
System.Collections.Specialized.OrderedDictionary.get_Item (Int32 index)
UIBasePanel.UpdateWidgets ()
UIBasePanel.LateUpdate ()
We are doing a lot of dynamic creation/destruction of NGUI classes. My hunch is that UIBasePanel.UpdateWidgets() is going through an array and one of my scripts is removing during the traversal. However, unless NGUI is on a separate thread, I don't think this is possible cause Unity is single threaded (might be wrong).
Is this something you've seen during your development of NGUI and might have some insight?
We are currently evaluating it using the Free version of NGUI (Version 2.0.7c in the ReadMe.txt). Is full source only avail in the Professional license version? Or does the $95 version have all source as well?
Great piece of software.
Thanks,
Cato