コード例 #1
0
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;
}
コード例 #2
0
//------------------------------------------------------------------------
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;
}