CanadianMachines / MachineLib / Machine2Factory.h
Machine2Factory.h
Raw
/**
 * @file Machine2Factory.h
 * @author sriram
 *
 *
 */

#ifndef CANADIANEXPERIENCE_MACHINELIB_MACHINE2FACTORY_H
#define CANADIANEXPERIENCE_MACHINELIB_MACHINE2FACTORY_H

#include <memory>

struct ma_engine;
class Machine;

/**
 * factory for machine 2
 */
class Machine2Factory
{
private:
	/// Path to the resources directory
	std::wstring mResourcesDir;

	/// The miniaudio engine
	ma_engine* mAudioEngine;

public:

	Machine2Factory(std::wstring resourcesDir, ma_engine* audioEngine);

	std::shared_ptr<Machine> CreateMachine();
};

#endif //CANADIANEXPERIENCE_MACHINELIB_MACHINE2FACTORY_H