dispatchercaller.c 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. class DispatcherCaller extends Dispatcher
  2. {
  3. private void SendLogAtClient(Param1<string> p)
  4. {
  5. PluginDeveloper m = PluginDeveloper.Cast( GetPlugin(PluginDeveloper) );
  6. if ( m != NULL )
  7. {
  8. m.SendServerLogToClient(p.param1);
  9. }
  10. }
  11. private void ScriptConsoleAddPrint(Param1<string> p)
  12. {
  13. UIScriptedMenu ui_menu = GetGame().GetUIManager().GetMenu();
  14. if ( ui_menu && ui_menu.GetID() == MENU_SCRIPTCONSOLE )
  15. {
  16. ScriptConsole scripted_console = ScriptConsole.Cast( ui_menu );
  17. ScriptConsoleEnfScriptTab tab = ScriptConsoleEnfScriptTab.Cast(scripted_console.GetTabHandler(ScriptConsoleEnfScriptTab));
  18. if (tab)
  19. tab.Add(p.param1);
  20. }
  21. }
  22. private void ScriptConsoleHistoryBack()
  23. {
  24. UIScriptedMenu ui_menu = GetGame().GetUIManager().GetMenu();
  25. if ( ui_menu.GetID() == MENU_SCRIPTCONSOLE )
  26. {
  27. ScriptConsole scriptConsole = ScriptConsole.Cast( ui_menu );
  28. ScriptConsoleEnfScriptTab handler = ScriptConsoleEnfScriptTab.Cast(scriptConsole.GetSelectedHandler());
  29. if (handler)
  30. {
  31. handler.HistoryBack();
  32. }
  33. }
  34. }
  35. private void ScriptConsoleHistoryForward()
  36. {
  37. UIScriptedMenu ui_menu = GetGame().GetUIManager().GetMenu();
  38. if ( ui_menu.GetID() == MENU_SCRIPTCONSOLE )
  39. {
  40. ScriptConsole scriptConsole = ScriptConsole.Cast( ui_menu );
  41. ScriptConsoleEnfScriptTab handler = ScriptConsoleEnfScriptTab.Cast(scriptConsole.GetSelectedHandler());
  42. if (handler)
  43. {
  44. handler.HistoryForward();
  45. }
  46. }
  47. }
  48. private void SceneEditorCommand(Param params)
  49. {
  50. UIScriptedMenu ui_menu = GetGame().GetUIManager().GetMenu();
  51. if ( ui_menu && ui_menu.GetID() == MENU_SCENE_EDITOR )
  52. {
  53. SceneEditorMenu editor_menu = SceneEditorMenu.Cast( ui_menu );
  54. editor_menu.SceneEditorCommand( params );
  55. }
  56. }
  57. private void MissionGameplayHideInventory()
  58. {
  59. MissionGameplay mission = MissionGameplay.Cast( GetGame().GetMission() );
  60. if ( mission )
  61. {
  62. mission.HideInventory();
  63. }
  64. }
  65. override Param CallMethod(CallID call_id, Param params)
  66. {
  67. switch(call_id)
  68. {
  69. case CALL_ID_SEND_LOG:
  70. SendLogAtClient(Param1<string>.Cast( params ));
  71. break;
  72. case CALL_ID_SCR_CNSL_ADD_PRINT:
  73. ScriptConsoleAddPrint(Param1<string>.Cast( params ));
  74. break;
  75. case CALL_ID_SCENE_EDITOR_COMMAND:
  76. SceneEditorCommand( params );
  77. break;
  78. case CALL_ID_HIDE_INVENTORY:
  79. MissionGameplayHideInventory();
  80. break;
  81. case CALL_ID_SCR_CNSL_GETSELECTEDITEM:
  82. return new Param1<string>(ScriptConsoleItemsTab.GetLastSelectedObject());
  83. case CALL_ID_SCR_CNSL_HISTORY_BACK:
  84. ScriptConsoleHistoryBack();
  85. break;
  86. case CALL_ID_SCR_CNSL_HISTORY_NEXT:
  87. ScriptConsoleHistoryForward();
  88. break;
  89. }
  90. return null;
  91. }
  92. }