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; }
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; }