public void Release() { // Not grabbing a piece if (SelectedPiece == null) { return; } SelectedPieceShader.ChangeShaderNormal(); SelectedPlacer.IsSelected = false; SelectedPlacer = null; SelectedPiece = null; SelectedPieceShader = null; }
protected virtual void Grab(Ray ray) { RaycastHit hit; Debug.DrawRay(ray.origin, ray.direction, Color.cyan, 1); if (Physics.Raycast(ray, out hit, Mathf.Infinity, 1 << 8)) { SelectedPiece = hit.transform.gameObject; SelectedPlacer = SelectedPiece.GetComponent <MyPiecePlacer>(); SelectedPieceShader = SelectedPiece.GetComponent <MyChangeShader>(); if (SelectedPlacer.IsOwned) { SelectedPieceShader.ChangeShaderSelected(); SelectedPlacer.IsSelected = true; } } }
protected virtual void GestureGrab() { // Already have a piece if (SelectedPiece != null) { return; } else { GameObject highlightedPiece = VisualOrb.GetComponent <MyHighlighter>().HighlightedPiece; if (highlightedPiece != null) { SelectedPiece = highlightedPiece; SelectedPlacer = SelectedPiece.GetComponent <MyPiecePlacer>(); SelectedPieceShader = SelectedPiece.GetComponent <MyChangeShader>(); SelectedPlacer.IsSelected = true; } } }