예제 #1
0
 protected override void OnGUIContent()
 {
     if (Data == null)
     {
         var tt = (track as XTransformTrack);
         Data = tt?.Data;
     }
     if (Data?.time != null)
     {
         EditorKey.BuildAndDraw(RenderRect, Data.time, keys);
     }
 }
예제 #2
0
        public override void PostGUI()
        {
            HashSet <float> set = curveBindObject.GetAllKeyTimes();

            if (set != null)
            {
                EditorKey.BuildEditorKeys(rect, set, keys);
                for (int i = 0; i < set.Count; i++)
                {
                    keys[i].Draw();
                }
            }
            base.PostGUI();
        }
예제 #3
0
 private void BuildEditorKeys(HashSet <float> set)
 {
     if (set.Count != keys.Count)
     {
         keys.Clear();
         foreach (var it in set)
         {
             EditorKey ek = new EditorKey(it, rect);
             keys.Add(ek);
         }
     }
     else
     {
         int i = 0;
         foreach (var it in set)
         {
             keys[i++].Update(it, rect);
         }
     }
 }
예제 #4
0
 /// <summary>
 /// build editor keys
 /// </summary>
 /// <param name="rect">clip or track rect</param>
 /// <param name="set">time set</param>
 /// <param name="keys">build result</param>
 public static void BuildEditorKeys(Rect rect, float[] set, List <EditorKey> keys)
 {
     if (set.Length != keys.Count)
     {
         keys.Clear();
         foreach (var it in set)
         {
             EditorKey ek = new EditorKey(it, rect);
             keys.Add(ek);
         }
     }
     else
     {
         int i = 0;
         foreach (var it in set)
         {
             keys[i++].Update(it, rect);
         }
     }
 }