Beispiel #1
0
WorldObject* ObjectAccessor::GetWorldObject(WorldObject const& p, uint64 guid)
{
    switch (GUID_HIPART(guid))
    {
    case HIGHGUID_PLAYER:
        return GetPlayer(p, guid);
    case HIGHGUID_TRANSPORT:
    case HIGHGUID_MO_TRANSPORT:
    case HIGHGUID_GAMEOBJECT:
        return GetGameObject(p, guid);
    case HIGHGUID_VEHICLE:
    case HIGHGUID_UNIT:
        return GetCreature(p, guid);
    case HIGHGUID_PET:
        return GetPet(p, guid);
    case HIGHGUID_DYNAMICOBJECT:
        return GetDynamicObject(p, guid);
    case HIGHGUID_AREATRIGGER:
        return GetAreaTrigger(p, guid);
    case HIGHGUID_CORPSE:
        return GetCorpse(p, guid);
    default:
        return NULL;
    }
}
Beispiel #2
0
WorldObject* ObjectAccessor::GetWorldObject(WorldObject const& p, ObjectGuid const& guid)
{
    switch (guid.GetHigh())
    {
        case HighGuid::Player:        return GetPlayer(p, guid);
        case HighGuid::Transport:
        case HighGuid::GameObject:    return GetGameObject(p, guid);
        case HighGuid::Vehicle:
        case HighGuid::Creature:      return GetCreature(p, guid);
        case HighGuid::Pet:           return GetPet(p, guid);
        case HighGuid::DynamicObject: return GetDynamicObject(p, guid);
        case HighGuid::AreaTrigger:   return GetAreaTrigger(p, guid);
        case HighGuid::Corpse:        return GetCorpse(p, guid);
        default:                      return nullptr;
    }
}
Beispiel #3
0
Object* ObjectAccessor::GetObjectByTypeMask(WorldObject const& p, uint64 guid, uint32 typemask)
{
    switch (GUID_HIPART(guid))
    {
    case HIGHGUID_ITEM:
        if (typemask & TYPEMASK_ITEM && p.GetTypeId() == TYPEID_PLAYER)
            return ((Player const&)p).GetItemByGuid(guid);
        break;
    case HIGHGUID_PLAYER:
        if (typemask & TYPEMASK_PLAYER)
            return GetPlayer(p, guid);
        break;
    case HIGHGUID_TRANSPORT:
    case HIGHGUID_MO_TRANSPORT:
    case HIGHGUID_GAMEOBJECT:
        if (typemask & TYPEMASK_GAMEOBJECT)
            return GetGameObject(p, guid);
        break;
    case HIGHGUID_UNIT:
    case HIGHGUID_VEHICLE:
        if (typemask & TYPEMASK_UNIT)
            return GetCreature(p, guid);
        break;
    case HIGHGUID_PET:
        if (typemask & TYPEMASK_UNIT)
            return GetPet(p, guid);
        break;
    case HIGHGUID_DYNAMICOBJECT:
        if (typemask & TYPEMASK_DYNAMICOBJECT)
            return GetDynamicObject(p, guid);
        break;
    case HIGHGUID_AREATRIGGER:
        if (typemask & TYPEMASK_AREATRIGGER)
            return GetAreaTrigger(p, guid);
        break;
    case HIGHGUID_CORPSE:
        break;
    }

    return NULL;
}
Beispiel #4
0
Object* ObjectAccessor::GetObjectByTypeMask(WorldObject const& p, ObjectGuid const& guid, uint32 typemask)
{
    switch (guid.GetHigh())
    {
        case HighGuid::Item:
            if (typemask & TYPEMASK_ITEM && p.GetTypeId() == TYPEID_PLAYER)
                return ((Player const&)p).GetItemByGuid(guid);
            break;
        case HighGuid::Player:
            if (typemask & TYPEMASK_PLAYER)
                return GetPlayer(p, guid);
            break;
        case HighGuid::Transport:
        case HighGuid::GameObject:
            if (typemask & TYPEMASK_GAMEOBJECT)
                return GetGameObject(p, guid);
            break;
        case HighGuid::Creature:
        case HighGuid::Vehicle:
            if (typemask & TYPEMASK_UNIT)
                return GetCreature(p, guid);
            break;
        case HighGuid::Pet:
            if (typemask & TYPEMASK_UNIT)
                return GetPet(p, guid);
            break;
        case HighGuid::DynamicObject:
            if (typemask & TYPEMASK_DYNAMICOBJECT)
                return GetDynamicObject(p, guid);
            break;
        case HighGuid::AreaTrigger:
            if (typemask & TYPEMASK_AREATRIGGER)
                return GetAreaTrigger(p, guid);
        case HighGuid::Corpse:
            break;
        default:
            break;
    }

    return nullptr;
}