public void DragPlayer() { // dont do anything if its setting direction if (myDirectionObject.activeSelf == true) { return; } // do raycast RaycastHit t_hit; Ray t_ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(t_ray, out t_hit)) { CS_Tile t_tile = t_hit.collider.gameObject.GetComponentInParent <CS_Tile> (); if (t_tile != null) { if (t_tile.GetType() == myCurrentPlayer.GetTileType()) { Vector3 t_position = t_tile.transform.position; t_position.y = t_hit.point.y; myCurrentPlayer.transform.position = t_position; return; } } myCurrentPlayer.transform.position = t_hit.point; } }
public void EndDragPlayer() { // dont do anything if its setting direction if (myDirectionObject.activeSelf == true) { return; } // hide highlight myCurrentPlayer.HideHighlight(); // do raycast RaycastHit t_hit; Ray t_ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(t_ray, out t_hit)) { CS_Tile t_tile = t_hit.collider.gameObject.GetComponentInParent <CS_Tile> (); if (t_tile != null) { if (t_tile.GetType() == myCurrentPlayer.GetTileType()) { // show direction object myDirectionObject.transform.position = myCurrentPlayer.transform.position; myDirectionObject.SetActive(true); return; } } } // reset current player myCurrentPlayer.gameObject.SetActive(false); myCurrentPlayer = null; }
public void OnClickTile(CS_Tile g_tile) { if (myCurrentPlayer != null) { myCurrentPlayer.transform.position = g_tile.transform.position; myCurrentPlayer.gameObject.SetActive(true); g_tile.Occupy(myCurrentPlayer); } }