PluginDoorRuler.c
class PluginDoorRuler extends PluginBase
{
PluginDeveloper m_ModuleDeveloper;
ItemBase m_Ruler;
ref Timer m_Timer;
bool m_Initialized;
void CheckInit()
{
if( FreeDebugCamera.GetInstance().IsActive() )
Init();
}
void Init()
{
if(m_Ruler)
m_Ruler.Delete();
m_Initialized = true;
m_Ruler = ItemBase.Cast( g_Game.CreateObject("DoorTestCamera", FreeDebugCamera.GetInstance().GetPosition(), false, false/*ai*/) );
}
override void OnUpdate(float delta_time)
{
if(!m_Initialized) return;
if(!FreeDebugCamera.GetInstance().IsActive()) return;
if(!m_Ruler) return;
vector cam_pos = FreeDebugCamera.GetInstance().GetPosition();
vector ruler_pos = m_Ruler.GetPosition();
vector camera_dir = FreeDebugCamera.GetInstance().GetDirection();
camera_dir.Normalize();
m_Ruler.SetPosition(FreeDebugCamera.GetInstance().GetPosition() + ( camera_dir * 2) );
m_Ruler.SetAngles(FreeDebugCamera.GetInstance().GetAngles());
}
}