Hello! After pouring through much of the ACT API documentation, I've determined that the data I need (Player data and stats, zone data, party data, etc.) for my plugin is within the FFXIV parser plugin object class. ACT does not seem to fire off an ActGlobals.oFormActMain.OnLogLineRead event for all LogLine types, only "0". This won't work for me, and I want to avoid the overhead of multiple log readers parsing the same log file as it's redundant and terribly inefficient. The FFXIV plugin does, however, have a public DataSubscriptions object that I can attach an event hook to the events I want to grab and circumvent this issue.
I realize I can iterate through the ActGlobals.oFormActMain.ActPlugins list and detect the parser, but trying to cast it from the simple IActPluginV1 interface to the actual class type exposed through the parser plugin assembly is causing a lot of headaches, since there's two separate assemblies (The ACT Assembly.LoadFrom/LoadFile and my referenced assembly type) and the types are not considered equal in that regard, even if sourced from the exact same DLL file, and an attempt to cast results in an InvalidCastException.
for more information/further explanation on what's happening under the hood in this situation.)
What's the best method for gaining access to the class object instance? I'm sure someone has attempted this at some point.
Thanks in advance!Edit: I want to add in that I do recognize that Ravahn may have seen this problem in advance and thus repeats most of the data via the "0" channel, however since it's made "human-readable", it becomes inefficient to parse that text when the raw parse log data is far preferable. I also expect that his "DataSubscription" class is intended for this purpose as well... but I have no way of reaching out to him to confirm.