Jump to content

X2EventManager as an Enterprise Service Bus?


TeamDragonpunk

Recommended Posts

So it looks like @Amineri did this by herself https://forums.nexusmods.com/index.php?/topic/4064350-toolbox-technical-questions-here-please/?p=37180185 !!! I suppose I don't feel too bad, since she DID use the X2EventManager as a bi-directional way for mods to communicate. She just did it far more brilliantly than I code have. I've got a CS degree, but she is on some whole other level. Moving forward, I'll try to understand how exactly her toolbox works and make sure all our mods conform to her architecture to achieve interoperability.

Link to comment
Share on other sites

Thanks for the kind words. Tracktwo and I worked out most of how to do that -- it was he that actually wrote the LW_Tuple class we use to pass data back and forth.

 

As is usual, all of code is free to be re-used in other mods. In fact, the LW_XCGS_ModOptions and LW_Tuple Src folders are designed to be used exactly as is with no additional changes.

Link to comment
Share on other sites

Also note that you don't need toolbox itself to use LWTuple (that is, people using your mod that uses LWTuple don't need to have toolbox installed too). All you need is the LWTuple class (in a LW_Tuple package) in your project and add the line to the XComEngine.ini file as described in the comments in the uc file. Every mod that does this can communicate between themselves with the event manager, but they all must share exactly the same definition of LWTuple or Bad Things will happen.

Edited by tracktwo
Link to comment
Share on other sites

Right, I forgot to mention that bit! :)

 

That's the reason we split out LWTuple from the ModOptions, so that they didn't have to come together as a "package deal". LWTuple is what you add to enable using X2EventManager for inter-mod communication, while ModOptions is what you add to interface to the Toolbox UIOptionsPCMenu system.

Link to comment
Share on other sites

Aww ok! For some reason I thought @Amineri was the only one supporting XCOM 2 from LWS. I don't feel so bad knowing there are 2 genius level people making all these awesome mods. Not sure how I got that impression. Quick question. What relevance is the "tuple" in the mod. When I think of the word "tuple" I think "an unordered set of known values with names" in a relational database that is usually synonymous (but not the same as) a row in the database. Who your mod however, the is no database backend. So "tuple" is used in the sense of ??? mod information being broadcast to other mods??

Link to comment
Share on other sites

I used the term more in the mathematical sense, an ordered set of n elements. Although strictly speaking, unreal allows it to grow or shrink so it's not really n elements. It's also a rough analog to std::tuple in c++ without the type safety.

Edited by tracktwo
Link to comment
Share on other sites

You cheeky genius bastards! How long were you working on these systems? i mean this thread is a month and a half old but it would seem this was on your mind from day 1 with the SDK, It's truly amazing that you think about the community (especially the modding community) so much as i know a lot of other people and companies who didnt care about their communities at all

Edited by Guest
Link to comment
Share on other sites

And here i was being absolutely sure it had to mean or could just be inspired by quin'tuple... so, that tells how absurd my thoughts can get -- sometimes. ;)

Proves a purely artistic mind (most probably lacking minimal intuitive logic) is very far from a true programmer's brain & skillset, nonetheless.

 

BUT -- it's all also another rational demonstration of modding community potential(s) when we suddenly realize how many simultaneous projects aim for similar goals while the gigantic gap between development and (any, immediate or next in line) final realities start to invade each of our consciences. Now you know why i *DO* write "project threads" rather than submarining in a silent-run way. :D

Link to comment
Share on other sites

And here i was being absolutely sure it had to mean or could just be inspired by quin'tuple... so, that tells how absurd my thoughts can get -- sometimes. :wink:

Proves a purely artistic mind (most probably lacking minimal intuitive logic) is very far from a true programmer's brain & skillset, nonetheless.

 

BUT -- it's all also another rational demonstration of modding community potential(s) when we suddenly realize how many simultaneous projects aim for similar goals while the gigantic gap between development and (any, immediate or next in line) final realities start to invade each of our consciences. Now you know why i *DO* write "project threads" rather than submarining in a silent-run way. :D

 

I'm sure you have plenty of logic lol. These are very advanced software architecture concepts, and even I'm still trying to wrap my head around what exactly they're doing (not that I'm super smart, but it IS my job). I'm actually going to spend the day making Visio Diagrams to visual and understand how this all works now. You know what they say though, "If you aren't the worst member in the band, find a better band." I knew a "One Ring" Mod would be a huge undertaking, and I'm just glad we have LWS to lead- instead of hacking our credit cards.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...