private bool IsPedestrianLightHovered(Rect myRect3, int segmentId, bool hoveredSegment, ManualSegmentLight segmentDict) { if (!myRect3.Contains(Event.current.mousePosition)) return hoveredSegment; _hoveredButton[0] = segmentId; _hoveredButton[1] = 2; if (!Input.GetMouseButtonDown(0) || _uiClickedSegment) return true; _uiClickedSegment = true; if (!segmentDict.PedestrianEnabled) { segmentDict.ManualPedestrian(); } else { segmentDict.ChangeLightPedestrian(); } return true; }
private bool RenderManualPedestrianLightSwitch(float zoom, int segmentId, Vector3 screenPos, float lightWidth, ManualSegmentLight segmentDict, bool hoveredSegment) { var guiColor = GUI.color; var manualPedestrianWidth = 36f*zoom; var manualPedestrianHeight = 35f*zoom; guiColor.a = _hoveredButton[0] == segmentId && (_hoveredButton[1] == 1 || _hoveredButton[1] == 2) ? 0.92f : 0.45f; GUI.color = guiColor; var myRect2 = new Rect(screenPos.x - manualPedestrianWidth/2 - lightWidth + 5f*zoom, screenPos.y - manualPedestrianHeight/2 - 9f*zoom, manualPedestrianWidth, manualPedestrianHeight); GUI.DrawTexture(myRect2, segmentDict.PedestrianEnabled ? TrafficLightToolTextureResources.PedestrianModeManualTexture2D : TrafficLightToolTextureResources.PedestrianModeAutomaticTexture2D); if (!myRect2.Contains(Event.current.mousePosition)) return hoveredSegment; _hoveredButton[0] = segmentId; _hoveredButton[1] = 1; if (!Input.GetMouseButtonDown(0) || _uiClickedSegment) return true; _uiClickedSegment = true; segmentDict.ManualPedestrian(); return true; }