public void CopyFrom(PowerGradient g) { if (g == this) { return; } range = g.range; blendMode = g.blendMode; randomizeColour = g.randomizeColour; keys.Clear(); for (int i = 0; i < g.NumKeys; i++) { var k = g.GetKey(i); AddKey(k.Color, k.Time); } }
float DrawKeys() { keyRects = new Rect[gradient.NumKeys]; for (int i = 0; i < gradient.NumKeys; i++) { var key = gradient.GetKey(i); var keyRect = new Rect(gradientPreviewRect.x + gradientPreviewRect.width * key.Time - keyWidth / 2f, gradientPreviewRect.yMax + borderSize, keyWidth, keyHeight); if (i == selectedKeyIndex) { var c = Color.white == key.Color ? Color.black : Color.white; EditorGUI.DrawRect(new Rect(keyRect.x - 2, keyRect.y - 2, keyRect.width + 4, keyRect.height + 4), c); } //vertical line DrawVerticalLine(key.Color, ref keyRect); EditorGUI.DrawRect(keyRect, key.Color); keyRects[i] = keyRect; } return(keyRects[0].yMax); }