DIFF

PluginTargetTemperature.c


class PluginTargetTemperature extends PluginBase
{
	protected PlayerBase m_pPlayer;
	
	void Init(PlayerBase player)
	{
		m_pPlayer = player;
	}
	
	void ShowDebug(bool show)
	{
		DbgUI.BeginCleanupScope();

		if (show && m_pPlayer)
		{
			EntityAI ent = GetTargetEntity();
			
			DbgUI.Begin("Target Temperature", 10, 10);
			DbgUI.Panel("", 150, 1);
			if (ent)
			{
				DbgUI.Text("Entity: : " + ent.GetType());
				DbgUI.Text("Temperature: " + ent.GetTemperature());
				DbgUI.Text("Frozen State: " + ent.GetIsFrozen());
				DbgUI.Text("Freeze/Thaw Progress: " + ent.GetFreezeThawProgress());
			}
			DbgUI.End();
		}

		DbgUI.EndCleanupScope();
	}
	
	//! utilizes camera position from the CGame
	EntityAI GetTargetEntity()
	{
		float hitFraction;
		vector start = g_Game.GetCurrentCameraPosition();
		vector end = start + (g_Game.GetCurrentCameraDirection() * 5.0);	

		vector hitPos, hitNormal;
		Object hitObj;
		
		PhxInteractionLayers hitMask = 0xFFFFFFFFFF;

		DayZPhysics.RayCastBullet(start, end, hitMask, m_pPlayer, hitObj, hitPos, hitNormal, hitFraction);
		
		return EntityAI.Cast(hitObj);
	} 
}