C# (CSharp) SunsetHigh Namespace

Classes

Name Description
AbstractScreen
BGMusic Static class for managing all the background music for the game, using the NAudio library. Currently supports playing, pausing, resuming, stopping, fading in and out, and looping. Fading effects are recommended when changing screens/songs. When providing song file names, please specify the file extension (it's not necessary, but recommended).
BGMusic.FadeInOutSampleProviderAdapted This helper class is lifted straight out of NAudio samples (with minor edits) to allow for fading/looping
Bathroom
BraceFace A character that encapsulates all the movement and attack logic for the mini-boss
BraceFace.HealthBarTexture
Cafeteria
CameraOffsetEventArgs
Character Character extends from FreeMovingSprite, adding behavior for movement and inventory. Each character also has an Inventory (all his/her items).
CharacterBankSave
CharacterManager
ClockSave
ClueEntry
CluePanel
CollisionManager
ComputerLab
ConditionalParser A parser for evaluating conditional statements in text files (interactions, journal entries, etc.). Grammar explanation: The first word specifies the type of information to look up. The following words are specific to each type. Types currently supported: [Quest, Reputation, Inventory] Quest: The second word must be a valid QuestID; the third to nth words specify a state that quest should have (i.e. some combination of QuestStates). States can be combined through the use of the words "and", "or", and "not". These word operators have no hierarchy or precedence; the expression is simply read left to right. E.g. Quest FoodFight Progress1 or Progress2 and not Complete Reputation: The second word must specify the clique (Nerd, Jock, Prep, Bully, Slacker). The next token is a C relational operator (<, >, <=, >=, ==). The last token can either be an integer specifying the amount of reputation points to compare, OR it can be the name of another clique (to compare against the reputation points of that clique). E.g. Reputation Nerd > 20 E.g. Reputation Prep >= Jock Inventory: The second word must specify the item type in question (found in the Item enum in Inventory.cs). The next token is a C relational operator (<, >, <=, >=, ==). The last token must be an integer specifying the number of that item to compare. NOTE: If the last two arguments are ignored, "> 0" will automatically be appended to the statement. E.g. Inventory Meds > 3 Location: The last word must specify the room (select from an ID in the PlaceID enum in Room.cs). The word modifier "not" can be used to negate the statement. E.g. Location Cafeteria E.g. Location not Library On a final note, different types of information can be combined into one statement by taking each individual statement and inserting "and" or "or" between them as necessary. The word operators have no order of precedence; the expression is read left to right. E.g. Quest FoodFight Complete and Location Cafeteria
CreditsScreen
CursorArrow
DialogPanel
DialogueEventParser
Directories
ExitEntry
FootballField
FreeMovingSprite A child of Sprite that has the ability to move around the scene through preprogrammed directions or through user control. Can move with speed and acceleration independent of framerate - the units for these quantities are pixels/sec and pixels/(sec^2).
Game1 This is the main type for your game
GameClock
Hallway
HallwayEast
HallwayWest
Hero Hero extends from Character, and is used for the main character
Hero.DialogueEntry
Hero.DialoguePanel Class to handle the dialogue box/moving through the line tree, etc.
Hero.HealthBarTexture
Hero.PickpocketSystem
HeroSave Structure for saving data about a Hero.
InGameMenu Static class for handling the in-game menu.
InnerMonologue
InnerMonologue.ConditionalGroup
InnerMonologue.MonologueLine
Interaction Main interaction class. Responsible for loading dialogue from an interaction file, presenting list of lines.
InteractionConditional
InteractionLinkedTreeNode An extension of the interaction node with a list of responses. Used for NPC lines (which are linked to hero responses).
InteractionTreeNode The basic interaction node, used for hero responses. Contains event type and arguments for each event.
Inventory Represents an assortment of items; each Character has an Inventory to hold his/her own collection
InventoryEventArgs
InventoryPanel
InventorySave
ItemEntry
JournalInfoPanel
KeyConfigPanel
KeyModifierEntry
KeyboardManager Static class that has three purposes: 1) To easily tell if a key is held down or has been just pressed, 2) To handle complex keyboard input for the game with simple method calls, 3) To store custom key controls for the game.
Library
LineException Wrapper class for Exception designed for when a line in a dialogue file isn't valid.
ListPanel
ListPanel.ScrollBar
LoadGameScreen
LocationNamePanel
MagazineOffice
MainEntrance
MainGameScreen
MathClassroom
MenuEntry
NotificationPanel
Panel
Panel.BorderSystem
PanelGroup
PanelGroupSorter
Pickup Pickup extends from Sprite, adding information for an Item attribute
PopInOutSprite An extension of SmoothMovingSprite that is designed to move on and off screen between two (generally static) points. Handles transitions during moving transitions (i.e. popping out while popping in and vice-versa) with ease. Used for menu components.
Program The main class.
Projectile
Quest Static class for managing quest triggers (events that set up changes in the game)
QuestEventArgs
ReputationPanel
Room
SaveDataEntry
SaveDataPanel
SaveGameData Stores all the information of a save state.
SaveManager Static class for managing save states. Saves games by serializing SaveGameData as XML and then encrypting it. The encryption prevents players from easily accessing and "hacking" the XML files.
SaveTypeSpecifierEntry
ScienceClassroom
ScreenSpecifierEntry
ScreenTransition Handles the fade in and out between different screens or scenes.
SmoothMovingSprite An extension of Sprite that is designed to move automatically to any given location. Different types of movement (specified in the SmoothMoveType enum) can be used for different effects.
SoundConfigPanel
SoundFX
SoundModifierEntry
SplashScreen
Sprite Class for anything that can be drawn with a sprite. Characters and Pickups (and other drawable game components) can extend from this class to add behavior to the sprite. Alternative, just use this class for simple or static drawings.
StartScreen
StudentLounge
SubMenuFocusEntry
TextPanel
WorldManager