private void PlaceMode() { if (BuildingSelector.SelectedBuilding == null) { return; } if (tilesHoveringOver != null) { RevertTileColorsToBase(); } bool isHitting = false; tilesHoveringOver = GetTilesAt(RaycastHelper.GetMousePositionInScene(out isHitting), new IntVector2(BuildingSelector.SelectedBuilding.xSize, BuildingSelector.SelectedBuilding.zSize)); if (tilesHoveringOver == null) { return; } AdjustTileColors(); if (Input.GetMouseButtonDown(0) && CanBePlaced(tilesHoveringOver) && BuildingSelector.SelectedBuilding.CanBeBought()) { PlaceBuilding(BuildingSelector.SelectedBuilding, tilesHoveringOver, false); } }
private void DestroyMode() { BuildingSelector.SetToNull(); bool isHitting = true; RaycastHelper.GetMousePositionInScene(out isHitting); if (tilesHoveringOver != null) { RevertTileColorsToBase(); } if (isHitting == false) { return; } try { tilesHoveringOver = GetTilesAt(RaycastHelper.GetMousePositionInScene(out isHitting), new IntVector2(1, 1)); AdjustTileColors(); if (Input.GetMouseButtonDown(0) && tilesHoveringOver != null && tilesHoveringOver[0, 0].occupant != null) { DestroyBuilding(tilesHoveringOver[0, 0]); } } catch { } }