private void OnBrowserHighlight(GameObjectEventArgs browserHighlight) { Highlightable objHighlight = browserHighlight.GameObject.GetComponent <Highlightable>(); if (objHighlight != null) { _cursorDisplay.parent = browserHighlight.GameObject.transform; _cursorDisplay.localPosition = Vector3.zero; _isHighlighted = true; } }
private void OnBrowserHighlight(GameObjectEventArgs browserHighlight) { Highlightable objHighlight = browserHighlight.GameObject.GetComponent <Highlightable>(); if (objHighlight != null) { _cursorTop.parent = browserHighlight.GameObject.transform; _cursorTop.localPosition = objHighlight.HighlightPoint; _isHighlighted = true; } }
public override void OnEnter(CursorStateController controller) { GameEventLibrary.CursorLockedOnEvent.FireEvent(new GameObjectEventArgs(controller.highlightedObj)); controller.lockOnCursor.SetActive(true); controller.originalCursorTopLocalPos = controller.lockOnCursor.transform.localPosition; controller.lockOnCursor.transform.SetParent(controller.highlightedObj.transform); Highlightable highlightComponent = controller.highlightedObj.GetComponent <Highlightable>(); if (controller.highlightedObj != null) { controller.lockOnCursor.transform.localPosition = highlightComponent.HighlightPoint; } controller.m_transform.position = new Vector3(controller.highlightedObj.transform.position.x, controller.m_transform.position.y, controller.highlightedObj.transform.position.z); }
private void Scan(CursorStateController controller) { Collider[] colliders = Physics.OverlapSphere(controller.lastPos, browseRaycastWidth); if (colliders.Length == 0) { if (controller.highlightedObj != null) { LostHighlight(controller); } return; } float shortestDistance = int.MaxValue; Highlightable closestHighlightableObject = null; foreach (Collider collider in colliders) { // TODO: Find distance between collider and transform, find closest highlight, go to it instead. Highlightable highlightable = collider.gameObject.GetComponent <Highlightable>(); float distance = Vector3.Distance(collider.transform.position, controller.lastPos); if (highlightable != null && distance < shortestDistance) { closestHighlightableObject = highlightable; shortestDistance = distance; } } if (closestHighlightableObject != null && closestHighlightableObject.gameObject != controller.highlightedObj) { GainedHighlight(controller, closestHighlightableObject.gameObject); } else if (closestHighlightableObject == null && controller.highlightedObj != null) { LostHighlight(controller); } }