blob: b1a5b26303292f10ead0a97990c51e76ceae5324 (
plain) (
tree)
|
|
#ifndef MUXER_H_3146C802
#define MUXER_H_3146C802
#include <memory>
#include <string>
#include <fmod_studio_common.h>
#include <fmod_studio.hpp>
class fmod_system_deleter {
public:
void operator()(FMOD::Studio::System* val) {
val->release();
}
};
using fmod_system_ptr = std::unique_ptr<FMOD::Studio::System, fmod_system_deleter>;
enum class TransitionState {
Pre,
Transition,
Post,
Stopped
};
class Muxer {
public:
Muxer();
void setPlayerLoc(int x, int y);
void playSoundAtPosition(std::string name, float x, float y);
void setMusicLevel(int level);
void stopMusic();
void update();
private:
fmod_system_ptr system_;
FMOD::Studio::EventInstance* exploration_event_;
FMOD::Studio::EventInstance* transition_event_;
FMOD::Studio::EventInstance* the_world_event_;
TransitionState transition_state_ = TransitionState::Pre;
};
#endif /* end of include guard: MUXER_H_3146C802 */
|