public void DisplayMergeDialog() { if (!EnabledVersionControls.Instance().CanMerge) { Debug.Log("Can't Merge; not enabled yet"); return; } EngineController.Instance().ToggleControls(false); GameObject dialog = Instantiate(textButttonDialogTemplate, transform) as GameObject; TextButtonDialogController dialogController = dialog.GetComponent <TextButtonDialogController>(); dialogController.promptText.text = "git merge "; dialogController.titleText.text = "Enter Feature Branch"; dialogController.submitButton.enabled = false; dialogController.submitButton.GetComponentInChildren <Text>().text = "Merge"; dialogController.inputField.onValueChanged.AddListener((s) => { dialogController.submitButton.enabled = !s.Equals(""); }); dialogController.submitButton.onClick.AddListener(() => { bool reenableControls = true; Debug.Log("Button pressed"); string mergeBranch = dialogController.inputField.text; if (VersionManager.Instance().HasBranch(mergeBranch)) { VersionManager.Instance().Merge(VersionManager.Instance().LookupBranch(mergeBranch)); if (VersionManager.Instance().IsInMergeConflict()) { // The merge conflict menu will re-enable controls later. reenableControls = false; } Debug.Log("Starting merge"); } else { dialogController.ErrorText = "Feature branch doesn't exist, check spelling and try again"; return; } if (reenableControls) { EngineController.Instance().ToggleControls(true); } Destroy(dialog); } ); dialogController.submitButton.onClick.AddListener(() => { UpdateOverlay(); }); dialogController.inputField.Select(); if (mergeDialogTrigger != null) { mergeDialogTrigger.NotifyObservers(); } }
public void DisplayCommitDialog() { if (!EnabledVersionControls.Instance().CanCommit) { Debug.Log("Can't commit; not enabled"); return; } EngineController.Instance().ToggleControls(false); GameObject dialog = Instantiate(textButttonDialogTemplate, transform) as GameObject; TextButtonDialogController dialogController = dialog.GetComponent <TextButtonDialogController>(); dialogController.promptText.text = "git commit -m "; dialogController.titleText.text = "Enter a commit message"; dialogController.submitButton.enabled = false; dialogController.submitButton.GetComponentInChildren <Text>().text = "Commit"; dialogController.inputField.onValueChanged.AddListener((s) => { dialogController.submitButton.enabled = !s.Equals(""); }); dialogController.submitButton.onClick.AddListener(() => { Debug.Log("Button pressed"); string commitMessage = dialogController.inputField.text; VersionManager.Instance().Commit(commitMessage); Debug.Log("Commiting"); EngineController.Instance().ToggleControls(true); Destroy(dialog); } ); dialogController.submitButton.onClick.AddListener(() => { UpdateOverlay(); }); dialogController.inputField.Select(); if (commitDialogTrigger != null) { commitDialogTrigger.NotifyObservers(); } }
public void DisplayBranchDialog() { if (!EnabledVersionControls.Instance().CanBranch) { Debug.Log("Can't Branch; not enabled yet"); return; } EngineController.Instance().ToggleControls(false); GameObject dialog = Instantiate(textButttonDialogTemplate, transform) as GameObject; TextButtonDialogController dialogController = dialog.GetComponent <TextButtonDialogController>(); dialogController.titleText.text = "Checkout Branch"; dialogController.submitButton.GetComponentInChildren <Text>().text = "Create Branch"; dialogController.promptText.text = "git checkout -b "; dialogController.submitButton.enabled = false; dialogController.inputField.onValueChanged.AddListener((s) => { if (VersionManager.Instance().HasBranch(s)) { dialogController.submitButton.GetComponentInChildren <Text>().text = "Switch to Branch"; dialogController.promptText.text = "git checkout "; } else { dialogController.submitButton.GetComponentInChildren <Text>().text = "Create Branch"; dialogController.promptText.text = "git checkout -b "; } dialogController.submitButton.enabled = !s.Equals(""); }); dialogController.submitButton.onClick.AddListener(() => { Debug.Log("Button pressed"); string branch = dialogController.inputField.text; if (Regex.Match(branch, @"[~^:\[\]\\\s]").Success) { dialogController.ErrorText = "Error - branch names cannot contain spaces or special characters: ~ ^ : [ ] \\"; return; } if (!VersionManager.Instance().HasBranch(branch)) { VersionManager.Instance().CreateBranch(branch); Debug.Log("Creating branch " + branch); } VersionManager.Instance().Checkout(branch); Debug.Log("Checkout " + branch); EngineController.Instance().ToggleControls(true); Destroy(dialog); } ); dialogController.submitButton.onClick.AddListener(() => { UpdateOverlay(); }); dialogController.inputField.Select(); if (newBranchDialogTrigger != null) { newBranchDialogTrigger.NotifyObservers(); } }