void HandleLeftClick() { try { Log.debug("You clicked on " + m_hoverInstance.ToString()); Log.debug(m_hoverInstance.Type.ToString()); paths.ActiveSegmentIndicator.gameObject.SetActive(false); paths.SetReport(null); currentReport = null; if (m_hoverInstance.Type == InstanceType.Vehicle) { base.ToolCursor = loadingCursor; analyzer.ReportOnVehicle(m_hoverInstance.Vehicle); } if (m_hoverInstance.Type == InstanceType.NetSegment) { base.ToolCursor = loadingCursor; paths.ActiveSegmentIndicator.gameObject.SetActive(true); Vector3 pos = analyzer.GetSegmentMidPoint(m_hoverInstance.NetSegment) + Vector3.up * 20; Log.debug("Segment pos: " + pos.ToString()); paths.ActiveSegmentIndicator.position = pos; analyzer.ReportOnSegment(m_hoverInstance.NetSegment, NetInfo.Direction.Both); } if (m_hoverInstance.Type == InstanceType.Building) { base.ToolCursor = loadingCursor; analyzer.ReportOnBuilding(m_hoverInstance.Building); } if (m_hoverInstance.Type == InstanceType.CitizenInstance) { base.ToolCursor = loadingCursor; analyzer.ReportOnCitizen(m_hoverInstance.CitizenInstance); } } catch (Exception e) { Log.error(e.ToString()); Log.error(e.StackTrace); } }
protected override void OnToolGUI() { if (this.m_toolController.IsInsideUI) { return; } InstanceID hoverInstance = this.m_hoverInstance; Event current = Event.current; if (current.type == EventType.MouseDown) { if (current.button == 0) { //Log.info(m_mousePosition.ToString()); try { Log.debug("You clicked on " + hoverInstance.ToString()); Log.debug(hoverInstance.Type.ToString()); if (hoverInstance.Type == InstanceType.Vehicle) { gui.SetReport(null); base.ToolCursor = loadingCursor; analyzer.ReportOnVehicle(hoverInstance.Vehicle); } if (hoverInstance.Type == InstanceType.NetSegment) { gui.SetReport(null); base.ToolCursor = loadingCursor; analyzer.ReportOnSegment(hoverInstance.NetSegment); } if (hoverInstance.Type == InstanceType.Building) { gui.SetReport(null); base.ToolCursor = loadingCursor; analyzer.ReportOnBuilding(hoverInstance.Building); } if (hoverInstance.Type == InstanceType.CitizenInstance) { gui.SetReport(null); base.ToolCursor = loadingCursor; analyzer.ReportOnCitizen(hoverInstance.CitizenInstance); } } catch (Exception e) { Log.error(e.ToString()); Log.error(e.StackTrace); } } } else { if (hoverInstance.Type == InstanceType.NetSegment) { gui.SetSegmentHighlight(QueryToolGUIBase.HighlightType.Segment, (uint)hoverInstance.NetSegment); } else if (hoverInstance.Type == InstanceType.Building) { gui.SetSegmentHighlight(QueryToolGUIBase.HighlightType.Building, (uint)hoverInstance.Building); } else if (hoverInstance.Type == InstanceType.Vehicle) { gui.SetSegmentHighlight(QueryToolGUIBase.HighlightType.Vehicle, (uint)hoverInstance.Vehicle); } else if (hoverInstance.Type == InstanceType.Citizen) { gui.SetSegmentHighlight(QueryToolGUIBase.HighlightType.Citizen, (uint)hoverInstance.Vehicle); } else { gui.SetSegmentHighlight(QueryToolGUIBase.HighlightType.None, 0); } } base.OnToolGUI(); }