Untitled

 avatar
unknown
csharp
15 days ago
1.7 kB
4
Indexable
TimelineAsset timeline = CreateInstance<TimelineAsset>();
                timeline.name = move.MoveData.MoveName + "_Timeline";

                EventSignalTrack eventSignalTrack = timeline.CreateTrack<EventSignalTrack>();
                HurtboxTrack hurtboxTrack = timeline.CreateTrack<HurtboxTrack>();
                HitboxTrack hitboxTrack = timeline.CreateTrack<HitboxTrack>();

                hitboxTrack.name = "Hitboxes";
                hurtboxTrack.name = "Hurtboxes";
                eventSignalTrack.name = "Events";

                var firstBox = hurtboxTrack.CreateClip<HurtboxAsset>();
                var secondBox = hitboxTrack.CreateClip<HitboxAsset>();

                secondBox.start = 0;
                secondBox.duration = 1 / 60d;
                secondBox.displayName = "Placeholder";

                firstBox.start = 0;
                firstBox.duration = 3 / 60d;
                firstBox.displayName = "First";

                var asset = firstBox.asset as HurtboxAsset;
                asset.Hurtbox = move.FrameData[0].Hurtbox;

                timeline.durationMode = TimelineAsset.DurationMode.FixedLength;
                timeline.fixedDuration = move.FrameData.Count / 60d;

                AssetDatabase.CreateAsset(timeline, timelinePath);

                AssetDatabase.AddObjectToAsset(firstBox.asset, timeline);
                AssetDatabase.AddObjectToAsset(secondBox.asset, timeline);

                EditorUtility.SetDirty(timeline);
                AssetDatabase.SaveAssets();

                move.TimelineAssetDirectory = timelinePath;
                EditorUtility.SetDirty(move);
                AssetDatabase.SaveAssetIfDirty(move);
Editor is loading...
Leave a Comment