コード例 #1
0
float MoonInstanceScript::GetRangeToObject(Object* pObject, float pX, float pY, float pZ)
{
	if(pObject == NULL)
		return 0.0f;

	return GetRangeToObject(pObject->GetPositionX(), pObject->GetPositionY(), pObject->GetPositionZ(), pX, pY, pZ);
}
コード例 #2
0
float MoonInstanceScript::GetRangeToObject(Object* pObjectA, Object* pObjectB)
{
	if(pObjectA == NULL || pObjectB == NULL)
		return 0.0f;

	return GetRangeToObject(pObjectA->GetPositionX(), pObjectA->GetPositionY(), pObjectA->GetPositionZ(), pObjectB->GetPositionX(), pObjectB->GetPositionY(), pObjectB->GetPositionZ());
}
コード例 #3
0
float MapManagerScript::GetRangeToObject( Object *pObjectA, Object *pObjectB )
{
    if ( pObjectA == NULLOBJ || pObjectB == NULLOBJ )
        return 0.0f;

    return GetRangeToObject( pObjectA->GetPositionX(), pObjectA->GetPositionY(), pObjectA->GetPositionZ(), pObjectB->GetPositionX(), pObjectB->GetPositionY(), pObjectB->GetPositionZ() );
}
コード例 #4
0
Creature*	MoonInstanceScript::FindClosestCreatureOnMap(uint32 pEntry, float pX, float pY, float pZ)
{
	CreatureSet Creatures = FindCreaturesOnMap(pEntry);

	if(Creatures.size() == NULL)
		return NULL;

	if(Creatures.size() == 1)
		return *(Creatures.begin());

	Creature* NearestCreature = NULL;
	float Distance, NearestDistance = 99999;
	for(CreatureSet::iterator Iter = Creatures.begin(); Iter != Creatures.end(); ++Iter)
	{
		Distance = GetRangeToObject(*Iter, pX, pY, pZ);
		if(Distance < NearestDistance)
		{
			NearestDistance = Distance;
			NearestCreature = (*Iter);
		}
	}
	return NearestCreature;
}
コード例 #5
0
GameObject* MoonInstanceScript::FindClosestGameObjectOnMap(uint32 pEntry, float pX, float pY, float pZ)
{
	GameObjectSet GameObjects = FindGameObjectsOnMap(pEntry);

	if(GameObjects.size() == NULL)
		return NULL;

	if(GameObjects.size() == 1)
		return *(GameObjects.begin());

	GameObject* NearestObject = NULL;
	float Distance, NearestDistance = 99999;
	for(GameObjectSet::iterator Iter = GameObjects.begin(); Iter != GameObjects.end(); ++Iter)
	{
		Distance = GetRangeToObject(*Iter, pX, pY, pZ);
		if(Distance < NearestDistance)
		{
			NearestDistance = Distance;
			NearestObject = (*Iter);
		}
	}
	return NearestObject;
}