Overview
A suffix mod teaches NEXUS how to add a persistent suffix to an event key.Why suffix?
Assuming that you're using object keys to form part of your event key, you'll almost certainly want to know who an object belongs to – you, an ally or an enemy?
A suffix mod automatically adds a faction (or some other) suffix to event keys. Suffixes are persistent, so when event keys are being reduced the suffix remains on the end of the event key.
Library
You can only install one suffix mod per NEXUS instance. Here's some we made earlier...
How do I make one?
A suffix mod defines the NEXUS.suffix() method – when passed an object it should return a "suffix" applicable to the passed in object.
Your mod should be structured like this:
NEXUS.suffix = (function() { // ///////////////////////////////////////////////////////////////// // PRIVATE VARS var chimp = "hairy"; // just an example :p // ///////////////////////////////////////////////////////////////// // PUBLIC CLASSIFY FUNCTION var suffix = function(obj) { // work out the suffix applicable for "obj" // up to you how to do that, take a look at existing mods for examples (: return objSuffix; // objSuffix must be a string, ideally with "." at the start } // ///////////////////////////////////////////////////////////////// // PRIVATE FUNCTIONS var isFoo = function(foo) { // just an example :p return (foo != "bar"); } // return your suffix function return suffix; })();
If you want to be super-helpful to other people looking at your code:
- Make it easy to understand!
- Document the possible suffixes
File name convention
Suffix mods use the following naming convention: "NEXUS.suffix_modName.js", where "modName" is the name of your mod.