void UpdatePrevNext()
    {
        float TimelineT = Timeline.instance.GetT();

        IEnumerator enumerator = keyframeList.GetEnumerator();

        TimelineKeyFrame lastKeyframe = null;


        while (enumerator.MoveNext())
        {
            TimelineKeyFrame aKeyframe = (TimelineKeyFrame)enumerator.Current;

            if (aKeyframe.GetT() >= TimelineT)
            {
                // inital set both to the same incase this is the first;
                prevKeyframe = aKeyframe;
                nextKeyframe = aKeyframe;


                if (lastKeyframe != null)
                {
                    prevKeyframe = lastKeyframe;
                }

                //leave the loop now we have both keyframes
                break;
            }

            lastKeyframe = (TimelineKeyFrame)enumerator.Current;
        }
    }
    // Use this for initialization
    void Start()
    {
        keyframeList = new ArrayList();
        ghostList    = new ArrayList();

        int num = Random.Range(2, 5);

        for (int i = 0; i <= num; i++)
        {
            float t = i / (float)num;

            TimelineKeyFrame frame = new TimelineKeyFrame(t,
                                                          new Vector3(Random.value * 100, Random.value * 100, Random.value * 100),
                                                          Vector3.zero);
            //   new Vector3(Random.value * 360, Random.value * 360, Random.value * 360)  );

            keyframeList.Add(frame);
        }


        // TimelineKeyFrame end = new TimelineKeyFrame(1,      new Vector3(0, 10, 20)     , Vector3.forward);
        ///TimelineKeyFrame mid = new TimelineKeyFrame(0.5f,   new Vector3(1, 15, 15)  , Vector3.forward);

        keyframeList.Sort();

        movementPath = GetComponent <LineRenderer>();
    }
Esempio n. 3
0
    public void Init(TimelineKeyFrame TimelineKeyFrameIN, TimeLineObject TimeLineObjectIN)
    {
        timelineKeyFrame = TimelineKeyFrameIN;
        TimeLineObject   = TimeLineObjectIN;

        transform.position = timelineKeyFrame.GetPos();
        transform.rotation = Quaternion.LookRotation(transform.forward) * Quaternion.Euler(timelineKeyFrame.GetDir().x, timelineKeyFrame.GetDir().y, timelineKeyFrame.GetDir().z);
    }
    public int CompareTo(object obj)
    {
        TimelineKeyFrame other = (TimelineKeyFrame)obj;

        if (this.t > other.t)
        {
            return(1);
        }
        else if (this.t < other.t)
        {
            return(-1);
        }
        else
        {
            return(0);
        }
    }