CanadianMachines / MachineLib / Machine1Factory.h
Machine1Factory.h
Raw
/**
 * @file Machine1Factory.h
 * @author srira
 *
 *
 */

#ifndef CANADIANEXPERIENCE_MACHINELIB_MACHINE1FACTORY_H
#define CANADIANEXPERIENCE_MACHINELIB_MACHINE1FACTORY_H

#include <memory>

struct ma_engine;
class Machine;

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

	/// The miniaudio engine
	ma_engine* mAudioEngine;

public:

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

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

#endif //CANADIANEXPERIENCE_MACHINELIB_MACHINE1FACTORY_H