// ThinkFunction: Will be called by the engine once per tick/frame. // Useful for regular updates (e.g. keyboard, artificial intelligence). void VisMouseCamera_cl::ThinkFunction() { if (m_bSimulationIndependent) return; float fTimeDiff = Vision::GetTimer()->GetTimeDifference(); TickFunction(fTimeDiff); }
void VisMouseCamera_cl::OnHandleCallback(IVisCallbackDataObject_cl *pData) { if (pData->m_pSender == &Vision::Callbacks.OnFrameUpdatePreRender) { // this function gets called once per frame, not once per simulation tick if (this->GetThinkFunctionStatus()) // take the same flag into account { float fTimeDiff = Vision::GetUITimer()->GetTimeDifference(); TickFunction(fTimeDiff); } } else if (pData->m_pSender == &Vision::Callbacks.OnVideoChanged) { #if defined(SUPPORTS_MULTITOUCH) // Re-initialize valid area if (m_pVirtualThumbStick != NULL) m_pVirtualThumbStick->SetValidArea(VRectanglef()); #endif } }