📄 mcobjectmanager.h
字号:
// MCObjectManager.h: interface for the CMCObjectManager class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MCOBJECTMANAGER_H__860DCD2E_77EB_4A55_9A84_37F41F2A8880__INCLUDED_)
#define AFX_MCOBJECTMANAGER_H__860DCD2E_77EB_4A55_9A84_37F41F2A8880__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
enum OBJTYPE { BASEOBJ=0, BUMBOBJ, NOMALOBJ }; // 泅犁风绰 老纳父 窍技~~
typedef std::map<float , CBaseBuildObject *> mapObject;
class CMCObjectManager
{
public:
CMCObjectManager();
virtual ~CMCObjectManager();
public:
void InitObjmanager();
void ClearObjmanager();
// void AddObject( const char* szFile );
CMCObject * AddObject( char* szFile );
void DelObject( int nIndex );
void AddBuilding( int nIndex, CBaseBuildObject * pBuilding ); // ( 坷宏璃飘 逞滚, 扒拱葛胆 器牢磐..)
void DelBuilding( int nIndex );
void CreateBuffer();
void ReleaseBuffer();
void Render( BOOL bDrawBBox, BOOL bWire );
//void RenderEx( BOOL bColMesh = FALSE, BOOL bDrawBBox = FALSE, BOOL bWire = FALSE );
void RenderEx( BOOL bDraw = TRUE, BOOL bDrawBBox = FALSE, BOOL bWire = FALSE, BOOL bColMesh = FALSE, BOOL bColWire = FALSE );
void RenderAlphaEx();
void RenderObjDecal();
void ShadowRender( BOOL bDraw );
void CullObject( CFrustum* pFrustum );
vector<CBaseBuildObject *> GetBuildObjectList() { return m_listBuild; }
vector<CBaseBuildObject *> GetActiveObjectList() { return m_listActiveObject; }
vector<CBaseBuildObject *> GetCamObjectList() { return m_listCamerObject; }
vector<CBaseBuildObject *> GetPickObjectList() { return m_listPickObject; }
vector<CBaseBuildObject *> GetItemObjectList() { return m_listItemObject; }
mapObject * GetPickObjectListEx() { return &m_mapPickObject; }
//mapObject
CBaseBuildObject * FindBuilding( int nIndex );
protected:
CMCObject * FindObject( int nIndex, char * szObjectName );
//CBaseBuildObject * FindBuilding( int nIndex, char * szObjectName );
void SetBox(D3DXVECTOR3 *pvStartPt, D3DXVECTOR3& vMins, D3DXVECTOR3& vMaxs);
private:
vector<CMCObject *> m_listObject;
// vector<CMCObject *> m_listAlphaObject;
vector<CBaseBuildObject *> m_listBuild;
vector<CBaseBuildObject *> m_listActiveObject;
vector<CBaseBuildObject *> m_listCamerObject;
vector<CBaseBuildObject *> m_listPickObject;
mapObject m_mapPickObject;
vector<CBaseBuildObject *> m_listItemObject;
CBaseBuildObject ** m_pActiveArray;
CBaseBuildObject ** m_pPickArray;
CBaseBuildObject ** m_pCamArray;
// enum QuadLocation { COMPLETELY_OUT = 0,
// PARTIALLY_IN = 1,
// COMPLETELY_IN = 2,
// UNKNOWN = -1 };
};
#endif // !defined(AFX_MCOBJECTMANAGER_H__860DCD2E_77EB_4A55_9A84_37F41F2A8880__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -