#ifndef ATS_MAYABOID_H
#define ATS_MAYABOID_H

#include "ats_boid.h"
#include "ats_MException.h"
#include "ats_BoundingFrame.h"
#include <vector>
#include <maya/MDagPath.h>
#include <maya/MFnDagNode.h>
#include <maya/MFnAnimCurve.h>

namespace ats
{
	class MayaBoid : public Boid
	{
	private:
		double m_time;  // 時間
		MObject m_maya_obj; // Mayaオブジェクトへの参照
		MDagPath m_dag_path; // MayaオブジェクトのDAGパス
		MFnDagNode m_fn_dag_node;
		std::vector<MFnAnimCurve> m_acFnSet;
		int m_crazy;

		double m_rotate[3];

	protected:
		double mo_kansei_weight; // def 1.1
		double mo_group_weight; // def 0.05
		double mo_group_muki_weight; // def	0.08

		void MakeFnSet();
		bool IsCrash();
		void UpdateTail();

	public:
		MayaBoid::MayaBoid(MDagPath& path, int tail_num, double speed,
			double max, double weight1, double weight2, double weight3); // 範囲設定
		virtual ~MayaBoid();                         // 範囲設定
		virtual void Draw();
		virtual void UpdateTime(double);
	};
}

#endif // ATS_LTAIlBOID_H

