Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef UPDATEHINT_H
#define UPDATEHINT_H
#ifdef _WIN32
#pragma once
#endif
class CUpdateHint : public CObject { #define MAX_NOTIFY_CODES 16
struct NotifyList_t { int nCode; CMapObjectList Objects; };
public:
CUpdateHint(void) {}
//
// Called by the code that modifies map objects:
//
inline void PreUpdateObject(CMapClass *pObject); inline void PreUpdateObjects(CMapObjectList *pObjects);
inline void PostUpdateObject(CMapClass *pObject, int nNotifyCode); inline void PostUpdateObjects(CMapObjectList *pObjects, int nNotifyCode);
inline BoundBox const &GetUpdateRegion(void); inline void Reset(void); inline void UpdateBounds(BoundBox &bbox);
//
// Called by the document when processing an update:
//
inline int GetNotifyCodeCount(void); inline int GetNotifyCode(int nIndex);
inline POSITION GetHeadPosition(int nIndex); inline CMapClass *GetNext(int nIndex, POSITION &pos);
protected:
NotifyList_t m_NotifyList[MAX_NOTIFY_CODES]; // Lists of objects with common notification codes.
int m_nListEntries; // Number of items in the notify list.
BoundBox m_UpdateRegion; // 3D map extents that were affected by the change.
};
#endif // UPDATEHINT_H
|