public void ChangeAnimLength(float newLength) { //Update the file settings guiTimeline.totalValue = newLength; List <TagarelaTimelineUI.TLkeyframe> keySet = new List <TagarelaTimelineUI.TLkeyframe>(guiTimeline.keyframeSet); keySet.RemoveAll(item => item.value > newLength); guiTimeline.keyframeSet = keySet; settings = TagarelaFileManager.UpdateSettings(tagarela.smrTotal, guiTimeline.keyframeSet, 0, "", guiTimeline.totalValue); //guiTimeline.UpdateSelection(); guiTimelineSegment.totalValue = newLength; guiTimelineSegment.KeyframeSet[0].Value = 0; guiTimelineSegment.KeyframeSet[1].Value = newLength; guiTimelineSegment.UpdateSelection(); settings.animationTime = newLength; Repaint(); tagarela.settings = settings; tagarela.BuildTimeline(); updateTimeline = true; Repaint(); Update(); playMode = PlayMode.currentTime; }
public void LoadAnimationFile(TextAsset file) { RefreshAudiolist(); tagarela.Clean(); CleanVars(); settings = TagarelaFileManager.Load(file); lastSelectionGameObjectEditing = Selection.activeGameObject; fileName = file.name; guiTimeline = new TagarelaTimelineUI(settings.animationTime); audioPreviewSpectrum = null; SelectedAudioclip = null; tagarela.audio.clip = null; tagarela.isPlaying = false; playMode = PlayMode.stopped; if (settings.audioFile != null) { for (int i = 0; i < tagarela.audioFiles.Count; i++) { if (settings.audioFile == tagarela.audioFiles[i].name) { SelectedAudioclip = tagarela.audioFiles[i]; tagarela.audio.clip = tagarela.audioFiles[i]; audioPreviewSpectrum = TagarelaAudioSpectrum.CreatePreview(SelectedAudioclip, 1024, 64, new Color(150f / 255f, 200f / 255f, 25f / 255f, 0.8f), TagarelaAudioSpectrum.PreviewType.both); audioPreviewSpectrum.hideFlags = HideFlags.DontSave; } } } // CARREGA O ARQUIVO XML //configurações principais if (settings.meshList.id != null) { guiTimeline.keyframeSet = new List <TagarelaTimelineUI.TLkeyframe>(); for (int i = 0; i < settings.keyframes.values.Length; i++) { TagarelaMorphTarget _MorphTarget = new TagarelaMorphTarget(); _MorphTarget.Populate(tagarela.smrTotal); for (int j = 0; j < settings.keyframes.sliderSettings[i].Length; j++) { float[] sliders = settings.keyframes.sliderSettings[i]; if (j < tagarela.smrTotalBlendShapesCount) { //tagarela.morphTargets[j].hideFlags = HideFlags.DontSave; _MorphTarget.sliderValue[j] = sliders[j]; } } guiTimeline.AddKeyframe(settings.keyframes.values[i], _MorphTarget); } } else { guiTimeline.keyframeSet = new List <TagarelaTimelineUI.TLkeyframe>(); TagarelaMorphTarget _MorphTarget = new TagarelaMorphTarget(); _MorphTarget.Populate(tagarela.smrTotal); guiTimeline.AddKeyframe(0f, _MorphTarget); } //Update the file settings settings = TagarelaFileManager.UpdateSettings(tagarela.smrTotal, guiTimeline.keyframeSet, 0, settings.audioFile, guiTimeline.totalValue); guiTimelineSegment = new TagarelaTimelineSegmentUI(settings.animationTime); tagarela.OpenFile(file); timeNormalized = 0f; playMode = PlayMode.stopped; lastKeyframeSelected = -1; lastKeyframeSelected = guiTimeline.selectedIndex; updateMorphValue = guiTimeline.selectedValue; updateTimeline = true; if (settings != null && Selection.objects.Length == 1) { dialog = ScreenDialog.Timeline; } }