Exemple #1
0
    public void DeleteKeyframe(TimelineKeyframe keyframe, int characterID, float _timer)
    {
        timeline.DeleteKeyframe(characterID, _timer);
        Open();

        // timelineKeyframes.Remove (keyframe);
    }
Exemple #2
0
    void AddKeyframes(TimeLineCharacter timeLineCharacter)
    {
        List <KeyframeBase> keyframes        = World.Instance.timeLine.GetkeyframesOfAvatar(timeLineCharacter.data.id);
        KeyframeBase        lastkeyframeBase = null;

        foreach (KeyframeBase keyframeBase in keyframes)
        {
            if (isNewDrawableKeyFrame(keyframeBase))
            {
                TimelineKeyframe newKeyframe = Instantiate(keyframe);
                newKeyframe.transform.SetParent(timeLineCharacter.transform);
                newKeyframe.Init(this, keyframeBase, offset, separation);
                Resize(timeLineCharacter, newKeyframe.transform.localPosition.x);
                timelineKeyframes.Add(newKeyframe);
            }
            lastkeyframeBase = keyframeBase;
        }
        if (lastkeyframeBase != null)
        {
            ActiveKeyframe(lastkeyframeBase);
        }
    }
Exemple #3
0
        public static TimelineInfo GetTimelineInfo(GMFileContent c, uint id)
        {
            if (id >= c.Timelines->Count)
            {
                throw new ArgumentOutOfRangeException(nameof(id));
            }

            var tl = (TimelineEntry *)GMFile.PtrFromOffset(c, (&c.Timelines->Offsets)[id]);

            TimelineInfo ti;

            ti.Name = StringFromOffset(c, tl->Name);

            var ks = new TimelineKeyframe[tl->KeyframeCount];

            for (uint i = 0; i < ks.Length; ++i)
            {
                var tk  = &((&tl->Keyframes)[i]);
                var tes = (CountOffsetsPair *)GMFile.PtrFromOffset(c, tk->OffsetToEvents);

                ks[i].Time = tk->Time;

                var ees = new uint[tes->Count];
                for (uint j = 0; j < ees.Length; ++j)
                {
                    ees[j] = ((TimelineEventEntry *)GMFile.PtrFromOffset(c,
                                                                         (&tes->Offsets)[i]))->EventID;
                }

                ks[i].EventIDs = ees;
            }

            ti.Keyframes = ks;

            return(ti);
        }