public void ShouldAllowEmptyTimeline() { Timeline t = TimelineLoader.LoadFromText("test", ""); Assert.AreEqual(0, t.Items.Count()); Assert.IsFalse(t.VisibleItemsAt(0, 10).Any()); }
/*--- Method: public ------------------------------------------------------------------------------------------------------------------------------------------*/ /// <summary> タイムラインデータモデルを生成します。 /// </summary> /// <param name="pCommonDM"> 共通データモデル </param> /// <param name="pTimelineDM"> 作成データを格納するタイムラインデータモデル </param> /// <param name="pTimerDM"> タイマーデータモデル </param> //public void CreateTimelineDataModel(CommonDataModel pCommonDM, TimelineDataModel pTimelineDM, TimerDataModel pTimerDM) public void CreateTimelineDataModel(CommonDataModel pCommonDM, TimelineObjectModel pTimelineOM) { switch (pCommonDM.AppStatusData.TimelineLoadStatus) { case TimelineLoadStatus.NowLoading: return; } this.TimelineDataClear(pCommonDM, pTimelineOM); pCommonDM.AppStatusData.TimelineLoadStatus = TimelineLoadStatus.NowLoading; this.TimelineFunctionEnabledChange(pCommonDM); Globals.SoundFilesRoot = pCommonDM.PluginSettingsData.SoundResourceDirectory; if (pCommonDM.SelectedTimelineFileData == null) { pCommonDM.AppStatusData.TimelineLoadStatus = TimelineLoadStatus.Failure; this.TimelineFunctionEnabledChange(pCommonDM); return; } try { TimelineLoader.LoadFromFile(pTimelineOM, pCommonDM.SelectedTimelineFileData.TimelineFileFullPath); } catch (Exception e) { pCommonDM.LogDataCollection.Add(Globals.SysLogger.WriteSystemLog.Failure.ERROR.Write(e.Message, Globals.ProjectName)); Globals.ErrLogger.WriteStackTrace(e); pCommonDM.AppCommonData.TimelineLoadErrorMsg = "LoadError: " + e.Message; pCommonDM.AppStatusData.TimelineLoadStatus = TimelineLoadStatus.Failure; this.TimelineFunctionEnabledChange(pCommonDM); pCommonDM.SelectedTimelineFileData.TimelineFileName = string.Empty; pCommonDM.SelectedTimelineFileData.TimelineFileFullPath = string.Empty; return; } finally { } // タイムラインアイテムコレクションの生成 foreach (var data in pTimelineOM.ActivityCollection) { // タイムラインタイプとジョブを設定 this.timelineItemAnalyzProcess.SetTimelineType(data); this.timelineItemAnalyzProcess.SetTimelineJob(data); } // 最終ロードファイルの変更 pCommonDM.PluginSettingsData.LastLoadTimelineFileName = pCommonDM.SelectedTimelineFileData.TimelineFileName; pCommonDM.PluginSettingsData.LastLoadTimelineFullPath = pCommonDM.SelectedTimelineFileData.TimelineFileFullPath; pCommonDM.ViewRefresh(); pCommonDM.AppStatusData.TimelineLoadStatus = TimelineLoadStatus.Success; this.TimelineFunctionEnabledChange(pCommonDM); }
public void TestIncludedTimelineFiles() { Globals.ResourceRoot = "."; foreach (var filepath in Globals.TimelineTxtsInResourcesDir) { TimelineLoader.LoadFromFile(filepath); } }
public void EOLAtEOFShouldBeOptional() { Timeline timeline = TimelineLoader.LoadFromText("test", "1 テスト"); var items = timeline.Items.ToList(); Assert.AreEqual(1, items.Count); Assert.AreEqual(1.0, items.First().TimeFromStart); Assert.AreEqual("テスト", items.First().Name); }
public void TestTimelineStatementBasic() { Timeline timeline = TimelineLoader.LoadFromText("test", "1 テスト\n"); var items = timeline.Items.ToList(); Assert.AreEqual(1, items.Count); Assert.AreEqual(1.0, items.First().TimeFromStart); Assert.AreEqual("テスト", items.First().Name); }
public void TestTimelineStatementRegression() { Timeline timeline = TimelineLoader.LoadFromText("test", "0 \"asdf\" sync /aaa/ window 999\n1 bbb\n"); var items = timeline.Items.ToList(); Assert.AreEqual(2, items.Count); Assert.AreEqual(0.0, items.First().TimeFromStart); Assert.AreEqual("asdf", items.First().Name); }
public void ActivitiesWithSameTimeToStartShouldBeAccepted() { string txt = ""; for (int i = 0; i < 10; ++i) { txt += String.Format("1 {0}\n", i); } Timeline t = TimelineLoader.LoadFromText("test", txt); }
public void AnchorWindowShouldBeRespected() { Timeline t = TimelineLoader.LoadFromText("test", "100 テスト sync /a/ window 20,30\n"); TimelineAnchor a = t.Anchors.First(); Assert.AreSame(a, t.FindAnchorMatchingLogline(100, "a"), "With in window"); Assert.AreSame(a, t.FindAnchorMatchingLogline(81, "a"), "With in before window"); Assert.AreSame(a, t.FindAnchorMatchingLogline(129, "a"), "With in after window"); Assert.IsNull(t.FindAnchorMatchingLogline(79, "a"), "Out of before window"); Assert.IsNull(t.FindAnchorMatchingLogline(131, "a"), "Out of after window"); }
public void TestTimelineStatementWithBeforeAndAfterWindow() { Timeline timeline = TimelineLoader.LoadFromText("test", "1 テスト sync /「テスト」の構え/ window 10, 20\n"); var items = timeline.Items.ToList(); Assert.AreEqual(1, items.Count); Assert.AreEqual(1.0, items.First().TimeFromStart); Assert.AreEqual("テスト", items.First().Name); var anchors = timeline.Anchors.ToList(); Assert.AreEqual(1, anchors.Count); Assert.AreEqual("「テスト」の構え", anchors.First().Regex.ToString()); Assert.AreEqual(10, anchors.First().WindowBefore); Assert.AreEqual(20, anchors.First().WindowAfter); }
public void VisibleItemsAtShouldReturnActivitiesWithSameStartTime() { string txt = ""; for (int i = 0; i < 10; ++i) { txt += String.Format("{0} {0}a\n", i); txt += String.Format("{0} {0}b\n", i); txt += String.Format("{0} {0}c\n", i); } Timeline t = TimelineLoader.LoadFromText("test", txt); { var visibleItemsStr = t.VisibleItemsAt(5.1, 10).Select(a => a.Name).Aggregate((a, n) => a + " " + n); Assert.AreEqual("6a 6b 6c 7a 7b 7c 8a 8b 8c 9b", visibleItemsStr); } { var visibleItemsStr = t.VisibleItemsAt(5, 10).Select(a => a.Name).Aggregate((a, n) => a + " " + n); Assert.AreEqual("6a 6b 6c 7a 7b 7c 8a 8b 8c 9b", visibleItemsStr); } }
public void VisibleItemsAtShouldReturnUnfinishedActivities() { string txt = ""; for (int i = 0; i < 10; ++i) { txt += String.Format("{0} {0}\n", i); } Timeline t = TimelineLoader.LoadFromText("test", txt); { var visibleItems = t.VisibleItemsAt(5.1, 10).ToList(); Assert.AreEqual(4, visibleItems.Count); } { var visibleItems = t.VisibleItemsAt(5, 10).ToList(); Assert.AreEqual(4, visibleItems.Count); } { var visibleItems = t.VisibleItemsAt(4.9, 10).ToList(); Assert.AreEqual(5, visibleItems.Count); } }
public override void OnInspectorGUI() { MenuBar.OnGUI("288078-fabricmanager", true, this.fabricManager.gameObject); AudioManagerEngineEditor.GetManagerInstance(); this.undoManager.CheckUndo(); GUILayout.BeginVertical("Box", new GUILayoutOption[0]); this.fabricManager._dontDestroyOnLoad = EditorGUILayout.Toggle("Dont Destroy OnLoad: ", this.fabricManager._dontDestroyOnLoad, new GUILayoutOption[0]); this.fabricManager._showAllInstances = EditorGUILayout.Toggle("Show All Instances: ", this.fabricManager._showAllInstances, new GUILayoutOption[0]); this.fabricManager._enableVirtualization = EditorGUILayout.Toggle("AudioComponent Virtualization: ", this.fabricManager._enableVirtualization, new GUILayoutOption[0]); GUILayout.BeginHorizontal(new GUILayoutOption[0]); this.fabricManager._createEventListeners = EditorGUILayout.Toggle("Create Event Listeners: ", this.fabricManager._createEventListeners, new GUILayoutOption[0]); if (this.fabricManager._createEventListeners) { this.fabricManager._useFullPathForEventListeners = EditorGUILayout.Toggle("Use full path for name:", this.fabricManager._useFullPathForEventListeners, new GUILayoutOption[0]); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(new GUILayoutOption[0]); this.fabricManager.enableTimelineAssetLoader = EditorGUILayout.Toggle("Timeline Loader: ", this.fabricManager.enableTimelineAssetLoader, new GUILayoutOption[0]); if (this.fabricManager.enableTimelineAssetLoader && GUILayout.Button("Import ftp Project: ", new GUILayoutOption[0])) { string text = EditorUtility.OpenFilePanel("import ftp Project", "", "ftp"); if (text.Length != 0) { TimelineLoader.LoadFtpProject(text); } } GUILayout.EndHorizontal(); this.fabricManager._enableDebugLog = EditorGUILayout.Toggle("Debug Log: ", this.fabricManager._enableDebugLog, new GUILayoutOption[0]); this.fabricManager._allowExternalGroupComponents = EditorGUILayout.Toggle("External Groups: ", this.fabricManager._allowExternalGroupComponents, new GUILayoutOption[0]); int languageByIndex = EditorGUILayout.Popup("Language: ", this.fabricManager.GetLanguageIndex(), this.fabricManager.GetLanguageNames(), new GUILayoutOption[0]); this.fabricManager.SetLanguageByIndex(languageByIndex); this.fabricManager._transitionThreshold = (double)EditorGUILayout.Slider("Transition Threshold (sec): ", (float)this.fabricManager._transitionThreshold, 0.01f, 1f, new GUILayoutOption[0]); this.fabricManager._volumeThreshold = (double)EditorGUILayout.Slider("Volume Threshold: ", (float)this.fabricManager._volumeThreshold, 0f, 1f, new GUILayoutOption[0]); this.fabricManager._onApplicationPauseBehavior = (FabricManager.OnApplicationPauseBehavior)EditorGUILayout.EnumPopup("On Application Pause: ", this.fabricManager._onApplicationPauseBehavior, new GUILayoutOption[0]); bool flag = EditorGUILayout.Toggle("Bake Component Inst: ", this.fabricManager._bakeComponentInstances, new GUILayoutOption[0]); if (flag != this.fabricManager._bakeComponentInstances) { if (flag) { this.fabricManager.BakeComponentInstances(); } else { this.fabricManager.CleanBakedComponentInstances(); } } this.fabricManager._bakeComponentInstances = flag; bool flag2 = EditorGUILayout.Toggle("Playmode Persistence: ", FabricEditorData.GetData()._playmodePersistance, new GUILayoutOption[0]); if (flag2 != FabricEditorData.GetData()._playmodePersistance) { FabricEditorData.GetData()._playmodePersistance = flag2; FabricEditorData.ApplyChanges(); } FabricEditorData.GetData()._enableHiearchyIcons = EditorGUILayout.Toggle("Show Component Icons: ", FabricEditorData.GetData()._enableHiearchyIcons, new GUILayoutOption[0]); GUILayout.BeginHorizontal(new GUILayoutOption[0]); EditorGUILayout.LabelField("Editor Path: " + this.fabricManager._fabricEditorPath, new GUILayoutOption[0]); if (GUILayout.Button("Set Path", new GUILayoutOption[0])) { this.fabricManager._fabricEditorPath = AudioManagerEngineEditor.SetFabricEditorPath(this.fabricManager._fabricEditorPath); } GUILayout.EndHorizontal(); GUILayout.EndVertical(); this.AddRemoveAudioMixerDebugLogComponents(); GUILayout.BeginHorizontal("Box", new GUILayoutOption[0]); this.fabricManager._forceAxisVector = EditorGUILayout.Vector3Field("Force Axis: ", this.fabricManager._forceAxisVector, new GUILayoutOption[0]); GUILayout.EndHorizontal(); GUILayout.Space(5f); GUILayout.BeginVertical("Music Time Settings", "Box", new GUILayoutOption[0]); GUILayout.Space(15f); GUILayout.BeginHorizontal(new GUILayoutOption[0]); this.musicSettingName = EditorGUILayout.TextField("Name: ", this.musicSettingName, new GUILayoutOption[0]); if (GUILayout.Button("Add", new GUILayoutOption[0])) { MusicTimeSittings musicTimeSittings = new MusicTimeSittings(); musicTimeSittings._name = this.musicSettingName; this.fabricManager._musicTimeSignatures.Add(musicTimeSittings); } GUILayout.EndHorizontal(); GUILayout.Space(5f); int count = this.fabricManager._musicTimeSignatures.Count; if (count > 0) { string[] array = new string[count]; for (int i = 0; i < count; i++) { array[i] = this.fabricManager._musicTimeSignatures[i]._name; } this.selectedMusicSetting = EditorGUILayout.Popup("Music Time Settings: ", this.selectedMusicSetting, array, new GUILayoutOption[0]); MusicTimeSittings musicTimeSittings2 = this.fabricManager._musicTimeSignatures[this.selectedMusicSetting]; musicTimeSittings2._name = EditorGUILayout.TextField("Name:", musicTimeSittings2._name, new GUILayoutOption[0]); musicTimeSittings2._bpm = EditorGUILayout.FloatField("Tempo: ", musicTimeSittings2._bpm, new GUILayoutOption[0]); musicTimeSittings2._syncType = (MusicSyncType)EditorGUILayout.EnumPopup("Sync Type: ", musicTimeSittings2._syncType, new GUILayoutOption[0]); GUILayout.BeginHorizontal(new GUILayoutOption[0]); EditorGUILayout.LabelField("Time Signature: ", new GUILayoutOption[] { GUILayout.MaxWidth(148f) }); string[] array2 = new string[17]; for (int j = 1; j < 17; j++) { array2[j] = j.ToString(); } musicTimeSittings2._timeSignatureLower = EditorGUILayout.Popup(musicTimeSittings2._timeSignatureLower, array2, new GUILayoutOption[] { GUILayout.MaxWidth(30f) }); EditorGUILayout.LabelField(" / ", new GUILayoutOption[] { GUILayout.MaxWidth(25f) }); string[] array3 = new string[] { "2", "4", "8" }; int num = 0; for (int k = 0; k < array3.Length; k++) { if (array3[k] == musicTimeSittings2._timeSignatureUpper.ToString()) { num = k; break; } } num = EditorGUILayout.Popup(num, array3, new GUILayoutOption[] { GUILayout.MaxWidth(30f) }); musicTimeSittings2._timeSignatureUpper = int.Parse(array3[num]); GUILayout.EndHorizontal(); GUILayout.Space(5f); AudioManagerEngineEditor.MusicSyncToTarget(musicTimeSittings2); GUILayout.Space(5f); if (this.selectedMusicSetting >= 0 && GUILayout.Button("Delete", new GUILayoutOption[0])) { this.fabricManager._musicTimeSignatures.RemoveAt(this.selectedMusicSetting); this.selectedMusicSetting = 0; } } GUILayout.Space(5f); GUILayout.EndVertical(); GUILayout.Space(5f); GUILayout.BeginVertical("AudioSource Pool", "Box", new GUILayoutOption[0]); GUILayout.Space(20f); this.fabricManager._audioSourcePool = EditorGUILayout.IntField("Size: ", this.fabricManager._audioSourcePool, new GUILayoutOption[0]); AudioSourcePoolEditor.DisplayProperties(this.fabricManager); GUILayout.EndVertical(); GUILayout.Space(5f); GUILayout.BeginVertical("Manager Info", "Box", new GUILayoutOption[0]); GUILayout.Space(10f); GUILayout.Label("Total gameObjects used: " + this.fabricManager._totalNumberOfGameObjectsUsed, new GUILayoutOption[0]); GUILayout.Space(5f); float num2 = this.fabricManager._totalMemoryUsed / 1024f / 1024f; GUILayout.Label("Total memory used: " + num2 + " Mb", new GUILayoutOption[0]); GUILayout.Space(10f); GUILayout.Label("CPU:" + this.fabricManager.profiler.percent.ToString("0.000") + "% - ms:" + this.fabricManager.profiler.msPerFrame.ToString("0.000"), new GUILayoutOption[0]); GUILayout.EndVertical(); GUIHelpers.CheckGUIHasChanged(this.fabricManager.gameObject); this.undoManager.CheckDirty(); }