Ejemplo n.º 1
0
plKey hsKeyedObject::RegisterAs(plFixedKeyId fixedKey)
{
    plUoid meUoid(fixedKey);

    hsAssert(meUoid.GetClassType() == ClassIndex(), "Registering as wrong type!");
    plKey key = hsgResMgr::ResMgr()->FindKey(meUoid);
    if (key == nil)
    {
        key = hsgResMgr::ResMgr()->NewKey(meUoid, this);
    }
    else
    {
        SetKey(key);
    }

    return key;
}
Ejemplo n.º 2
0
plKey hsKeyedObject::RegisterAs(plFixedKeyId fixedKey)
{
    plUoid meUoid(fixedKey);

    hsAssert(meUoid.GetClassType() == ClassIndex(), "Registering as wrong type!");
    plKey key = hsgResMgr::ResMgr()->FindKey(meUoid);
    if (key == nil)
    {
        key = hsgResMgr::ResMgr()->NewKey(meUoid, this);

        //  the key list "helpfully" assigns us an object id.
        // we don't want one for fixed keys however (initialization order might bite us in the ass)
        static_cast<plKeyImp*>(key)->SetObjectID(0);
    }
    else
    {
        SetKey(key);
    }

    return key;
}