コード例 #1
0
ファイル: QueryTool.cs プロジェクト: serrejga/TrafficReport
        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);
            }
        }
コード例 #2
0
ファイル: QueryTool.cs プロジェクト: Piziil/TrafficReport
        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();
        }