Difference between revisions of "NetExalted/XNEPCoreClass"
From Exalted - Unofficial Wiki
m (link fix) |
m (Whoops, added data types) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
− | * | + | * /XeriarProposal - Back to Proposal |
== Core Class == | == Core Class == | ||
The Core 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. | The Core 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. | ||
− | The Core Class handles data I | + | The Core 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 | * Specification of a configuration file is probably desirable | ||
− | * This is the class that would be called ' | + | * This is the class that would be called 'NetExalted' |
=== Data Members === | === Data Members === | ||
* Character Array (an array of class [[/XNEPCharacterClass|Character]]) - possibly a doubly linked list. There is likely little overhead for capping the number of Characters, however, and just making it an array. | * Character Array (an array of class [[/XNEPCharacterClass|Character]]) - possibly a doubly linked list. There is likely little overhead for capping the number of Characters, however, and just making it an array. | ||
Line 15: | Line 15: | ||
* 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 | + | * boolean WriteXMLFile (Array of [[/XNEPValueClass|Value]], FileName) |
− | * (Array of [[/XNEPValueClass|Value]]) | + | * (Array of [[/XNEPValueClass|Value]]) ReadXMLFile (FileName) |
− | ** (Array of [[/XNEPValueClass|Value]]) | + | ** (Array of [[/XNEPValueClass|Value]]) ReadBase (FileName) |
− | ** (Array of [[/XNEPTraitClass|Trait]]) | + | ** (Array of [[/XNEPTraitClass|Trait]]) ReadTraits (FileName) |
− | *** (Array of [[/XNEPValueClass|Value]]) | + | *** (Array of [[/XNEPValueClass|Value]]) ReadSingleTrait (FileName) |
− | *** boolean | + | *** boolean CheckTraitProperties (TraitName) - As Traits are getting read, this function will ensure that the proper fields are set up. |
− | * (pointer to [[/XNEPCharacterClass|Character]]) | + | * (pointer to [[/XNEPCharacterClass|Character]]) FindCharacter (CharacterName) - returns a pointer to the Character requested by CharacterName, for SetValue |
=== Public Function Members === | === Public Function Members === | ||
− | * (pointer to [[/XNEPTraitClass|Trait]]) | + | * (pointer to [[/XNEPTraitClass|Trait]]) GetTrait (TraitName) |
− | * (Array of [[/XNEPValueClass|Value]]) | + | * (Array of [[/XNEPValueClass|Value]]) GetTraitTypes () - A 'get base rules' function. |
− | * (Array of [[/XNEPValueClass|Value]]) | + | * (Array of [[/XNEPValueClass|Value]]) GetTraitList (TraitType) - Not typically called by the Character class but rather the FrontEnd 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 [[/XNEPValueClass|Value]]) | + | * (Array of [[/XNEPValueClass|Value]]) 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 | + | * int SetValue (CharacterName, TraitName, 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 [[/XNEPValueClass|Value]]) | + | * (Array of [[/XNEPValueClass|Value]]) GetCharacter (CharacterName) - Retrieves a character. Used for New Characters, debugging and sanity checks. |
== Comments == | == Comments == |
Revision as of 22:40, 26 January 2005
- /XeriarProposal - Back to Proposal
Contents
Core Class
The Core 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.
The Core 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
- This is the class that would be called 'NetExalted'
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 Value)
- 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 Value, FileName)
- (Array of Value) ReadXMLFile (FileName)
- (pointer to Character) FindCharacter (CharacterName) - returns a pointer to the Character requested by CharacterName, for SetValue
Public Function Members
- (pointer to Trait) GetTrait (TraitName)
- (Array of Value) GetTraitTypes () - A 'get base rules' function.
- (Array of Value) GetTraitList (TraitType) - Not typically called by the Character class but rather the FrontEnd 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 Value) 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 (CharacterName, TraitName, 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 Value) GetCharacter (CharacterName) - Retrieves a character. Used for New Characters, debugging and sanity checks.