Exemplo n.º 1
0
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;
    }
}