FYP  1.0.0
Final Year Project -- Alexander Meuer
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 Ccollision::Collidable
 CActorClass for anything that animates and has a position. Animates and has position and collision
 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
 CHeroPawn that can move and attack simultaneously and regenerates health
 CMinionPawn that follows a path, keeps its distance from flockmembers and has a monetary reward for killing it
 CProjectile
 CArcProjectileObject that follows a pre-computed arc toward a target and checks for collision on impact
 CFancyProjectileProjectile that emits particles as it travels and homes in on its target
 Ctower::TowerInterface for derived tower types
 Ctower::ProjectileTowerTower that fires a projectile toward a target. Fires in an arc and takes account for moving targets
 Ctower::MageTowerTower that fires magical projectiles that home in on their target
 Ctower::UnitTowerTower that produces Minions and sends them to the nearest path node. Uses an xml Minion definition to create units
 Ccollision::CollisionGroup
 CCursor
 CDrawable
 CAbilityBase class for usable abilities or spells. Abilities must be initialized through xml
 Cabilities::Heal
 Cabilities::MagicMisile
 Cabilities::RaiseDead
 CBloodSystem
 Cgui::ButtonClickable sprite
 Cgui::AbilityButtonButton with an Ability and cooldown visualization
 Cgui::CostButton
 Cgui::TextButton
 Cgui::DialogueBox
 Cgui::HudItemInterface 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
 Cgui::HealthBarStaticStatically positioned bar that tracks a Pawn's health
 Cgui::HealthBarHealthbar that follows a Pawn's position
 Cgui::ImageDraws a sprite
 Cgui::LifeTrackerDraws a line of images, one for each life (or whatever other int it may be told to track)
 Cgui::NumberTrackerOutputs a number from a shared pointer as text
 Cgui::Slider
 CHud
 CGame
 CI_SceneInterface for scene objects, such as levels and menus
 CCredits
 CLevelPlayable level of the game
 CLevelSelect
 CMainMenuFirst menu shown to the user
 CProfileSelectScene for selecting which player profile to use
 CSettingsMenu
 CMagicMissileLaunches homing projectiles at enemies
 CConstants::Misc
 CNode
 CConstants::Numbers
 CPathA one-way path of nodes. Uses a recursive structure
 CPlayerProfileRecord of how far a player has progressed through the game. Used to save/load to/from file
 CProjectileManagerUpdates a collection of projectiles. Projectiles are stored in unique_ptrs
 CQuadtree< T >Simple Quadtree implementation using templates
 CDamage::ReductionDamage Reduction, such as Armour or Magic Resistance. Used to reduce damage by an appropriate amount. Usage: Damage::Reduction mArmour = Damage::Reduction::MEDIUM;
 CRendererManages rendering in it's own thread
 CResourceManager< T >Simple SFML resource manager
 CSceneManagerSingleton class to handle scenes and the navigation between them
 CSceneProxy
 Cdetail::SceneRequest
 CSettings
 CSprite
 CActorClass for anything that animates and has a position. Animates and has position and collision
 CConstants::Strings
 CTerrainInterpreterParses pixels of an image into bitflags
 CTowerPlacer
 CUnitFactoryFactory for production of Hero and Minions from xml definition files
 CConstants::Vectors
 CView
 CCameraFollow camera that can target an Actor
 Cdetail::WaveStores information about a single wave
 CWaveControllerSpawns units in waves