bool CzUIWebView::InitView(bool modal, bool transparent, const char* java_script) { PrevVisible = false; Modal = modal; if (PLATFORM_UI->isWebViewAvailable()) { // If local html then display the local html instead if (!TempFilename.isEmpty()) URI = TempFilename; if (Modal) PLATFORM_UI->CreateWebViewModal(URI.c_str()); else { WebView = PLATFORM_UI->CreateWebView(transparent); PLATFORM_UI->setWebViewUIView(WebView, this); if (!URI.isEmpty()) PLATFORM_UI->NavigateWebView(WebView, URI.c_str()); if (java_script != NULL) PLATFORM_UI->SendJavascriptToWebView(WebView, java_script); } } else return false; OldPosition.x = 0; OldPosition.y = 0; PrevVisible = !IsVisible; UpdateVisual(); return true; }
//------------------------------------------------------------------------ bool CTracer::Update(float frameTime, const Vec3 &camera) { if(m_age==0.0f) { m_age+=0.002f; frameTime = 0.002f; } else m_age += frameTime; if (m_age >= m_lifeTime) return false; Vec3 end(m_dest); if (((m_pos-end).len2() <= 0.25f)) return false; Vec3 dp = end-m_pos; float dist = dp.len(); Vec3 dir = dp/dist; float scaleMult=1.0f; float minDistance = g_pGameCVars->tracer_min_distance; float maxDistance = g_pGameCVars->tracer_max_distance; float minScale = g_pGameCVars->tracer_min_scale; float maxScale = g_pGameCVars->tracer_max_scale; float sqrRadius = g_pGameCVars->tracer_player_radiusSqr; float cameraDistance = (m_pos-camera).len2(); float speed = m_speed; //Slow down tracer when near the player if(cameraDistance<=sqrRadius) speed *= (0.35f + (cameraDistance/(sqrRadius*2))); m_pos = m_pos+dir*MIN(speed*frameTime, dist); cameraDistance = (m_pos-camera).len2(); if (cameraDistance<=minDistance*minDistance) scaleMult=minScale; else if (cameraDistance>=maxDistance*maxDistance) scaleMult=maxScale; else { float t=(sqrtf(cameraDistance)-minDistance)/(maxDistance-minDistance); scaleMult=minScale+t*(maxScale-minScale); } const float assetLenght = 2.0f; if((m_pos-m_dest).len2()<0.25f) return false; UpdateVisual(m_pos, dir, m_useGeometry?scaleMult:1.0f, 1.0f); return true; }