LibAlts-1.0

124k Downloads

Overview

LibAlts provides an API to register and retrieve alternate identity information between addons. It maintains main-alt relationships. A given character can be defined as a main with one or more alts.

Basic API

  • :SetAlt(main, alt, source) - Associate a main name with an alt name. An optional source can be specified. If no source is specified, it is added the user-defined source.
  • :GetAlts(main) - Get a list of alts for a given name.
  • :GetMain(alt) - Get the main character associated with a given name.
  • :GetAllMains() - Get a list of all main characters.
  • :IsMain(main) - Is the given name a main character.
  • :IsAlt(alt) - Is the given name an alternate character.
  • :DeleteAlt(main, alt, source) - Delete the main-alt relationship. An optional source can be specified. If no source is specified, it is deleted from the user-defined source.
  • :TitleCase(name) - Return the name in title case. The first letter is capitalized and the rest are lower case.

Sources

Sources are a way to differentiate the data entered into LibAlts. User-defined data will have no source (i.e., the source is nil). Sources provide a solution to problems such as automated guild imports. If the information pushed into LibAlts from guild notes is placed into the same area as user-defined notes, then re-importing it later is problematic. If the guild data has its own area, it is easy to wipe that data and re-import it.

When adding data from automated sources, the source name needs to be unique. As a convention, data added for a guild should have the GUILD_PREFIX constant prepended to the guild name returned from the GetGuildInfo() API call. Data from an addon should have the ADDON_PREFIX prepended to the addon name.

LibAlts will merge data from all sources when answering queries, unless you use one of the *ForSource functions that allows you to query a particular source.

  • :GetAltsForSource(main, source) - Get a list of alts for a given name for the given source.
  • :GetMainForSource(alt, source) - Get the main character associated with a given name for the given source.
  • :GetAllMains(source) - Get a list of all main characters for the given source.
  • :IsMainForSource(main, source) - Is the given name a main character.
  • :IsAltForSource(alt, source) - Is the given name an alternate character.
  • :RemoveSource(source) - Remove all data for the given source.
  • GUILD_PREFIX - A constant to prepend to source names for imported guild data.
  • ADDON_PREFIX - A constant to prepend to source names for addon automated data.

Callbacks

  • LibAlts_SetAlt - Fired after SetAlt() is called.
  • LibAlts_RemoveAlt - Fired after DelAlt() is called
  • LibAlts_RemoveSource - Fired after RemoveSource() is called.

LuaDoc: http://www.wowace.com/projects/libalts-1-0/pages/api/lib-alts-1-0/