public BuildCommandsComponent(GUIController guiController, AGSEditor agsEditor)
: base(guiController, agsEditor)
{
ScriptEditor.AttemptToEditScript += new ScriptEditor.AttemptToEditScriptHandler(ScriptEditor_AttemptToEditScript);
_guiController.QueryEditorShutdown += new GUIController.QueryEditorShutdownHandler(guiController_QueryEditorShutdown);
_guiController.InteractiveTasks.TestGameStarting += new InteractiveTasks.TestGameStartingHandler(AGSEditor_TestGameStarting);
_guiController.InteractiveTasks.TestGameFinished += new InteractiveTasks.TestGameFinishedHandler(AGSEditor_TestGameFinished);
_guiController.RegisterIcon("BuildIcon", Resources.ResourceManager.GetIcon("build.ico"));
_guiController.RegisterIcon("RunIcon", Resources.ResourceManager.GetIcon("run.ico"));
_guiController.RegisterIcon("StepIcon", Resources.ResourceManager.GetIcon("step.ico"));
_guiController.RegisterIcon("StopIcon", Resources.ResourceManager.GetIcon("stop.ico"));
_guiController.RegisterIcon("PauseIcon", Resources.ResourceManager.GetIcon("pause.ico"));
_guiController.RegisterIcon("RunMenuIcon", Resources.ResourceManager.GetIcon("menu_build_run.ico"));
_guiController.RegisterIcon("StepMenuIcon", Resources.ResourceManager.GetIcon("menu_build_step-into.ico"));
_guiController.RegisterIcon("StopMenuIcon", Resources.ResourceManager.GetIcon("menu_build_stop.ico"));
_guiController.RegisterIcon("PauseMenuIcon", Resources.ResourceManager.GetIcon("menu_build_pause.ico"));
_guiController.RegisterIcon("RebuildAllMenuIcon", Resources.ResourceManager.GetIcon("menu_build_rebuild-files.ico"));
_guiController.RegisterIcon("SetupGameMenuIcon", Resources.ResourceManager.GetIcon("menu_build_gamesetup.ico"));
_guiController.RegisterIcon("MenuIconBuildEXE", Resources.ResourceManager.GetIcon("menu_file_built-exe.ico"));
_guiController.RegisterIcon("MenuIconTest", Resources.ResourceManager.GetIcon("menu_build_runwithout.ico"));
_guiController.AddMenu(this, DEBUG_MENU_ID, "&Build");
MenuCommands debugCommands = new MenuCommands(DEBUG_MENU_ID, GUIController.FILE_MENU_ID);
debugCommands.Commands.Add(new MenuCommand(RUN_COMMAND, "&Run", Keys.F5, "RunMenuIcon"));
debugCommands.Commands.Add(new MenuCommand(TEST_GAME_COMMAND, "Run without &debugger", Keys.Control | Keys.F5, "MenuIconTest"));
debugCommands.Commands.Add(new MenuCommand(STEP_INTO_COMMAND, "S&tep into", Keys.F11, "StepMenuIcon"));
debugCommands.Commands.Add(new MenuCommand(PAUSE_COMMAND, "&Pause", "PauseMenuIcon"));
debugCommands.Commands.Add(new MenuCommand(STOP_COMMAND, "&Stop", "StopMenuIcon"));
debugCommands.Commands.Add(MenuCommand.Separator);
debugCommands.Commands.Add(new MenuCommand(COMPILE_GAME_COMMAND, "&Build EXE", Keys.F7, "MenuIconBuildEXE"));
debugCommands.Commands.Add(new MenuCommand(REBUILD_GAME_COMMAND, "Rebuild &all files", "RebuildAllMenuIcon"));
debugCommands.Commands.Add(new MenuCommand(SETUP_GAME_COMMAND, "Run game setu&p...", "SetupGameMenuIcon"));
_guiController.AddMenuItems(this, debugCommands);
_guiController.SetMenuItemEnabled(this, STEP_INTO_COMMAND, false);
_guiController.SetMenuItemEnabled(this, PAUSE_COMMAND, false);
_guiController.SetMenuItemEnabled(this, STOP_COMMAND, false);
MenuCommand buildIcon = new MenuCommand(COMPILE_GAME_COMMAND, "Build game EXE (F7)", "BuildIcon");
MenuCommand runIcon = new MenuCommand(RUN_COMMAND, "Run (F5)", "RunIcon");
MenuCommand stopIcon = new MenuCommand(STOP_COMMAND, "Stop", "StopIcon");
MenuCommand stepIcon = new MenuCommand(STEP_INTO_COMMAND, "Step into (F11)", "StepIcon");
MenuCommand pauseIcon = new MenuCommand(PAUSE_COMMAND, "Pause", "PauseIcon");
stepIcon.Enabled = false;
stopIcon.Enabled = false;
pauseIcon.Enabled = false;
_debugToolbarCommands.Add(buildIcon);
_debugToolbarCommands.Add(runIcon);
_debugToolbarCommands.Add(pauseIcon);
_debugToolbarCommands.Add(stepIcon);
_debugToolbarCommands.Add(stopIcon);
Factory.ToolBarManager.AddGlobalItems(this, _debugToolbarCommands);
Factory.ToolBarManager.UpdateItemEnabledStates(_debugToolbarCommands);
_agsEditor.Debugger.DebugStateChanged += new DebugController.DebugStateChangedHandler(Debugger_DebugStateChanged);
_agsEditor.AttemptToSaveGame += new AGSEditor.AttemptToSaveGameHandler(_agsEditor_AttemptToSaveGame);
}