private bool Grab(GameObject gameObject) { BeatMap.Log("Saber called grab on " + gameObject.name); IGrabbable grabbable = gameObject.GetComponent <IGrabbable>(); if (grabbable == null) { grabbable = gameObject.GetComponentInParent <IGrabbable>(); } if (grabbable == null) { Debug.LogWarning("Object not grabbable - " + gameObject.name); return(false); } if (grabbable.IsGrabbed()) { Debug.LogWarning("Object already grabbed - " + gameObject.name); return(false); } grabbable.Grab(this); grabbing = true; addVibration(.5f, .5f, true); return(true); }