Example #1
0
        void DrawMarkers()
        {
            MarkerNode clickedNode = null;

            foreach (MarkerNode markerNode in markers)
            {
                Rect markerRect = GetMarkerRect(markerNode);
                if (MouseClickedOnRect(markerRect, mouseButton: 0))
                {
                    clickedNode = markerNode;
                }
                var markerColor = GetMarkerColor(markerNode.Marker);
                if (markerNode == selectedMarker)
                {
                    // To make the selected marker stand out, its transparency is increased/decreased if low/high.
                    markerColor.a = markerColor.a > 0.5f ? 0.2f : 0.8f;
                }
                GUI.color = markerColor;
                GUI.Box(markerRect, GUIContent.none);
            }
            Event e = Event.current;

            if (clickedNode != null)
            {
                SelectedMarker = clickedNode;
                GUI.changed    = true;
            }
            else if (e.type == EventType.MouseDown && e.button == 0)
            {
                SelectedMarker = null;
                GUI.changed    = true;
            }
        }
Example #2
0
 void DrawMarkerEditor(MarkerNode marker)
 {
     Editor.CreateCachedEditor(marker, null, ref selectedMarkerEditor);
     if (selectedMarkerEditor != null)
     {
         selectedMarkerEditor.OnInspectorGUI();
     }
 }
Example #3
0
        public MarkerNode DeepCopy()
        {
            RawMarker  copiedMarker = new RawMarker(marker.Position, marker.Size, marker.Category);
            MarkerNode copiedNode   = Construct(copiedMarker);

            copiedNode.rawPosition = rawPosition;
            return(copiedNode);
        }
Example #4
0
 void RemoveMarker(MarkerNode node)
 {
     chart.RemoveMarker(node.Marker);
     markers.Remove(node);
     if (SelectedMarker == node)
     {
         SelectedMarker = null;
     }
 }
        void CreateMarker(MarkerNode node)
        {
            var copied = node.DeepCopy();

            markers.Add(copied);
            chart.AddMarker(copied.Marker);

            SelectedMarker = copied;
        }
Example #6
0
 void RemoveAllMarkers()
 {
     if (EditorUtility.DisplayDialog("Confirm Remove All", "Remove all markers from chart?", "Yes", "No"))
     {
         properties.chart.RemoveAllMarkers();
         markers.Clear();
         SelectedMarker = null;
     }
 }
Example #7
0
 bool IsNodeRightClicked(out MarkerNode rightClickedNode)
 {
     rightClickedNode = markers.LastOrDefault(node =>
     {
         Rect markerRect = GetMarkerRect(node);
         markerRect.x   += PANEL_OFFSET;
         return(MouseClickedOnRect(markerRect, mouseButton: 1));
     });
     return(rightClickedNode != null);
 }
Example #8
0
 void OnEnable()
 {
     Load();
     SelectedMarker = null;
     if (markers == null)
     {
         markers = properties.chart == null
             ? new List <MarkerNode>()
             : properties.chart.Markers.Select(m => MarkerNode.Construct(m)).ToList();
     }
 }
Example #9
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;
        }
Example #10
0
        Rect GetMarkerRect(MarkerNode marker)
        {
            Vector2 size            = scale * marker.Size;
            Vector2 rawLocation     = marker.Location;
            Vector2 flippedLocation = new Vector2(rawLocation.x, Map.height - rawLocation.y);
            Vector2 scaledLocation  = scale * flippedLocation;
            Vector2 offsetLocation  = scaledLocation + dragTotal;
            Rect    rect            = new Rect();

            rect.size   = size;
            rect.center = offsetLocation;
            return(rect);
        }
Example #11
0
 void LoadChart(ChartStatic chart)
 {
     if (chart == null)
     {
         markers.Clear();
         chartName = string.Empty;
     }
     else
     {
         markers   = chart.Markers.Select(m => MarkerNode.Construct(m)).ToList();
         chartName = chart.name;
     }
 }
Example #12
0
        void CreateMarker(MarkerNode node)
        {
            RawMarker marker = node.Marker;

            CreateMarker(marker.Position, marker.Size, marker.Category, marker.Preset, marker.MetaData);
        }