UIPopupScriptPositionManager.c
class UIPopupScriptPositionManager extends UIPopupScript
{
private TextListboxWidget m_LstPositionList;
private EditBoxWidget m_TxtSelectedX;
private EditBoxWidget m_TxtSelectedY;
private EditBoxWidget m_TxtCurrentX;
private EditBoxWidget m_TxtCurrentY;
private PluginConfigDebugProfileFixed m_ConfigDebugProfileFixed;
private ButtonWidget m_TeleportButton;
private ButtonWidget m_CancelButton;
//================================================
// UIPopupScriptPositionManager
//================================================
void UIPopupScriptPositionManager( Widget wgt )
{
m_ConfigDebugProfileFixed = PluginConfigDebugProfileFixed.Cast( GetPlugin( PluginConfigDebugProfileFixed ) );
m_LstPositionList = TextListboxWidget.Cast( wgt.FindAnyWidget("tls_ppp_pm_positions_list") );
m_TxtSelectedX = EditBoxWidget.Cast( wgt.FindAnyWidget("pnl_ppp_pm_selected_x_value") );
m_TxtSelectedY = EditBoxWidget.Cast( wgt.FindAnyWidget("pnl_ppp_pm_selected_y_value") );
m_TxtCurrentX = EditBoxWidget.Cast( wgt.FindAnyWidget("pnl_ppp_pm_current_x_value") );
m_TxtCurrentY = EditBoxWidget.Cast( wgt.FindAnyWidget("pnl_ppp_pm_current_y_value") );
m_TeleportButton = ButtonWidget.Cast( wgt.FindAnyWidget("btn_ppp_pm_teleport") );
m_CancelButton = ButtonWidget.Cast( wgt.FindAnyWidget("btn_ppp_pm_cancel") );
/*
TStringArray positions_array = new TStringArray;
m_ConfigDebugProfileFixed.GetAllPositionsNames( positions_array );
for ( int i = 0; i < positions_array.Count(); i++ )
{
m_LstPositionList.AddItem( positions_array.Get(i), new LocationParams ( positions_array.Get(i), false, vector.Zero), 0);
}*/
}
//================================================
// OnOpen
//================================================
override void OnOpen( Param param )
{
if( PluginSceneManager.GetInstance() )
{
if( PluginSceneManager.GetInstance().GetSelectedSceneObject() )
{
vector player_pos = PluginSceneManager.GetInstance().GetSelectedSceneObject().GetPosition();
m_TxtCurrentX.SetText( player_pos[0].ToString() );
m_TxtCurrentY.SetText( player_pos[2].ToString() );
}
}
}
//================================================
// OnClick
//================================================
override bool OnClick( Widget w, int x, int y, int button )
{
if ( w == m_TeleportButton )
{
float pos_x = m_TxtSelectedX.GetText().ToFloat();
float pos_z = m_TxtSelectedY.GetText().ToFloat();
PluginSceneManager.GetInstance().SelectedObjectSetPosX( pos_x );
PluginSceneManager.GetInstance().SelectedObjectSetPosZ( pos_z );
PopupBack();
return true;
}
else if ( w == m_CancelButton )
{
PopupBack();
return true;
}
return false;
}
void OnItemSelected( Widget w, int x, int y, int row, int column, int oldRow, int oldColumn )
{
/*
vector position = m_ConfigDebugProfileFixed.GetPositionByNameEx( GetCurrentLocationName() );
m_TxtSelectedX.SetText( position[0].ToString() );
m_TxtSelectedY.SetText( position[2].ToString() );
*/
}
string GetCurrentLocationName()
{
if ( m_LstPositionList.GetSelectedRow() != -1 )
{
string position_name;
m_LstPositionList.GetItemText( m_LstPositionList.GetSelectedRow(), 0, position_name );
return position_name;
}
return "";
}
}