public void SetSelectedNode(NodeBehaviour nodeBehaviour) { if (_selectedNode == null) { if (_inSelectionState) { if (!nodeBehaviour.IsSelected()) { Debug.Log("This tile is currently not selected"); return; } ChangeColorsToGreen(); } else { _selectedNode = nodeBehaviour; ChangeColorsToBlue(); } } else { if (_inSelectionState && nodeBehaviour.IsSelected()) { ChangeColorsToBlue(); } else if (_inSelectionState && !nodeBehaviour.IsSelected()) { Debug.Log("no blue or green tile clicked"); return; } else { ChangeColorsToOld(); } _selectedNode = nodeBehaviour; if (_inSelectionState) { ChangeColorsToGreen(); } else { ChangeColorsToBlue(); } } if (!_inSelectionState) { _selection.SetYesNoLocation(Camera.main.WorldToScreenPoint(_selectedNode.transform.position)); } else { _selection.SetYesNoBuildLocation(Camera.main.WorldToScreenPoint(_selectedNode.transform.position)); } if (_selectedNode.GetComponent <BuildingPrefab>() != null) { _selection.SetSidePanel(_selectedNode.GetComponent <BuildingPrefab>().MyBuilding); } else if (_selectedNode.GetComponent <PlantPrefab>() != null) { _selection.SetSidePanel(_selectedNode.GetComponent <PlantPrefab>().MyPlant); } else if (_selection.SidePannelActive()) { _selection.ToggleSidePanel(); } if (_selectionSize != 4 || _inSelectionState) { return; } if (!_selection.YesNoActive()) { _selection.ToggleYesNo(true); } }