⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search.h

📁 决战帝王1.5武神降临对喜爱决战的玩家共享研究用
💻 H
字号:
///////////////////////////////////////////////////////////////////////////////
// CSearch Class Header files
//
#ifndef __CSEARCH_H
#define __CSEARCH_H

#include "Session.h"

template<class T>
class CSearchBase
{
protected:
	int m_arrayDim;
	T **m_pDescArray;

public:
	CSearchBase()
	{
		m_arrayDim = 0;
		m_pDescArray = NULL;
	};

	CSearchBase(int dim);
	virtual ~CSearchBase();

	int MakeArray(int dim);

	T *GetObject(int idx);
	void SetObjectToFree(int idx);
	void SetObject(int idx, T *pDesc);
};

template <class T>
CSearchBase<T>::CSearchBase(int dim)
{
	MakeArray(dim);
}

template <class T>
CSearchBase<T>::~CSearchBase()
{
	if ( m_pDescArray )
	{
		for ( int i = 0; i < m_arrayDim; i++ )
		{
			m_pDescArray[i] = NULL;
		}

		delete m_pDescArray;

		m_pDescArray = NULL;
	}
}

template <class T>
int CSearchBase<T>::MakeArray(int dim)
{
	m_arrayDim = dim;

	m_pDescArray = new T* [dim+1];
	if ( !m_pDescArray )
		return -1;

	for ( int i = 0; i < dim; i++ )
	{
		m_pDescArray[i] = NULL;
	}

	return dim;
}

template <class T>
void CSearchBase<T>::SetObjectToFree(int idx)
{
	m_pDescArray[idx] = NULL;
}

template <class T>
void CSearchBase<T>::SetObject(int idx, T *pDesc)
{
	m_pDescArray[idx] = pDesc;
}

template <class T>
T* CSearchBase<T>::GetObject( int idx )
{
	if ( m_pDescArray[idx] )
	{
		return m_pDescArray[idx];	
	}

	return NULL;
};

//-----------------------------------------------------------------------------
// CSearch Class Header.
class USER;
class CSearch : public CSearchBase<USER>
{
public:
	CSearch();
	CSearch(int dim);
	~CSearch();

	USER *GetUserUid(int uid);
	void SetUserUid(int uid, USER *pUser);
	void FreeUser( int uid );

};

/*
class CRoom;
class CRoomSearch : public CSearchBase<CRoom>
{
public:
	CRoomSearch();
	CRoomSearch(int dim);
	~CRoomSearch();

	CRoom *GetRoomUid(int uid);
	void SetRoomUid(int uid, CRoom *pRoom);
	void FreeRoom( int uid );

};


class CNPC;
class CNpcSearch : public CSearchBase<CNPC>
{
public:
	CNpcSearch();
	CNpcSearch(int dim);
	~CNpcSearch();

	CNPC *GetNpcUid(int uid);
	void SetNpcUid(int uid, CNPC *pNpc);
	void FreeNpc( int uid );

};
*/

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -