/* 古いキューシートを登録解除して、新しいキューシートの登録を行う。 * ただし同じキューシートの再登録は回避する */ private void MargeCueSheet(CriAtomCueSheet[] newCueSheets) { for (int i = 0; i < this.cueSheets.Length;) { int j = 0; for (j = 0; j < newCueSheets.Length; j++) { if (newCueSheets[j].name == this.cueSheets[i].name) { break; } } if (j == newCueSheets.Length) { CriAtom.RemoveCueSheet(this.cueSheets[i].name); } else { i++; } } foreach (var sheet1 in newCueSheets) { var sheet2 = this.GetCueSheetInternal(sheet1.name); if (sheet2 == null) { this.AddCueSheetInternal(null, sheet1.acbFile, sheet1.awbFile, null); } } }
/* * newDontRemoveExistsCueSheet == false の場合、古いキューシートを登録解除して、新しいキューシートの登録を行う。 * ただし同じキューシートの再登録は回避する */ private void MargeCueSheet(CriAtomCueSheet[] newCueSheets, bool newDontRemoveExistsCueSheet) { if (!newDontRemoveExistsCueSheet) { for (int i = 0; i < this.cueSheets.Length;) { int index = Array.FindIndex(newCueSheets, sheet => sheet.name == this.cueSheets[i].name); if (index < 0) { CriAtom.RemoveCueSheet(this.cueSheets[i].name); } else { i++; } } } foreach (var sheet1 in newCueSheets) { var sheet2 = this.GetCueSheetInternal(sheet1.name); if (sheet2 == null) { CriAtom.AddCueSheet(null, sheet1.acbFile, sheet1.awbFile, null); } } }
public void LoadCueSheet(string cueSheetName, int bgmCueId) { CriAtom.RemoveCueSheet(beforeBGMCueSheetName); beforeBGMCueSheetName = cueSheetName; CriAtom.AddCueSheet(beforeBGMCueSheetName, beforeBGMCueSheetName + ".acb", null, null); bgmSource.cueSheet = beforeBGMCueSheetName; bgmSource.volume = bgmVolume; bgmSource.Play(bgmCueId); }
public static bool RemoveCueSheet(CriAtomCueSheet cueSheet) { if (cueSheet == null || string.IsNullOrEmpty(cueSheet.name)) { return(false); } CriAtom.RemoveCueSheet(cueSheet.name); return(true); }
private void ReleaseSoundSheet() { for (var i = 0; i < soundElements.Count; ++i) { if (!soundElements[i].FinishTime.HasValue) { continue; } // 終了確認した時間から一定時間経過していたら解放. if (soundElements[i].FinishTime.Value + releaseTime < Time.realtimeSinceStartup) { soundElements.RemoveAt(i); } } var targets = new List <SoundSheet>(); foreach (var item in managedSoundSheets) { var release = true; // 再生中のCueが存在したら生存. foreach (var soundElement in soundElements) { if (item.Key == soundElement.SoundSheet.AssetPath) { release = false; break; } } if (release) { targets.Add(item.Value); } } foreach (var target in targets) { CriAtom.RemoveCueSheet(target.AssetPath); managedSoundSheets.Remove(target.AssetPath); UnityConsole.Event(ConsoleEventName, ConsoleEventColor, "UnLoad : {0}", SoundSheet.AcbPath(target.AssetPath)); } }
public void ReleaseAll(bool force = false) { // 再生リストの情報. var releaseElements = new List <SoundElement>(); foreach (var soundElement in soundElements) { if (!force && soundElement.IsPlaying) { continue; } releaseElements.Add(soundElement); } foreach (var item in releaseElements) { soundElements.Remove(item); } // 管理下の情報. var releaseList = new List <KeyValuePair <string, SoundSheet> >(); foreach (var managedSoundSheet in managedSoundSheets) { // 再生中のCueは生存. if (soundElements.Any(x => managedSoundSheet.Key == x.SoundSheet.AssetPath)) { continue; } releaseList.Add(managedSoundSheet); } foreach (var item in releaseList) { CriAtom.RemoveCueSheet(item.Value.AssetPath); managedSoundSheets.Remove(item.Key); } }
// Token: 0x060159CE RID: 88526 RVA: 0x005806A4 File Offset: 0x0057E8A4 public void CRIRemoveCueSheet(string sheetName) { CriAtom.RemoveCueSheet(sheetName); }