private void PreviewBuild() { if (m_SelectedBuild != null && !UIManager.Singleton.CheckCursorOnUI()) { Ray mouseRay = Camera.main.ScreenPointToRay(mousePosition); RaycastHit hitInfo; if (Physics.Raycast(mouseRay, out hitInfo, 999f, m_PreviewLayers) && !hitInfo.transform.gameObject.CompareTag("Collect")) { targetedConstructTerrain = hitInfo.transform.gameObject.GetComponentInParent <ConstructableTerrain>(); if (targetedConstructTerrain != null) { if (!targetedConstructTerrain.CheckNearTile(actualPreviewBuilding.GetComponent <Building>().buildingDirection, m_SelectedBuild.tileSize)) { ChangeAllPreviewMatColor(m_PreviewColorError); } else { ChangeAllPreviewMatColor(m_PreviewColor); } } else { ChangeAllPreviewMatColor(m_PreviewColorError); } actualPreviewBuilding.transform.position = hitInfo.transform.position; actualPreviewBuilding.SetActive(true); } else { targetedConstructTerrain = null; actualPreviewBuilding.SetActive(false); } } else if (UIManager.Singleton.CheckCursorOnUI() && m_SelectedBuild != null) { actualPreviewBuilding.SetActive(false); } }
public void RemoveConnectedTile(Direction tileDir) { switch (tileDir) { case Direction.Up: connectedTilesUp = null; break; case Direction.Down: connectedTilesDown = null; break; case Direction.Left: connectedTilesLeft = null; break; case Direction.Right: connectedTilesRight = null; break; } }
public void AddConnectedTile(ConstructableTerrain connected, Direction tileDir) { switch (tileDir) { case Direction.Up: connectedTilesUp = connected; break; case Direction.Down: connectedTilesDown = connected; break; case Direction.Left: connectedTilesLeft = connected; break; case Direction.Right: connectedTilesRight = connected; break; } }
private void OnTriggerEnter(Collider other) { connectedTile = other.gameObject.GetComponentInParent <ConstructableTerrain>(); associateTile.AddConnectedTile(connectedTile, dir); }
private void Start() { associateTile = GetComponentInParent <ConstructableTerrain>(); }