void CharacterController::SetupPlayerInput(OIS::IInputBase* input) { InjectKeyUp(input->GetKeyboard()); InjectKeyDown(input->GetKeyboard()); InjectMouseButtonUp(input->GetMouse()); InjectMouseButtonDown(input->GetMouse()); InjectMouseMove(input->GetMouse()); }
void ZenFWRenderer::Run() { PROFILER_START(ZenFWRenderer::Run()); // VRAM upload VRAMService->ProcessDatas(); //mDefaultSkyColor if (mRenderProfile == RENDER_PROFILE_NETBOOK) GDD->Clear( CLEAR_COLOR|CLEAR_Z|CLEAR_STENCIL, gAtmosphere->GetDefaultSkyColor()->ConvToRGBA()); else GDD->Clear( /*CLEAR_COLOR|*/CLEAR_Z|CLEAR_STENCIL); ZCamera *pCam = GetActiveCamera(); GDD->SetProjectionMatrix(pCam->GetProjectionMatrix()); GDD->SetViewMatrix(pCam->GetTransform()->GetWorldMatrix()); if (GDD->BeginScene()) { GDD->GetQueueToRasterize()->Rasterize(mRenderProfile); static bool bPreviousMouseButDown = false; int X, Y; GetInputDevice()->MouseXY(&X, &Y); bool bCurrentMouseButDown = GetInputDevice()->MouseButDown(1); InjectMouseMove(X, Y); if ( bCurrentMouseButDown && (!bPreviousMouseButDown)) InjectMouseButtons(0, true); if ( (! bCurrentMouseButDown) && bPreviousMouseButDown) InjectMouseButtons(0, false); bPreviousMouseButDown = bCurrentMouseButDown; if (mProtoGui) mProtoGui->Tick(); TickCEGui(gTimer.GetEllapsed()); } if (mSoundRenderer) mSoundRenderer->Tick(); PROFILER_END(); }