// Update is called once per frame void Update() { if (VersionManager.Instance().GetMergeWorker() != null) { selectClosestPreview(); if (currentlySelectedObject != null && Input.GetKeyDown(KeyCode.P)) { VersionManager.Instance().GetMergeWorker().PickObject(currentlySelectedObject); } } else { selectVersionable(); if (currentlySelectedObject != null && Input.GetKeyDown(KeyCode.Q)) { VersionController versionController = currentlySelectedObject.GetComponentInParent <VersionController>(); if (VersionManager.Instance().IsObjectStaged(versionController)) { VersionManager.Instance().Unstage(versionController); } else { VersionManager.Instance().Add(versionController); } Debug.Log(currentlySelectedObject == gameObject ? "Adding player" : "Adding closest object"); Debug.Log(currentlySelectedObject); } else if (Input.GetKeyDown(KeyCode.R)) { VersionManager.Instance().ResetToHead(); } else if (Input.GetKeyDown(KeyCode.J)) { if (!VersionManager.Instance().HasBranch("demo")) { VersionManager.Instance().CreateBranch("demo"); } VersionManager.Instance().Checkout("demo"); } else if (Input.GetKeyDown(KeyCode.K)) { VersionManager.Instance().Checkout("master"); } } if (Input.GetKeyDown(KeyCode.O)) { if (overlay != null) { overlay.Destroy(); overlay = null; } else { overlay = new Overlay(VersionManager.Instance().GetHead(), Color.red); } } }