NetExaltedXP/NetExalted

From Exalted - Unofficial Wiki
Revision as of 04:59, 31 January 2005 by Xeriar (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

NetExalted Class

The NetExalted Class is the heart of the program. It holds and manages the top-level data structures, particularly the /Character library and the /Trait library. It also stores the current 'rules set', which covers the basic, core definitions of the rules as well as the type of /Character being made. These two are stored and read separately for modularity purposes.

This Class handles data I/O (but not user-friendly output such as to screen, .pdf saving or printing). It also returns basic data, such as base traits.

  • Specification of a configuration file is probably desirable. Likely using the same .xml format that it runs on, so it can edit its own configuration.

Data Members

  • Character Array (an array of class /Character) - possibly a doubly linked list. There is likely little overhead for capping the number of Characters, however, and just making it an array.
  • Trait Array (an array of class /Trait)
  • Base Array (an array of class /Data)
  • Basefile (a string containing the filename for the Base rules)
  • Trait files (an array of strings containing the filenames of the traits in use.
  • Front End class - a hook for the GUI and other such things.

Private Function Members

  • boolean WriteXMLFile (Array of /Data, File Name)
  • (Array of /Data) ReadXMLFile (File Name)
    • (Array of /Data) ReadBase (File Name)
    • (Array of /Trait) ReadTraits (File Name)
      • (Array of /Data) ReadSingleTrait (File Name)
      • boolean CheckTraitProperties (Trait Name) - As Traits are getting read, this function will ensure that the proper fields are set up.
  • (pointer to /Character) FindCharacter (Character Name) - returns a pointer to the Character requested by CharacterName, for SetValue

Public Function Members

  • (pointer to /Trait) GetTrait (Trait Name)
  • (Array of /Data) GetTraitTypes () - A 'get base rules' function.
  • (Array of /Data) GetTraitList (Trait Type) - Not typically called by the /Character class but rather the Front End class. When the user attempts to set a value for a trait that her character does not currently have, the Character will attempt to request the Trait (via GetTrait) and handle it accordingly.
  • (Array of /Data) GetRequiredTraits () - Some Traits will have a required flag (every creature has some sort of Stamina score, for example). This works like GetTraitList, except it is mainly called by the /Character class
  • int SetValue (Character Name, Trait Name, Value) - A function called by the Front End to set a Trait value for a specific character. All inputs are strings. This returns an int, instead of a boolean, because a signal will be needed to tell if GetCharacter must be called. Also used to tell why a certain action has been rejected - not enough BPs, XP, Set too low, set too high - whatever.
  • (Array of /Data) GetCharacter (Character Name) - Retrieves a character. Used for New Characters, debugging and sanity checks.

Comments