Пример #1
0
    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();
        }
    }
Пример #2
0
    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();
        }
    }
Пример #3
0
    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();
        }
    }