コード例 #1
0
ファイル: MarkerNode.cs プロジェクト: yazici/Atlas-Chart-PCG
        public MarkerNode DeepCopy()
        {
            RawMarker  copiedMarker = new RawMarker(marker.Position, marker.Size, marker.Category);
            MarkerNode copiedNode   = Construct(copiedMarker);

            copiedNode.rawPosition = rawPosition;
            return(copiedNode);
        }
コード例 #2
0
ファイル: MarkerNode.cs プロジェクト: yazici/Atlas-Chart-PCG
        public static MarkerNode Construct(RawMarker marker)
        {
            var node = CreateInstance <MarkerNode>();

            node.marker      = marker;
            node.rawPosition = marker.Position;
            return(node);
        }
コード例 #3
0
        public void AddMarker(RawMarker marker)
        {
            if (marker == null)
            {
                throw new ArgumentNullException();
            }

            markers.Add(marker);
        }
コード例 #4
0
ファイル: RawMarker.cs プロジェクト: yazici/Atlas-Chart-PCG
        /// <summary>
        /// Create a new marker from an existing one.
        /// </summary>
        public static RawMarker DeepCopy(RawMarker marker)
        {
            if (marker == null)
            {
                throw new ArgumentNullException("marker");
            }

            return(new RawMarker(marker.position, marker.size, marker.category, marker.preset, marker.metaData));
        }
コード例 #5
0
        public bool RemoveMarker(RawMarker marker)
        {
            if (marker == null)
            {
                throw new ArgumentNullException();
            }

            bool wasMarkerRemoved = markers.Remove(marker);

            return(wasMarkerRemoved);
        }
コード例 #6
0
        public void RemoveMarker(RawMarker marker)
        {
            if (marker == null)
            {
                throw new ArgumentNullException();
            }

            if (!markers.Remove(marker))
            {
                throw new ArgumentException("This chart does not contain the marker.");
            }
        }
コード例 #7
0
        void CreateMarker(Vector2 position, Vector2 size, string category = "", string preset = "", MetaData metaData = null)
        {
            position   = (position - dragTotal - PANEL_OFFSET * Vector2.right) / scale;
            position.y = Map.height - position.y;
            var marker = new RawMarker(position, size, category, preset, metaData);

            chart.AddMarker(marker);
            var markerNode = MarkerNode.Construct(marker);

            markers.Add(markerNode);

            SelectedMarker = markerNode;
        }
コード例 #8
0
        public Marker(RawMarker marker, Coord offset)
        {
            if (marker == null)
            {
                throw new ArgumentNullException("marker");
            }

            size           = marker.Size;
            preset         = marker.Preset;
            category       = marker.Category;
            metaData       = marker.MetaData;
            localPosition  = marker.Position;
            globalPosition = localPosition + offset;
        }
コード例 #9
0
        void CreateMarker(MarkerNode node)
        {
            RawMarker marker = node.Marker;

            CreateMarker(marker.Position, marker.Size, marker.Category, marker.Preset, marker.MetaData);
        }
コード例 #10
0
        Color GetMarkerColor(RawMarker marker)
        {
            var category = Palette.GetCategories().FirstOrDefault(cat => cat.name == marker.Category);

            return(category == null ? Palette.DefaultColor : category.color);
        }
コード例 #11
0
        public static void PasteMarkers(UnityEditor.MenuCommand command)
        {
            var targetChart = (ChartStatic)command.context;

            targetChart.markers.AddRange(_copyContext.Markers.Select(marker => RawMarker.DeepCopy(marker)));
        }
コード例 #12
0
        public MarkerNode DeepCopy()
        {
            RawMarker copiedMarker = new RawMarker(marker.Position, marker.Size, marker.Category);

            return(Construct(copiedMarker));
        }