Echo Hollow

Gender-Bending Interactive Stories! :D

User Tools

Site Tools


libecho:classes:util

This is an old revision of the document!


LibEcho.Util

Miscellaneous internal utility functions that don't seem to fit anywhere else. You probably won't every need to use any of these, except maybe String.capitalize().

Array Prototypes

Array.prototype.commaList()

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.

[ “a two-dollar pistol”, “a Stetson hat”, “a shotgun” ].commaList() returns “a two-dollar pistol, a Stetson hat, and a shotgun”.

[ “a two-dollar pistol”, “a Stetson hat” ].commaList() returns “a two-dollar pistol and a Stetson hat”.

[ “a two-dollar pistol” ].commaList() returns “a two-dollar pistol”.

[].commaList() returns “nothing”.

Array.prototype.aList

Assuming an array of PersistentObjects (or subclasses), returns a serial-comma-separated description like .commaList(), but using those objects' .aName fields.

Array.prototype.theList

Assuming an array of PersistentObjects (or subclasses), returns a serial-comma-separated description like .commaList(), but using those objects' .theName fields.

String Prototypes

String.prototype.capitalize()

Returns the string with the first character capitalized.

FIXME: This doesn't work if the first character is a quotation mark or other punctuation, or a number. Does it need to?

LibEcho.Util.log( logName, message )

If Sugarcube has been put in debug mode (Config.debug = true), logs the given logName and message to the JS console. If Sugarcube is not in debug mode, it does nothing.

LibEcho.Util.MessageQueue

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.

FIXME

libecho/classes/util.1653099159.txt.gz · Last modified: 2022/05/20 19:12 by lee