uipopupscriptinitscript.c 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. class UIPopupScriptInitScript extends UIPopupScript
  2. {
  3. private MultilineEditBoxWidget m_MedxInitScript;
  4. private ButtonWidget m_BtnRun;
  5. private ButtonWidget m_BtnSave;
  6. private ButtonWidget m_BtnCancel;
  7. private int m_SceneObjectIndex;
  8. private SceneObject m_SceneObject;
  9. private PluginSceneManager m_ModuleSceneManager;
  10. //================================================
  11. // UIPopupScriptInitScript
  12. //================================================
  13. void UIPopupScriptInitScript(Widget wgt)
  14. {
  15. m_ModuleSceneManager = PluginSceneManager.Cast( GetPlugin(PluginSceneManager) );
  16. m_MedxInitScript = MultilineEditBoxWidget.Cast( wgt.FindAnyWidget("pnl_ppp_is_init_script_value") );
  17. m_BtnRun = ButtonWidget.Cast( wgt.FindAnyWidget("btn_ppp_is_run") );
  18. m_BtnSave = ButtonWidget.Cast( wgt.FindAnyWidget("btn_ppp_is_save") );
  19. m_BtnCancel = ButtonWidget.Cast( wgt.FindAnyWidget("btn_ppp_is_cancel") );
  20. }
  21. //================================================
  22. // OnOpen
  23. //================================================
  24. override void OnOpen(Param param)
  25. {
  26. m_MedxInitScript.SetText( "" );
  27. if ( param != NULL )
  28. {
  29. Param2<int, SceneObject> param_scene_object = Param2<int, SceneObject>.Cast( param );
  30. int index = param_scene_object.param1;
  31. SceneObject scene_object = param_scene_object.param2;
  32. if ( index > -1 && scene_object != NULL )
  33. {
  34. m_SceneObjectIndex = index;
  35. m_SceneObject = scene_object;
  36. m_MedxInitScript.SetText( m_SceneObject.GetInitScript() );
  37. }
  38. }
  39. }
  40. //================================================
  41. // OnClick
  42. //================================================
  43. override bool OnClick(Widget w, int x, int y, int button)
  44. {
  45. super.OnClick(w, x, y, button);
  46. if ( w == m_BtnRun )
  47. {
  48. if ( m_SceneObject != NULL )
  49. {
  50. string text_run;
  51. m_MedxInitScript.GetText( text_run );
  52. m_ModuleSceneManager.ExecuteEnforceScript( m_SceneObjectIndex, m_SceneObject, text_run );
  53. }
  54. }
  55. else if ( w == m_BtnSave )
  56. {
  57. if ( m_SceneObject != NULL )
  58. {
  59. string text_script;
  60. m_MedxInitScript.GetText( text_script );
  61. m_SceneObject.SetInitScript( text_script );
  62. }
  63. PopupBack();
  64. return true;
  65. }
  66. else if ( w == m_BtnCancel )
  67. {
  68. PopupBack();
  69. return true;
  70. }
  71. return false;
  72. }
  73. }