uipopupscriptpositionmanager.c 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. class UIPopupScriptPositionManager extends UIPopupScript
  2. {
  3. private TextListboxWidget m_LstPositionList;
  4. private EditBoxWidget m_TxtSelectedX;
  5. private EditBoxWidget m_TxtSelectedY;
  6. private EditBoxWidget m_TxtCurrentX;
  7. private EditBoxWidget m_TxtCurrentY;
  8. private PluginConfigDebugProfileFixed m_ConfigDebugProfileFixed;
  9. private ButtonWidget m_TeleportButton;
  10. private ButtonWidget m_CancelButton;
  11. //================================================
  12. // UIPopupScriptPositionManager
  13. //================================================
  14. void UIPopupScriptPositionManager( Widget wgt )
  15. {
  16. m_ConfigDebugProfileFixed = PluginConfigDebugProfileFixed.Cast( GetPlugin( PluginConfigDebugProfileFixed ) );
  17. m_LstPositionList = TextListboxWidget.Cast( wgt.FindAnyWidget("tls_ppp_pm_positions_list") );
  18. m_TxtSelectedX = EditBoxWidget.Cast( wgt.FindAnyWidget("pnl_ppp_pm_selected_x_value") );
  19. m_TxtSelectedY = EditBoxWidget.Cast( wgt.FindAnyWidget("pnl_ppp_pm_selected_y_value") );
  20. m_TxtCurrentX = EditBoxWidget.Cast( wgt.FindAnyWidget("pnl_ppp_pm_current_x_value") );
  21. m_TxtCurrentY = EditBoxWidget.Cast( wgt.FindAnyWidget("pnl_ppp_pm_current_y_value") );
  22. m_TeleportButton = ButtonWidget.Cast( wgt.FindAnyWidget("btn_ppp_pm_teleport") );
  23. m_CancelButton = ButtonWidget.Cast( wgt.FindAnyWidget("btn_ppp_pm_cancel") );
  24. /*
  25. TStringArray positions_array = new TStringArray;
  26. m_ConfigDebugProfileFixed.GetAllPositionsNames( positions_array );
  27. for ( int i = 0; i < positions_array.Count(); i++ )
  28. {
  29. m_LstPositionList.AddItem( positions_array.Get(i), new LocationParams ( positions_array.Get(i), false, vector.Zero), 0);
  30. }*/
  31. }
  32. //================================================
  33. // OnOpen
  34. //================================================
  35. override void OnOpen( Param param )
  36. {
  37. if( PluginSceneManager.GetInstance() )
  38. {
  39. if( PluginSceneManager.GetInstance().GetSelectedSceneObject() )
  40. {
  41. vector player_pos = PluginSceneManager.GetInstance().GetSelectedSceneObject().GetPosition();
  42. m_TxtCurrentX.SetText( player_pos[0].ToString() );
  43. m_TxtCurrentY.SetText( player_pos[2].ToString() );
  44. }
  45. }
  46. }
  47. //================================================
  48. // OnClick
  49. //================================================
  50. override bool OnClick( Widget w, int x, int y, int button )
  51. {
  52. if ( w == m_TeleportButton )
  53. {
  54. float pos_x = m_TxtSelectedX.GetText().ToFloat();
  55. float pos_z = m_TxtSelectedY.GetText().ToFloat();
  56. PluginSceneManager.GetInstance().SelectedObjectSetPosX( pos_x );
  57. PluginSceneManager.GetInstance().SelectedObjectSetPosZ( pos_z );
  58. PopupBack();
  59. return true;
  60. }
  61. else if ( w == m_CancelButton )
  62. {
  63. PopupBack();
  64. return true;
  65. }
  66. return false;
  67. }
  68. void OnItemSelected( Widget w, int x, int y, int row, int column, int oldRow, int oldColumn )
  69. {
  70. /*
  71. vector position = m_ConfigDebugProfileFixed.GetPositionByNameEx( GetCurrentLocationName() );
  72. m_TxtSelectedX.SetText( position[0].ToString() );
  73. m_TxtSelectedY.SetText( position[2].ToString() );
  74. */
  75. }
  76. string GetCurrentLocationName()
  77. {
  78. if ( m_LstPositionList.GetSelectedRow() != -1 )
  79. {
  80. string position_name;
  81. m_LstPositionList.GetItemText( m_LstPositionList.GetSelectedRow(), 0, position_name );
  82. return position_name;
  83. }
  84. return "";
  85. }
  86. }