| C_StaticMem | |
| ►CAlarmable | Base class for objects that can have alarms triggered in the game loop | 
| ►CAlarmableAttorney | Provides controlled access to the Alarmable class for specific classes | 
| CAlarmableManager | Manages the registration and processing of alarms for GameObjects | 
| CAlarmDeregistrationCommand | Command to deregister an alarm for a GameObject | 
| CAlarmRegistrationCommand | Command to register an alarm for a GameObject | 
| CAlign16 | |
| CButton | A clickable UI button component | 
| CCameraManager | Manages the current and default cameras for both 3D and 2D views | 
| CCanvas | A UI container for managing and rendering UI components | 
| CCollidable | Base class for objects that can participate in collision detection | 
| ►CCollidableAttorney | Provides controlled access to the Collidable class for specific classes | 
| CCollidableGroup | Manages a collection of collidable objects | 
| CCollisionDeregistrationCommand | Command to handle the deregistration of a collidable object for collision detection | 
| CCollisionDispatch | Handles the dispatching of collision callbacks between two collidable objects | 
| CCollisionDispatchBase | Base class for handling collision dispatching between collidable objects | 
| CCollisionDispatchTerrain | Handles the dispatching of collision callbacks between two collidable objects | 
| CCollisionManager | Manages the registration and processing of collisions for GameObjects | 
| CCollisionRegistrationCommand | Command to handle the registration of a collidable object for collision detection | 
| CCollisionTerrainCommand | Command to handle collision tests within a single collidable group | 
| CCollisionTestCommandBase | Base class for collision test commands | 
| CCollisionTestPairCommand | Command to handle collision tests between two collidable groups | 
| CCollisionTestSelfCommand | Command to handle collision tests within a single collidable group | 
| CCollisionVolume | Base class for collision volumes | 
| CCollisionVolumeAABB | Represents an axis-aligned bounding box (AABB) collision volume | 
| CCollisionVolumeBSphere | Represents a bounding sphere collision volume | 
| CCollisionVolumeOBB | Represents an Oriented Bounding Box (OBB) collision volume | 
| CCommandBase | Base class for all command objects | 
| CDrawable | Base class for objects that can be drawn in the game loop | 
| ►CDrawableAttorney | Provides controlled access to the Drawable class for specific classes | 
| CDrawableManager | Manages the registration and processing of drawable GameObjects | 
| CDrawDeregistrationCommand | Command to deregister a drawable object from drawing | 
| CDrawRegistrationCommand | Command to register a drawable object for drawing | 
| CDropdown | |
| CFileIO | |
| CFreeCamera | Represents a free-moving camera in the scene | 
| CFreezeTime | Manages the freezing and single frame stepping of the game time | 
| CGameObject | Base class for all GameObjects in the engine | 
| ►CGameObjectAttorney | Provides controlled access to the GameObject class for specific classes | 
| CGameObjectEntryCommand | Command to handle the entry of a GameObject into the scene | 
| CGameObjectExitCommand | Command to handle the exit of a GameObject from the scene | 
| CImageManager | Manages the loading, retrieval, and deletion of Image objects | 
| CImageManagerAttorney | Provides access to the ImageManager's private methods for specific classes | 
| ►CInputable | Base class for objects that can handle keyboard input events | 
| ►CInputableAttorney | Provides controlled access to the Inputable class for specific classes | 
| CKeyboardEventManager | Manages the registration and processing of keyboard events for GameObjects | 
| CKeyDeregistrationCommand | Command to handle the deregistration of a key event for an Inputable object | 
| CKeyRegistrationCommand | Command to handle the registration of a key event for an Inputable object | 
| ►CMemTrace | |
| CModelManager | Manages the loading, retrieval, and deletion of Model objects | 
| CModelManagerAttorney | Provides access to the ModelManager's private methods for specific classes | 
| CMouseKeyDeregistrationCommand | Command to handle the deregistration of a key event for an Inputable object | 
| CMouseKeyEventManager | Manages the registration and processing of mouse key events for GameObjects | 
| CMouseKeyRegistrationCommand | Command to handle the registration of a key event for an Inputable object | 
| CPerformanceTimer | |
| CScene | Represents a scene in the engine | 
| ►CSceneAttorney | Provides controlled access to the Scene class for specific classes | 
| CSceneChangeNullStrategy | Null strategy for scene changes | 
| CSceneChangeStartStrategy | Strategy for starting a scene change | 
| CSceneChangeStrategy | Base class for scene change strategies | 
| CSceneManager | Manages the current scene and handles scene transitions | 
| CSceneNull | Null implementation of a scene | 
| CSceneRegistrationBroker | Manages the registration and execution of commands for scene registration | 
| CScreenLog | Manages logging messages to the screen | 
| CScreenLogAttorney | |
| CScreenLogCommand | |
| CScreenLogCommandPool | Manages a pool of ScreenLogCommand objects for efficient reuse | 
| CScrollList | A scrollable list of UI buttons | 
| CShaderManager | Manages the loading, retrieval, and deletion of ShaderObject objects | 
| CShaderManagerAttorney | Provides access to the ShaderManager's private methods for specific classes | 
| CSingleKeyEventManager | Manages the registration and processing of a single key event for GameObjects | 
| CSlider | A draggable UI slider component | 
| CSpriteFont | Represents a font in the SUNENGINE | 
| CSpriteFontManager | Manages the loading and retrieval of SpriteFont objects | 
| ►CSpriteFontManagerAttorney | Provides access to the SpriteFontManager's private methods for specific classes | 
| CSpriteString | Represents a string of sprites in the SUNENGINE | 
| CSUNENGINE | Main engine class for the SUNENGINE application | 
| ►CSUNENGINEAttorney | Provides controlled access to the SUNENGINE class for specific classes | 
| CSUNENGINEMathTools | Provides mathematical tools for collision detection and vector operations | 
| CSUNENGINESprite | Represents a sprite in the SUNENGINE | 
| ►CTerrain | Represents a 3D terrain generated from a heightmap | 
| ►CTerrainAttorney | Provides controlled access to the Terrain class for specific classes | 
| CTerrainManager | Manages the active Terrain instance in the scene | 
| CTerrainObjectManager | Manages Terrain objects and their associated keys | 
| CTerrainObjectManagerAttorney | Provides access to the TerrainObjectManager's private methods for specific classes | 
| ►CTerrainRectangleArea | Represents a rectangular area of terrain cells for iteration | 
| CTest | |
| CTestRegistry | |
| CTextbox | A UI text input field component | 
| CTextureManager | Manages the loading, retrieval, and deletion of Texture objects | 
| CTextureManagerAttorney | Provides access to the TextureManager's private methods for specific classes | 
| CTimeManager | Manages the timing and delta time for the game | 
| CTimeManagerAttorney | Provides controlled access to the TimeManager class for specific classes | 
| CTrace | |
| ►CUIAttorney | Attorney class for controlled access to UIComponent internals | 
| CUICommand | Abstract base class for UI-related command objects | 
| CUIComponent | Abstract base class for all UI components | 
| CUIDropdownCommand | Command class for handling dropdown selection events | 
| CUnitData | |
| CUnitSLink | |
| CUnitStats | |
| CUnitTrace | |
| CUnitUtility | |
| CUpdatable | Base class for objects that can be updated in the game loop | 
| ►CUpdatableAttorney | Provides controlled access to the Updatable class for specific classes | 
| CUpdatableManager | Manages the registration and processing of updatable GameObjects | 
| CUpdateDeregistrationCommand | Command to deregister an updatable object from updates | 
| CUpdateRegistrationCommand | Command to register an updatable object for updates | 
| CVisualizer | Visualizes collision volumes for debugging purposes | 
| CVisualizerAABBCommand | Command class for visualizing an Axis-Aligned Bounding Box (AABB) | 
| ►CVisualizerAttorney | |
| CVisualizerBSphereCommand | Command to visualize a collision volume bounding sphere | 
| CVisualizerCommandBase | Base class for collision visualizer commands | 
| CVisualizerCommandPool | Manages a pool of visualizer commands for efficient reuse | 
| CVisualizerLineCommand | Command for visualizing a line in the collision visualizer | 
| CVisualizerMinMaxCommand | Command for visualizing a box defined by min/max points in the collision visualizer | 
| CVisualizerOBBCommand | Command class for visualizing an OBB (Oriented Bounding Box) in the scene |