Beispiel #1
0
// ====================================================================================================
// Register / Unregister Entity
// ====================================================================================================
int World::RegisterEntity(Entity* ent)
{
	if (IsEntityRegistered(ent)) return -1;

	// Search free slot
	for (int index = 0; index < g_pConfig->EntityLimit(); index++)
	{
		if (!IsEntityRegistered(index))
		{
			mEntityList[index] = ent;
			return index;
		}
	}

	// oh crap
	// entity list full
	printf("[World] Warning! Entity List is full!\n");
	return -1;
}
Beispiel #2
0
bool CAutoAimManager::RegisterAutoaimTargetObject(const EntityId targetObjectId, const SAutoaimTargetRegisterParams& registerParams)
{
	if (IsEntityRegistered(targetObjectId))
	{
		GameWarning("Trying to register entity more than once in auto aim manager!");
		return false;
	}

	if (!IsSpaceAvailable())
	{
		GameWarning("Maximum number of entities reached for auto aim manager (%d)!", kMaxAutoaimTargets);
		return false;
	}

	RegisterObjectTargetInfo(targetObjectId, registerParams);
	return true;
}
Beispiel #3
0
bool CAutoAimManager::RegisterAutoaimTargetActor(const CActor& targetActor, const SAutoaimTargetRegisterParams& registerParams)
{
	if (IsEntityRegistered(targetActor.GetEntityId()))
	{
		GameWarning("Trying to register entity more than once in auto aim manager!");
		return false;
	}

	if (!IsSpaceAvailable())
	{
		if (gEnv->IsEditor() == false)
		{
			GameWarning("Maximum number of entities reached for auto aim manager (%d)!", kMaxAutoaimTargets);
		}
		return false;
	}

	RegisterCharacterTargetInfo(targetActor, registerParams);
	return true;

}