/* * Copyright 2012-2013 Ivan Gadzhega * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package net.ivang.axonix.main.audio.sound.wrappers; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.audio.Sound; /** * @author Ivan Gadzhega * @since 0.2 */ public class SequentialSoundWrapper implements SoundWrapper { private final String[] paths; private Sound[] sounds; private int index; public SequentialSoundWrapper(String... paths) { this.paths = paths; } public void init() { this.sounds = new Sound[paths.length]; for (int i = 0; i < paths.length; i++) { sounds[i] = Gdx.audio.newSound(Gdx.files.internal(paths[i])); } } public long play(float volume) { long newId = -1; if (volume > 0) { newId = sounds[index].play(volume); index = (index + 1) % sounds.length; } return newId; } }