コード例 #1
0
        private void DrawButtonPanelMarkers(MyHudGpsMarkers buttonPanelMarkers)
        {
            ProfilerShort.Begin("MyGuiScreenHud.DrawGpsMarkers");
            foreach (var buttonPanel in buttonPanelMarkers.MarkerEntities)
            {
                m_tmpHudEntityParams.FlagsEnum  = MyHudIndicatorFlagsEnum.SHOW_TEXT;
                m_tmpHudEntityParams.IconColor  = MyHudConstants.GPS_COLOR;
                m_tmpHudEntityParams.OffsetText = true;

                m_tmpHudEntityParams.Text.Clear().Append(buttonPanel.Name);//reuse single instance to reduce overhead
                m_markerRender.DrawLocationMarker(
                    m_buttonPanelHudMarkerStyle,
                    buttonPanel.Coords,
                    m_tmpHudEntityParams,
                    0, 0);
            }
            DrawTexts();
            ProfilerShort.End();
        }
コード例 #2
0
        private void DrawGpsMarkers(MyHudGpsMarkers gpsMarkers)
        {
            ProfilerShort.Begin("MyGuiScreenHud.DrawGpsMarkers");

            m_tmpHudEntityParams.FlagsEnum  = MyHudIndicatorFlagsEnum.SHOW_ALL;
            m_tmpHudEntityParams.IconColor  = MyHudConstants.GPS_COLOR;
            m_tmpHudEntityParams.OffsetText = true;

            MySession.Static.Gpss.updateForHud();
            gpsMarkers.Sort();//re-sort by distance from new camera coordinates
            foreach (var gps in gpsMarkers.MarkerEntities)
            {
                m_tmpHudEntityParams.Text.Clear().Append(gps.Name);//reuse single instance to reduce overhead
                m_markerRender.DrawLocationMarker(
                    m_gpsHudMarkerStyle,
                    gps.Coords,
                    m_tmpHudEntityParams,
                    0, 0);
            }
            DrawTexts();
            ProfilerShort.End();
        }