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

📄 objectlist.cpp

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 CPP
字号:

#include "StdAfx.h"
#include <Macro.h>
#include "ObjectList.h"
#include "Object.h"
#include "Player.h"


ObjectList::ObjectList()
{
}

ObjectList::~ObjectList()
{
	RemoveAll();
}

BOOL ObjectList::Add(Object *pObject)
{
	M_OBJECT_LIST_ITR	iObject = find(pObject->GetObjectKey());
	
	if ( iObject != end() )
	{
		return FALSE;
	}

	//(*this)[pObject->GetObjectKey()] = pObject;
	insert(M_OBJECT_LIST_PAIR(pObject->GetObjectKey(),pObject)); 
	
	return TRUE;
}

BOOL ObjectList::Remove(Object *pObject)
{
	SASSERT( pObject != NULL, "[ObjectList::Remove] pObject != NULL" );

	M_OBJECT_LIST_ITR	iObject = find( pObject->GetObjectKey() );

	if ( iObject != end() )
	{
		erase( iObject );
		return TRUE;
	}

	return FALSE;
}

Object * ObjectList::Remove(const DWORD dwObjKey)
{
	M_OBJECT_LIST_ITR	iObject = find( dwObjKey );

	if (iObject != end())
	{
		Object* pObject = iObject->second;
		erase( iObject );
		return pObject;
	}
	
	return NULL;
}

Object* ObjectList::Find(const DWORD dwObjKey)
{
	M_OBJECT_LIST_ITR	iObject = find( dwObjKey );

	if (iObject != end())
	{
		return iObject->second;
	}

	return NULL;
}

VOID ObjectList::RemoveAll()
{
	clear();	
}

VOID ObjectList::Update(DWORD dwElapsedTime)
{
    M_OBJECT_LIST_ITR iObject = begin();
	
	for ( ; iObject != end() ; iObject++ )
	{
		Object* pObject = iObject->second;
		pObject->Update( dwElapsedTime );
	}
}

⌨️ 快捷键说明

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