Hi,
Twist,
I haven't had a chance to explore your tool yet, but thank you for providing it! It looks like you are one *very* productive developer from all the information you've incorporated into the tool.
I believe what you are bumping into is that Honorbuddy must be running for the mobs in the ObjectManager to remain updated. The Developer Tools runs in a separate thread, and this is why it gets away with it. The HB API is *not* thread-safe, and I'd *strongly* discourage you from trying making your tool multi-threaded. The Developer Tools has a very limited scope, and written by people that have access to the HB API source, so they can see where the multi-threading limitations are.
The other thing you have to be aware is limitations in the WoWclient. The first checks of any ObjectManager query should be for
IsValid:
var result =
from whatever in ObjectManager.GetObjectsOfType<MumbleFoo>()
where
whatever.IsValid
&& ...
select whatever;
This is particularly true for
GetObjectsOfTypeFast() where *no* filtering is conducted. The problem is the WoWclient will return objects that are in the process of 'being removed from the game world'. Examples include mobs you have killed and looted, and 'hidden bunny' mobs. Any attempt to access other properties on these objects will throw exceptions.
This may not be your problem, but something of which you should be aware.
cheers & thanks again for sharing the tool!
chinajade