public void Set(Vector2 p, float fWidth, int iFontSize, AnimationCurve _curve, Action <AnimationCurve> f) { rect = new Rect(p.x - fWidth, p.y, fWidth, 0f); fRightPos = p.x + fWidth; fUpPos = p.y; gsLabel.fontSize = iFontSize; gsButton.fontSize = iFontSize; gsText.fontSize = iFontSize; fMargin = iFontSize * 0.3f; func = f; curve = _curve; keys = new Keyframe[_curve.keys.Length]; for (int i = 0; i < keys.Length; i++) { keys[i] = _curve.keys[i]; } keys[0] = _curve.keys[0]; keys[keys.Length - 1] = _curve.keys[keys.Length - 1]; fCurve = new float[keys.Length * 2]; for (int i = 0; i < keys.Length; i++) { fCurve[i * 2] = keys[i].outTangent; fCurve[i * 2 + 1] = keys[i].value; } sValues[0] = keys[0].outTangent.ToString(); sValues[1] = keys[0].value.ToString(); sValues[2] = keys[keys.Length - 1].inTangent.ToString(); sValues[3] = keys[keys.Length - 1].value.ToString(); texture = GlobalCurveWindow.CreateCurveTexture(curve, false); show = true; changed = true; }
private void CreateCurve() { curve = new AnimationCurve(keys); texture = GlobalCurveWindow.CreateCurveTexture(curve, false); }