Difference between revisions of "NetExaltedXP/NetExalted"
From Exalted - Unofficial Wiki
m (link fix) |
m (Script: fix links messed up in conversion) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
== [[NetExalted]] Class == | == [[NetExalted]] Class == | ||
− | The [[NetExalted]] Class is the heart of the program. It holds and manages the top-level data structures, particularly the [[NetExaltedXP | + | The [[NetExalted]] Class is the heart of the program. It holds and manages the top-level data structures, particularly the[[NetExaltedXP/Character]] library and the[[NetExaltedXP/Trait]] library. It also stores the current 'rules set', which covers the basic, core definitions of the rules as well as the type of[[NetExaltedXP/Character]] being made. These two are stored and read separately for modularity purposes. |
− | This Class handles data | + | 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. | * 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 === | === Data Members === | ||
− | * Character Array (an array of class [[NetExaltedXP | + | * Character Array (an array of class[[NetExaltedXP/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 [[NetExaltedXP | + | * Trait Array (an array of class[[NetExaltedXP/Trait]]) |
− | * Base Array (an array of class [[NetExaltedXP | + | * Base Array (an array of class[[NetExaltedXP/Data]]) |
* Basefile (a string containing the filename for the Base rules) | * Basefile (a string containing the filename for the Base rules) | ||
* Trait files (an array of strings containing the filenames of the traits in use. | * 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. | * Front End class - a hook for the GUI and other such things. | ||
=== Private Function Members === | === Private Function Members === | ||
− | * boolean <nowiki>WriteXMLFile</nowiki> (Array of [[NetExaltedXP | + | * boolean <nowiki>WriteXMLFile</nowiki> (Array of[[NetExaltedXP/Data]], File Name) |
− | * (Array of [[NetExaltedXP | + | * (Array of[[NetExaltedXP/Data]]) <nowiki>ReadXMLFile</nowiki> (File Name) |
− | ** (Array of [[NetExaltedXP | + | ** (Array of[[NetExaltedXP/Data]]) <nowiki>ReadBase</nowiki> (File Name) |
− | ** (Array of [[NetExaltedXP | + | ** (Array of[[NetExaltedXP/Trait]]) <nowiki>ReadTraits</nowiki> (File Name) |
− | *** (Array of [[NetExaltedXP | + | *** (Array of[[NetExaltedXP/Data]]) <nowiki>ReadSingleTrait</nowiki> (File Name) |
*** boolean <nowiki>CheckTraitProperties</nowiki> (Trait Name) - As Traits are getting read, this function will ensure that the proper fields are set up. | *** boolean <nowiki>CheckTraitProperties</nowiki> (Trait Name) - As Traits are getting read, this function will ensure that the proper fields are set up. | ||
− | * (pointer to [[NetExaltedXP | + | * (pointer to[[NetExaltedXP/Character]]) <nowiki>FindCharacter</nowiki> (Character Name) - returns a pointer to the Character requested by <nowiki>CharacterName</nowiki>, for <nowiki>SetValue</nowiki> |
=== Public Function Members === | === Public Function Members === | ||
− | * (pointer to [[NetExaltedXP | + | * (pointer to[[NetExaltedXP/Trait]]) <nowiki>GetTrait</nowiki> (Trait Name) |
− | * (Array of [[NetExaltedXP | + | * (Array of[[NetExaltedXP/Data]]) <nowiki>GetTraitTypes</nowiki> () - A 'get base rules' function. |
− | * (Array of [[NetExaltedXP | + | * (Array of[[NetExaltedXP/Data]]) <nowiki>GetTraitList</nowiki> (Trait Type) - Not typically called by the[[NetExaltedXP/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 <nowiki>GetTrait</nowiki>) and handle it accordingly. |
− | * (Array of [[NetExaltedXP | + | * (Array of[[NetExaltedXP/Data]]) <nowiki>GetRequiredTraits</nowiki> () - Some Traits will have a required flag (every creature has some sort of Stamina score, for example). This works like <nowiki>GetTraitList</nowiki>, except it is mainly called by the[[NetExaltedXP/Character]] class |
* int <nowiki>SetValue</nowiki> (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 <nowiki>GetCharacter</nowiki> 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. | * int <nowiki>SetValue</nowiki> (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 <nowiki>GetCharacter</nowiki> 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 [[NetExaltedXP | + | * (Array of[[NetExaltedXP/Data]]) <nowiki>GetCharacter</nowiki> (Character Name) - Retrieves a character. Used for New Characters, debugging and sanity checks. |
== Comments == | == Comments == |
Latest revision as of 00:20, 9 June 2010
Contents
NetExalted Class
The NetExalted Class is the heart of the program. It holds and manages the top-level data structures, particularly theNetExaltedXP/Character library and theNetExaltedXP/Trait library. It also stores the current 'rules set', which covers the basic, core definitions of the rules as well as the type ofNetExaltedXP/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 classNetExaltedXP/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 classNetExaltedXP/Trait)
- Base Array (an array of classNetExaltedXP/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 ofNetExaltedXP/Data, File Name)
- (Array ofNetExaltedXP/Data) ReadXMLFile (File Name)
- (Array ofNetExaltedXP/Data) ReadBase (File Name)
- (Array ofNetExaltedXP/Trait) ReadTraits (File Name)
- (Array ofNetExaltedXP/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 toNetExaltedXP/Character) FindCharacter (Character Name) - returns a pointer to the Character requested by CharacterName, for SetValue
Public Function Members
- (pointer toNetExaltedXP/Trait) GetTrait (Trait Name)
- (Array ofNetExaltedXP/Data) GetTraitTypes () - A 'get base rules' function.
- (Array ofNetExaltedXP/Data) GetTraitList (Trait Type) - Not typically called by theNetExaltedXP/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 ofNetExaltedXP/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 theNetExaltedXP/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 ofNetExaltedXP/Data) GetCharacter (Character Name) - Retrieves a character. Used for New Characters, debugging and sanity checks.