bool plSceneNode::IOnAdd(plNodeRefMsg* refMsg) { int which = refMsg->fWhich; switch( refMsg->fType ) { case plNodeRefMsg::kDrawable: ISetDrawable(plDrawable::ConvertNoRef(refMsg->GetRef())); return true; case plNodeRefMsg::kPhysical: ISetPhysical(plPhysical::ConvertNoRef(refMsg->GetRef())); return true; case plNodeRefMsg::kAudible: ISetAudible(plAudible::ConvertNoRef(refMsg->GetRef())); return true; case plNodeRefMsg::kObject: ISetObject(plSceneObject::ConvertNoRef(refMsg->GetRef())); return true; case plNodeRefMsg::kLight: ISetLight(plLightInfo::ConvertNoRef(refMsg->GetRef())); return true; case plNodeRefMsg::kOccluder: ISetOccluder(plOccluder::ConvertNoRef(refMsg->GetRef())); return true; case plNodeRefMsg::kGeneric: ISetGeneric(refMsg->GetRef()); } return true; }
void plViewFaceModifier::SetFollowMode(FollowMode m, plKey soKey) { ClearFlag(kFaceCam); ClearFlag(kFaceList); ClearFlag(kFacePlay); ClearFlag(kFaceObj); switch(m) { case kFollowCamera: SetFlag(kFaceCam); break; case kFollowListener: SetFlag(kFaceList); break; case kFollowPlayer: SetFlag(kFacePlay); break; case kFollowObject: SetFlag(kFaceObj); ISetObject(soKey); break; default: hsAssert(false, "Unknown follow mode"); SetFlag(kFaceCam); break; } }