void Interact() { if (Input.GetButtonDown("Interact")) { if (heldObject != null) { UnsetHeldObject(); } else { if (false) { //TODO: in future look for buttons/levers to interact } else { var t = CameraRaycast(MAX_INTERACT); if (t != null && ItemAttributes.AttOrDefault(t).Grabbable) { SetHeldObject(t); } } } } if (Input.GetKeyDown("i")) { RotateHeldObject(0, 90); } if (Input.GetKeyDown("j")) { RotateHeldObject(90, 0); } if (Input.GetKeyDown("k")) { RotateHeldObject(0, -90); } if (Input.GetKeyDown("l")) { RotateHeldObject(-90, 0); } }
void HandleTooltips() { //find text objects Transform hit = CameraRaycast(MAX_LOOK); if (hit != null) { var atts = ItemAttributes.AttOrDefault(hit); if (atts.TextApparent) { tooltipAssembly.SetActive(true); tooltip.GetComponent <Text>().text = atts.Text; var width = tooltip.GetComponent <Text>().preferredWidth; width = Mathf.Min(width, TOOLTIP_MAX_WIDTH); var r = tooltip.GetComponent <RectTransform>(); var r1 = tooltip.transform.parent.GetComponent <RectTransform>(); var r2 = tooltip.transform.parent.parent.GetComponent <RectTransform>(); //set width of tooltip r.sizeDelta = new Vector2(width, r.sizeDelta.y); r.anchoredPosition = new Vector2(-width / 2, r.anchoredPosition.y); //set width of tooltip marker r1.sizeDelta = new Vector2(width + TOOLTIP_OFFSET, r1.sizeDelta.y); //set position of assembly r2.position = cam.GetComponent <Camera>().WorldToScreenPoint(hit.transform.position); } else { tooltipAssembly.SetActive(false); } } else { tooltipAssembly.SetActive(false); } }
private bool IsGrabbableObject(Transform t) { return(ItemAttributes.AttOrDefault(t).Grabbable); }