Cocos2d-x  v4
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123456789]
 CHttpRequest::_prxyThis sub class is just for migration SEL_CallFuncND to SEL_HttpResponse,someday this way will be removed
 CAABBAxis Aligned Bounding Box (AABB), usually calculate some rough but fast collision detection
 CActionObjectScriptDataFor Lua, Wrapper the script data that should be used to find the handler corresponding to the Lua function by the nativeobject pointer and store the value pointer which would be converted concretely by the different events,then the converted data would be passed into the Lua stack
 CActionTweenDelegateThe delegate class for ActionTween
 CAffineTransform
 CAnimation3DCacheAnimation3D Cache
 CAnimation3DDataAnimation data @js NA @lua NA
 CAnimationFrameData
 CAsyncTaskPoolThis class allows to perform background operations without having to manipulate threads. @js NA
 CAttributeInfoStore attribute information
 CAudioEngineOffers a interface to play audio
 CAudioProfile@js NA
 CProgramState::AutoBindingResolverAn abstract base class that can be extended to support custom material auto bindings
 CAutoPolygonAutoPolygon is a helper Object AutoPolygon's purpose is to process an image into 2d polygon mesh in runtime It has functions for each step in the process, from tracing all the points, to triangulation the result can be then passed to Sprite::create() to create a Polygon Sprite
 CAutoreleasePoolA pool for managing autorelease objects
 CBasicScriptDataFor Lua, Wrapper the script data that should be used to find the handler corresponding to the Lua function by the nativeobject pointer and store the value pointer which would be converted concretely by the different events,then the converted data would be passed into the Lua stack
 CBlendDescriptorStructor to store blend descriptor
 CBlendFunc
 CBufferManagerA static class to manage BufferMTL Schedule next available buffer at the beginning of frame for the render pass
 CBundle3DDefines a bundle file that contains a collection of assets
 C<CCUITextInput>This protocol provides a common interface for consolidating text input method calls
 CClonableInterface that defines how to clone an Ref
 CColor3BRGB color composed of bytes 3 bytes
 CColor4BRGBA color composed of 4 bytes
 CColor4FRGBA color composed of 4 floats
 CCommonScriptDataFor Lua, the CommonScriptData is used to find the Lua function pointer by the handler, then call the Lua function by push the eventName, eventSource(if it not nullptr), eventSourceClassName(if it is nullptr or "", and the eventSource is not nullptr,would give the default string "cc.Ref") into the Lua stack as the parameter when the common event such as is triggered
 CControllerA Controller object represents a connected physical game controller. @js NA
 CAnimation3D::CurveAnimation curve, translation, rotation, and scale
 CWebSocket::DataData structure for message
 CWebSocket::DelegateThe delegate class is used to process websocket events
 CDepthStencilDescriptorDepth and stencil descriptor
 CTerrain::DetailMapDetailMap this struct maintain a detail map data ,including source file ,detail size
 CDeviceInfoUsed to query features and implementation limits
 CAnimationFrame::DisplayedEventInfo
 CEditBoxDelegateEditbox delegate class
 CFileUtilsHelper class to handle file operations
 CFontDefinition
 CFontShadowTypes used for defining fonts properties (i.e
 CFontStroke
 CFrustumFrustum is a six-side geometry, usually use the frustum to do fast-culling: check a entity whether is a potential visible entity @js NA @lua NA
 CGLContextAttrs
 CHelperHelper class for traversing children in widget tree
 CHttpClientSingleton that handles asynchronous http requests
 CIMEDelegateInput method editor delegate
 CIMEDispatcherInput Method Edit Message Dispatcher
 CIMEKeyboardNotificationInfoKeyboard notification event type
 CKeypadScriptDataFor Lua, the KeypadScriptData is used to find the Lua function pointer by the nativeObject, then call the Lua function by push the actionType converted to string type into the Lua stack as the parameters when the Keypad event is triggered
 CLayoutComponentA component class used for layout
 CLayoutParameterProtocolProtocol for getting a LayoutParameter
 CLayoutProtocolLayout interface for creating LayoutManger and do actual layout
 CLuaBridgeBuild bridge between ObjC and Lua
 CLuaJavaBridgeBuild a bridge between Java and Lua script
 CLuaValueWrap different general types of data into a same specific type named LuaValue
 CMap< K, V >Similar to std::unordered_map, but it will manage reference count automatically internally
 CMap< int, cocos2d::ui::LayoutParameter * >
 CMap< std::string, cocos2d::Animation * >
 CMap< std::string, cocos2d::SpriteFrame * >
 CMarginMargin of widget's in point
 CMat4Defines a 4 x 4 floating point matrix representing a 3D transformation
 CMaterialDataMaterial data, @js NA @lua NA
 CMaterialDatasMaterial datas, since 3.3 @js NA @lua NA
 CMathUtilDefines a math utility class
 CMeshDataMesh data @js NA @lua NA
 CMeshDatasMesh datas @js NA @lua NA
 CMeshVertexAttribMesh vertex attribute @js NA @lua NA
 CModelDataModel node data, since 3.3 @js NA @lua NA
 CNinePatchImageParserA class for paring Android .9 patch image
 CNodeDataNode data, since 3.3 @js NA @lua NA
 CNodeDatasNode datas, since 3.3 @js NA @lua NA
 CNTextureDataNew material, since 3.3 @js NA @lua NA
 COBBOriented Bounding Box(OBB)
 CPhysicsBodyA body affect by physics
 CPhysicsContactPostSolvePostsolve value generated when onContactPostSolve called
 CPhysicsContactPreSolvePresolve value generated when onContactPreSolve called
 CPhysicsHelperA physics helper class
 CPhysicsJointAn PhysicsJoint object connects two physics bodies together
 CPhysicsWorldAn PhysicsWorld object simulates collisions and other physical properties. You do not create PhysicsWorld objects directly; instead, you can get it from an Scene object
 CPlaneDefines plane @js NA @lua NA
 CPointSprite
 CPolygonInfoPolygonInfo is an object holding the required data to display Sprites
 CProgramStateA program state object can create or reuse a program
 CPropertiesDefines a properties file for loading text files
 CQuad2
 CQuad3
 CQuadCommandCommand used to render one or more Quads, similar to TrianglesCommand
 CQuaternionDefines a 4-element quaternion that represents the orientation of an object in space
 CRandomHelperA helper class for creating random number
 CRayRay is a line with one end
 CRectRectangle area
 CRefRef is used for reference count management
 CReferenceReference data @js NA @lua NA
 CRenderCommandBase class of the RenderCommand hierarchy
 CRenderPassDescriptorStore values about color, depth and stencil attachment
 CRenderPipelineDescriptorStore values about pipeline
 CRenderQueueClass that knows how to sort RenderCommand objects
 CSchedulerScriptDataFor Lua, the SchedulerScriptData is used to find the Lua function pointer by the handler, then call the Lua function by push the elapse into the Lua stack as a parameter when scheduler update event is triggered
 CScriptEngineManagerScriptEngineManager is a singleton which manager an object instance of ScriptEngineProtocol, such as LuaEngine
 CScriptEngineProtocolDon't make ScriptEngineProtocol inherits from Object since setScriptEngine is invoked only once in AppDelegate.cpp, It will affect the lifecycle of ScriptEngine instance, the autorelease pool will be destroyed before destructing ScriptEngine
 CScriptEventThe ScriptEvent wrapper the different script data corresponding to the ScriptEventType in to the unified struct
 CScriptHandlerMgrIn order to reduce the coupling of lua script engine and native c++ engine
 CSocketIO::SIODelegateThe delegate class to process socket.io events
 CSkinDataSkin data @js NA @lua NA
 CSocketIOSingleton and wrapper class to provide static creation method as well as registry of all sockets
 CsParticle
 CSprite3DCacheSprite3DCache
 CSprite3DMaterialCacheSprite3D material is only texture for now @js NA @lua NA
 CRenderState::StateBlockDefines a block of fixed-function render states that can be applied to a RenderState object
 CStencilDescriptorStencil descriptor
 CStringUTF8Utf8 sequence Store all utf8 chars as std::string Build from std::string
 CT2F_Quad
 CTableViewDataSourceData source that governs table backend data
 CTableViewDelegateSole purpose of this delegate is to single touch event in this version
 CTerrain::TerrainDataTerrainData This TerrainData struct warp all parameter that Terrain need to create
 CTex2FA vertex composed of 2 floats: x, y
 CTextFieldDelegateA input protocol for TextField
 CTextureDescriptorStore texture description
 CTextureInfoStore texture information
 CTextureInfoGLStore texture information
 CTouchesScriptDataFor Lua, the TouchesScriptData is used to find the Lua function pointer by the nativeObject, then call the Lua function by push touches data and actionType into the Lua stack as the parameters when the touches event is triggered
 CTouchScriptDataFor Lua, the TouchScriptData is used to find the Lua function pointer by the nativeObject, then call the Lua function by push touch data and actionType converted to string type into the Lua stack as the parameters when the touch event is triggered
 CTransitionEaseSceneTransitionEaseScene can ease the actions of the scene protocol
 CTerrain::TriangleTriangle
 CTrianglesCommand::TrianglesThe structure of Triangles
 CTTFConfig
 CUriClass representing a URI
 CUserDefaultUserDefault acts as a tiny database
 CUtilsCreate and manager default depth and stencil attachment
 CUtilsGLConvert backend enum class to corresponding opengl defined value
 CV2F_C4B_T2F
 CV2F_C4B_T2F_Quad
 CV2F_C4B_T2F_Triangle
 CV2F_C4F_T2F
 CV2F_C4F_T2F_Quad
 CV3F_C4B_T2F
 CV3F_C4B_T2F_Quad
 CV3F_C4F
 CV3F_T2F
 CVec2Defines a 2-element floating point vector
 CVec3Defines a 3-element floating point vector
 CVec4Defines 4-element floating point vector
 CVertexLayoutStore vertex attribute layout
 CWebSocketWebSocket is wrapper of the libwebsockets-protocol, let the develop could call the websocket easily