/// <summary> /// Handle clicks within the game world. /// </summary> /// <param name="onLeftClick">The method to be executed on a left click.</param> /// <param name="onRightClick">The method to be executed on a right click.</param> private void HandleWorldClicks(MouseSelectHandler onLeftClick, MouseSelectHandler onRightClick) { bool leftClick = Input.GetMouseButtonDown(0); bool rightClick = Input.GetMouseButtonDown(1); if (leftClick || rightClick) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit)) { if (leftClick) { onLeftClick.Invoke(hit); } else if (rightClick) { onRightClick.Invoke(hit); } } } }
public ClickActions(MouseSelectHandler onLeftClick, MouseSelectHandler onRightClick) { this.onLeftClick = onLeftClick; this.onRightClick = onRightClick; }