This is an old revision of the document!
Miscellaneous internal utility functions that don't seem to fit anywhere else. You probably won't ever need to directly use any of these, except maybe String.capitalize().
Assuming that it is an array of strings, returns a proper serial-comma-separated description of the list including “and”, or “nothing” if the list is empty.
// Returns "a two-dollar pistol, a Stetson hat, and a shotgun": [ "a two-dollar pistol", "a Stetson hat", "a shotgun" ].commaList() // Returns "a two-dollar pistol and a Stetson hat": [ "a two-dollar pistol", "a Stetson hat" ].commaList() // Returns "a two-dollar pistol": [ "a two-dollar pistol" ].commaList() // Returns "nothing": [].commaList()
Assuming an array of PersistentObjects (or subclasses thereof), returns a serial-comma-separated description like .commaList(), but using those objects' .aName fields.
// Assuming pistol, hat, and shotgun are all valid PersistentObjects, // returns "a two-dollar pistol, a Stetson hat, and a shotgun": [ pistol, hat, shotgun ].aList()
Assuming an array of PersistentObjects (or subclasses thereof), returns a serial-comma-separated description like .commaList(), but using those objects' .theName fields.
// Assuming pistol, hat, and shotgun are all valid PersistentObjects, // returns "the two-dollar pistol, the Stetson hat, and the shotgun": [ pistol, hat, shotgun ].theList()
Returns the string with the first character capitalized.
: This doesn't work if the first character is a quotation mark or other punctuation, or a number. Does it need to?
If Sugarcube has been put in debug mode (Config.debug=true), this function logs the given logName and message to the JS console. If Sugarcube is not in debug mode, it does nothing.
A global message queue system to allow the story author to more easily hook into the Inventory and Apparel UIs and display various flavor texts and do other processing while a player is fooling around with Inventory and Apparel.
Not fully implemented. May change as we rejigger the UIs. Maybe ought to move from here to the UI classes.
If the queue is enabled, push a message into the top of the queue.
Returns: void
If the queue is enabled, shift a message off the bottom of the queue.
Returns: the message being shifted off, or null if the queue is disabled.
Dump the whole queue as a string, using the given separator. Clear the queue.
Returns: the whole queue as a single string
If the queue is already enabled, to nothing. Otherwise enable the queue, filling it with the given array of strings. Returns: void
Disable and clear the queue. Returns: the contents of the queue before it was cleared.