public void PlayScenario() { if (AudioListener.pause) { AudioListener.pause = false; return; } StopScenario(); AudioSource audioSource = GetFreeAudioSource(); if (!audioSource) { Debug.LogError("no free sequencer"); return; } activeSoundblock = scenarioManager.GetSoundBlock(scenarioManager.FirstBlock.soundblockId); activeAudiosource = audioSource; AudioClip clip = resourcesManager.GetResource(activeSoundblock.clipId).Clip; if (!clip) { Debug.LogError("no clip found for " + activeSoundblock.clipId); return; } audioSource.clip = clip; audioSource.Play(); isPlaying = true; PrepareNextBlock(); }
private void LoadScenarioStructure(string scenarioUrl, ScenarioSave scenarioSave) { Debug.Log("Scenario Loading..."); for (int i = 0; i < scenarioSave.soundblocks.Length; i++) { Debug.Log("Loading Soundblock " + scenarioSave.soundblocks[i].blockId); scenarioManager.CreateSoundBlock(scenarioSave.soundblocks[i].blockId, scenarioSave.soundblocks[i].clipId, scenarioSave.soundblocks[i].isLooping); Debug.Log("Loaded Soundblock " + scenarioSave.soundblocks[i].blockId); } for (int i = 0; i < scenarioSave.links.Length; i++) { Debug.Log("Drawing link ( " + scenarioSave.links[i].fromSoundblock + " -> " + scenarioSave.links[i].toSoundblock + " ) "); scenarioManager.DoLink(scenarioManager.GetSoundBlock(scenarioSave.links[i].fromSoundblock), scenarioManager.GetSoundBlock(scenarioSave.links[i].toSoundblock), scenarioSave.links[i].linkType); Debug.Log("Drawn link"); } Debug.Log("Scenario Loaded"); scenarioManager.nextID = scenarioSave.soundBlockNextId; resourcesManager.nextResourceID = scenarioSave.resourceNextId; }
private void StopBlock(int blockId) { actualBlock = scenarioManager.GetSoundBlock(blockId); activeSequencer.Mute(true, 1.0f); }