FYP  1.0.0
Final Year Project -- Alexander Meuer
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 Nabilities
 CHeal
 CMagicMisile
 CRaiseDead
 Ncollision
 CCollidable
 CCollisionGroup
 NConstants
 CMisc
 CNumbers
 CStrings
 CVectors
 NDamage
 CReductionDamage Reduction, such as Armour or Magic Resistance. Used to reduce damage by an appropriate amount. Usage: Damage::Reduction mArmour = Damage::Reduction::MEDIUM;
 Ndetail
 CSceneRequest
 CWaveStores information about a single wave
 Ngui
 CAbilityButtonButton with an Ability and cooldown visualization
 CButtonClickable sprite
 CCostButton
 CDialogueBox
 CHealthBarHealthbar that follows a Pawn's position
 CHealthBarStaticStatically positioned bar that tracks a Pawn's health
 CHudItemInterface for non-interactable hud elements. Non-interactable hud elements are for show, the user can't click on or use them. Therefore, gui::Button does not derive from this class
 CImageDraws a sprite
 CLifeTrackerDraws a line of images, one for each life (or whatever other int it may be told to track)
 CNumberTrackerOutputs a number from a shared pointer as text
 CSlider
 CTextButton
 Ntower
 CMageTowerTower that fires magical projectiles that home in on their target
 CProjectileTowerTower that fires a projectile toward a target. Fires in an arc and takes account for moving targets
 CTowerInterface for derived tower types
 CUnitTowerTower that produces Minions and sends them to the nearest path node. Uses an xml Minion definition to create units
 CAbilityBase class for usable abilities or spells. Abilities must be initialized through xml
 CActorClass for anything that animates and has a position. Animates and has position and collision
 CArcProjectileObject that follows a pre-computed arc toward a target and checks for collision on impact
 CBloodSystem
 CCameraFollow camera that can target an Actor
 CCredits
 CCursor
 CFancyProjectileProjectile that emits particles as it travels and homes in on its target
 CGame
 CHeroPawn that can move and attack simultaneously and regenerates health
 CHud
 CI_SceneInterface for scene objects, such as levels and menus
 CLevelPlayable level of the game
 CLevelSelect
 CMagicMissileLaunches homing projectiles at enemies
 CMainMenuFirst menu shown to the user
 CMinionPawn that follows a path, keeps its distance from flockmembers and has a monetary reward for killing it
 CNode
 CPathA one-way path of nodes. Uses a recursive structure
 CPawnBase class for all units in the game. If it walks and attacks, it's a Pawn. Walks toward a destination, attacks any hostile pawns it encounters. Dies when health reaches 0
 CPlayerProfileRecord of how far a player has progressed through the game. Used to save/load to/from file
 CProfileSelectScene for selecting which player profile to use
 CProjectile
 CProjectileManagerUpdates a collection of projectiles. Projectiles are stored in unique_ptrs
 CQuadtreeSimple Quadtree implementation using templates
 CRendererManages rendering in it's own thread
 CResourceManagerSimple SFML resource manager
 CSceneManagerSingleton class to handle scenes and the navigation between them
 CSceneProxy
 CSettings
 CSettingsMenu
 CTerrainInterpreterParses pixels of an image into bitflags
 CTowerPlacer
 CUnitFactoryFactory for production of Hero and Minions from xml definition files
 CWaveControllerSpawns units in waves