public static TrackAsset CloneTrack(TBCAsset asset, TBCGroupTrack parentTrack, TrackAsset refTrackAsset)
{
Stopwatch stopwatch1 = new Stopwatch();
Stopwatch stopwatch2 = new Stopwatch();
Stopwatch stopwatch3 = new Stopwatch();
stopwatch1.Start();
stopwatch2.Start();
var track = asset.CreateTrack(refTrackAsset.GetType(), parentTrack, refTrackAsset.name);
stopwatch2.Stop();
stopwatch3.Start();
#if UNITY_EDITOR
//编辑器状态下保存origin状态下的“TrackAsset”muted状态
if (!Application.isPlaying)
{
track.muted = refTrackAsset.muted;
}
#endif
if (refTrackAsset is TBCTrack)
((TBCTrack)track).DisplayChineseName = ((TBCTrack)refTrackAsset).DisplayChineseName;
track.SetGroup(parentTrack);
stopwatch3.Stop();
stopwatch1.Stop();
string record = string.Format(@"[耗时记录][总] -> {0}
[分1]-> {1}
[分2]-> {2}", ((float)(stopwatch1.Elapsed.Ticks * 1000.0 / Stopwatch.Frequency)),
((float)(stopwatch2.Elapsed.Ticks * 1000.0 / Stopwatch.Frequency)),
((float)(stopwatch3.Elapsed.Ticks * 1000.0 / Stopwatch.Frequency)));
UnityEngine.Debug.LogError(record);
return track;
}

文章评论