elanthia-online / norn.rb

a modern replacement for lich.rb
MIT License
2 stars 3 forks source link

Parser callback hooks #22

Closed ondreian closed 6 years ago

ondreian commented 6 years ago

Downstream hooks that receive the raw XML are nice, but it would be vastly superior to offer a way to attach a callback to XML tags so every single script does not need to parse XML when Oga can already handle that 100x better (and has already done the work)

This is performance critical, so a callback object that is safely wrapped is vital instead of using raw lambdas. It maybe even would make sense to use a Task for this and delegate it out of the parser Thread.

It probably should go here

The mutability of the tags needs to be taken into consideration, world_callbacks should only ever receive data directly from the game and no other Parser hooks should be able to mutate a tag that another receives.