void plSDLModifier::ReceiveState(const plStateDataRecord* srcState) { hsAssert(fStateCache, "nil stateCache"); if (plNetObjectDebugger::GetInstance() && plNetObjectDebugger::GetInstance()->IsDebugObject(GetStateOwnerKey()->ObjectIsLoaded())) { gMooseDump=true; plNetObjectDebugger::GetInstance()->SetDebugging(true); srcState->DumpToObjectDebugger(plFormat("Object {} RECVS SDL state", GetStateOwnerKey()->GetName()).c_str()); gMooseDump=false; } if (srcState->IsUsed()) { plSynchEnabler ps(false); // disable dirty tracking while we are receiving/applying state // apply incoming state ISetCurrentStateFrom(srcState); // apply incoming state to sceneObj // cache state, send notifications if necessary fStateCache->UpdateFrom(*srcState, false); // update local copy of state fSentOrRecvdState = true; } else { plNetClientApp::GetInstance()->DebugMsg("\tReceiving and ignoring unused SDL state msg: type %s, object %s", GetSDLName(), GetStateOwnerKey()->GetName().c_str()); } if (plNetObjectDebugger::GetInstance()) plNetObjectDebugger::GetInstance()->SetDebugging(false); }
void plMorphSequenceSDLMod::SetCurrentStateFrom(const plStateDataRecord* srcState) { ISetCurrentStateFrom(srcState); }