// Run all custom build phases public virtual void RunProcess() { // Phase 1: Setup Enviornment try { StateSetupEnv(); customBuildSetup.Setup(); } catch (Exception e) { HandleExceptions(e); return; } // Phase 2: GUI (Chose custom build process) try { StateBuildIdle(); CustomBuildWindow.CreateCustomBuildWindow(stage, customBuildWindow, scenesSelector, buildStagesToRun ); buildStagesToRun.AddListener( delegate(BuildStage lastStage) { lastBuildStage = lastStage; scenesPath = scenesSelector.ScenesToString(); RunInstalationProcess(); } ); } catch (Exception e) { HandleExceptions(e); return; } }