#pragma once
namespace M3D
{
class EngineInterface;
/**
 * Базовый класс для всех интерфейсных объектов. Предоставляет доступ к внутренним функциям движка.
 * @author Denis A. Biryukov
 */
class BaseInterface
{
	public:
		friend class EngineInterface;
		virtual ~BaseInterface(){};
		virtual operator int() const { return _id_;}
		BaseInterface( int id, EngineInterface *intf ) : _id_( id ), _engine_(intf) {};
		
	protected:
		int _id_;
		EngineInterface *_engine_;

};

}
