コード例 #1
0
ファイル: MapPanelController.cs プロジェクト: XCVG/quattro
        private Sprite GetMarkerSprite(string markerOverride, MapMarkerState state)
        {
            if (string.IsNullOrEmpty(markerOverride))
            {
                switch (state)
                {
                case MapMarkerState.Known:
                    return(KnownIcon);

                case MapMarkerState.Visited:
                    return(VisitedIcon);
                }

                return(null);
            }

            Sprite loadedSprite = CoreUtils.LoadResource <Sprite>(string.Format("UI/MapMarkers/{0}/{1}", markerOverride, state.ToString().ToLowerInvariant()));

            if (loadedSprite == null)
            {
                switch (state)
                {
                case MapMarkerState.Known:
                    return(KnownIcon);

                case MapMarkerState.Visited:
                    return(VisitedIcon);
                }

                return(null);
            }
            else
            {
                return(loadedSprite);
            }
        }
コード例 #2
0
ファイル: MapPanelController.cs プロジェクト: XCVG/quattro
        private void DrawMarkers(Cartographer c)
        {
            if (c == null || c.Markers == null || c.Markers.Length < 1)
            {
                return;
            }

            Dictionary <string, MapMarkerState> markersData = GameState.Instance.MapMarkers;

            foreach (EditorMapMarker emm in c.Markers)
            {
                if (string.IsNullOrEmpty(emm.Id) && !emm.ForceShow)
                {
                    continue;
                }

                MapMarkerState state = emm.ForceShow ? MapMarkerState.Known : markersData.GetOrDefault(emm.Id, MapMarkerState.Unknown);

                if (state != MapMarkerState.Unknown)
                {
                    DrawIcon(emm.WorldPoint, GetMarkerSprite(emm.IconOverride, state), c, emm.NiceName);
                }
            }
        }