Platform Data Engine 0.0.1
A data-driven game engine for platformers
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
 NPlatformDataEngine
 CAliveClass that defines an "alive" object, ie. an object that can take damage and die
 CAnimationControllerA component that manages playing animations on a gameObject. Precondition: the game object must have a sprite renderer component.
 CAnimationRepresents an animation (a collection of frames)
 CAnimationFrameRepresents a frame in an animation
 CAudioSystem
 CBoxQueryCallbackNot used
 CBulletThe MiniGun bullet projectile - currently exactly the same as the rocket projectile it will eventually have a unique sound, explosion, etc
 CCameraControllerHandles moving the camera and targetting gameObjects
 CCharacterControllerA component that handles player input and animations (if enabled) Precondition: if animations are enabled, the gameObject must have an animation controller component
 CClient
 CComponentThe base component class, when creating components to add gameplay functionality, they should inherit from this class
 CComponentFactoryCOMPONENT FACTORY This is a class that is responsible for creating components of different types from a string representation of the type. For example, if the component with type "AnimationController" is added in the json file, we need a way to make an object of type AnimationController so we'd call the following: ComponentFactory::create("AnimationController")
 CConnection
 CConnectionStats
 CContactFilterContact filter, overrides default to prevent rockets from colliding with player
 CDamageHandlerBase damage handler class responsible for handling onDeath and onDamage events from the Alive class
 CEngineStatsText
 CGameObjectThe base container class for a gameplay related object, it's drawable, transformable and components can be added to modify the funcionality. These classes are defined by the user in a json file.
 CGameWorldRepresents a game world with it's own tile map and gameObjects
 CPlayerSpawn
 CGlobalEffects
 CInputManagerThe base class for an input manager, other classes can inherit this to feed input to the game. For example, if you had some hardware like a motion controller, midi keyboard or other weird device, you could make an input manager for it.
 CAxisDefines an axis, this is usually something like a joystick slider or knob
 CButtonDefines a button (ie. something with a true/false state)
 CListMenu
 CMenu
 CMenuOption
 CMiniGunThe Minigun component
 CNetworkable
 CNetworkHandlerBase class for a network handler, responsible for handling network operations Example: Server, Client, etc.
 CNetworkInputManager
 CAxis
 CButton
 CParticleSystemThe particle system component spawns a number of other game objects and applies a velocity to them
 CPDEPacketHow networking works: The server will spawn the entire world and start a simulation, it will send out spawn game object packets to all of it's clients to replicate the same world on their computers, the server will then spawn player game objects for each client that is connected and send out "BindPlayer" packets to the clients, this will tell the client which game object it is controlling (for things like the camera controller)
 CPhysBodyUserDataData stored in physics bodies that are attached to a game object
 CPhysicsBodyA component that enables collision and rigidbody for a gameObject
 CPhysicsDebugDraw
 CPlatformDataEngineWrapperGame Wrapper
 CHostConfig
 CJoinConfig
 COptionsConfig
 CProfileConfig
 CPlayerDamageHandler
 CPlayerInputManagerA basic input manager for keyboard, mouse and gamepad input from a player
 CAxis
 CButton
 CProjectileThe projectile generic class
 CPropDamageHandler
 CRaycastCallbackUsed when Box2d does a raycast
 CRocketLauncherThe rocket launcher component
 CRocketProjectileThe rocket launcher rocket projectile
 CServer
 CSpike
 CSpriteRendererA component that simply holds an SFML sprite and renders it.
 CStatsBar
 CStatsPanel
 CTextBox
 CTextDrawableA more generic text render drawable that can be used outside a component context
 CTextRendererA very basic text rendering component
 CTileMapResponsible for loading a tiled TMX file, this currently does a lot of stuff, and that's not necessarily a good thing. Beware... messy code ahead!
 CTilesetPair
 CTilesetDefines a tileset used in a tmx map. This is what actually gets drawn when target.draw(tileMap) is called, it will loop through all the tilesets and draw them each in a separate draw call
 CTileSpriteSince tilesets are drawn each in a single draw call, this isn't responsible for holding a texture or something like a normal sprite would hold. Instead it holds a tile index and a transform that can be referenced in a tileset
 CTileTextureThe tile texture class is responsible for defining a texture and a corrosponding rect inside that texture
 CTimedDestroyDestroys the game object after a certain time useful for particles
 CUtilityUtility class for holding helper functions
 CWeaponThe weapon generic component