void OnCollisionExit(Collision coll) { manipObject o = coll.transform.GetComponent <manipObject>(); if (o != null) { o.onTouch(false, manipulatorObjScript); } }
void OnCollisionEnter(Collision coll) { manipObject o = coll.transform.GetComponent <manipObject>(); if (o != null) { o.onTouch(true, this); } }
public void ForceGrab(manipObject o) { if (selectedObject != null) { release(); } grabbing = true; selectedObject = o; selectedObject.setGrab(grabbing, transform); emptyGrab = false; selectedTransform = o.transform; }
void LateUpdate() { if (grabbing) { return; } Transform candidate = null; if (selectedObject != null) { if (hitTransforms.Contains(selectedTransform)) { candidate = selectedTransform; } } else { foreach (Transform t in hitTransforms) { if (t != null) { manipObject o = t.GetComponent <manipObject>(); if (o != null) { if (o.curState != manipObject.manipState.grabbed && o.curState != manipObject.manipState.selected) { candidate = t; break; } } } } } if (candidate != selectedTransform) { if (selectedObject != null) { selectedObject.GetComponent <manipObject>().setSelect(false, transform); } if (candidate != null) { candidate.GetComponent <manipObject>().setSelect(true, transform); if (candidate.GetComponent <handle>() != null) { toggleCopy(true); } else if (candidate.GetComponent <manipObject>().canBeDeleted) { toggleDelete(true); } hapticPulse(); selectedTransform = candidate; selectedObject = candidate.GetComponent <manipObject>(); } else { toggleCopy(false); toggleDelete(false); selectedTransform = null; selectedObject = null; } } }