class hudDroneController extends inkHUDGameController
{
	private editable var m_Date : inkTextRef;
	private editable var m_Timer : inkTextRef;
	private editable var m_CameraID : inkTextRef;
	private var m_scanBlackboard : weak< IBlackboard >;
	private var m_psmBlackboard : weak< IBlackboard >;
	private var m_PSM_BBID : CallbackHandle;
	private var m_root : weak< inkCompoundWidget >;
	private var m_currentZoom : Float;
	private var currentTime : GameTime;

	protected event OnInitialize()
	{
		var ownerObject : GameObject;
		m_scanBlackboard = GetBlackboardSystem().Get( GetAllBlackboardDefs().UI_Scanner );
		if( m_scanBlackboard )
		{
		}
		m_root = ( ( inkCompoundWidget )( GetRootWidget() ) );
		ownerObject = ( ( GameObject )( GetOwnerEntity() ) );
		currentTime = GameInstance.GetTimeSystem( ownerObject.GetGame() ).GetGameTime();
		inkTextRef.SetText( m_Timer, ( ( ( ( ( String )( GameTime.Hours( currentTime ) ) ) + ":" ) + ( ( String )( GameTime.Minutes( currentTime ) ) ) ) + ":" ) + ( ( String )( GameTime.Seconds( currentTime ) ) ) );
		inkTextRef.SetText( m_Date, "05-13-2077" );
		inkTextRef.SetText( m_CameraID, "Story-base-gameplay-gui-widgets-camera_hud-hud_camera-_localizationString3" );
	}

	protected event OnUninitialize() {}

	protected event OnPlayerAttach( playerPuppet : GameObject )
	{
		m_psmBlackboard = GetPSMBlackboard( playerPuppet );
		if( m_psmBlackboard )
		{
			m_PSM_BBID = m_psmBlackboard.RegisterDelayedListenerFloat( GetAllBlackboardDefs().PlayerStateMachine.ZoomLevel, this, 'OnZoomChange' );
		}
	}

	protected event OnPlayerDetach( playerPuppet : GameObject )
	{
		m_psmBlackboard.UnregisterDelayedListener( GetAllBlackboardDefs().PlayerStateMachine.ZoomLevel, m_PSM_BBID );
	}

	protected event OnZoomChange( evt : Float )
	{
		m_currentZoom = evt;
	}

}

