Unit* ObjectAccessor::GetUnit(WorldObject const &u, uint64 guid) { if(!guid) return NULL; if(IS_PLAYER_GUID(guid)) return FindPlayer(guid); return GetCreatureOrPetOrVehicle(u, guid); }
Unit* ObjectAccessor::GetUnit(WorldObject const &u, ObjectGuid guid) { if(guid.IsEmpty()) return NULL; if(guid.IsPlayer()) return FindPlayer(guid); return GetCreatureOrPetOrVehicle(u, guid); }
Object* ObjectAccessor::GetObjectByTypeMask(WorldObject const &p, uint64 guid, uint32 typemask) { Object *obj = NULL; if(typemask & TYPEMASK_PLAYER) { obj = FindPlayer(guid); if(obj) return obj; } if(typemask & TYPEMASK_UNIT) { obj = GetCreatureOrPetOrVehicle(p,guid); if(obj) return obj; } if(typemask & TYPEMASK_GAMEOBJECT) { obj = p.GetMap()->GetGameObject(guid); if(obj) return obj; } if(typemask & TYPEMASK_DYNAMICOBJECT) { obj = p.GetMap()->GetDynamicObject(guid); if(obj) return obj; } if(typemask & TYPEMASK_ITEM && p.GetTypeId() == TYPEID_PLAYER) { obj = ((Player const &)p).GetItemByGuid( guid ); if(obj) return obj; } return NULL; }