#pragma once

#include "共通\refCActivity.h"
#include "共通\refCCounter.h"
#include "Direct3D9\refCTexture.h"

namespace FDK
{
	// 羽を回転させる点フラッシュ。
	// 大羽４枚・小羽４枚がそれぞれ逆方向に回転する。
	public ref class CMAct点フラッシュ・回転羽 : CActivity
	{
	public:
		void t2D発火( Point pt中央px );
		void t2D発火( Vector2 v2中央px );
		void t2D発火( int n中央Xpx, int n中央Ypx );
		void t3D発火( float f中央X, float f中央Y, float f中央Z );
		void t3D発火( Vector3 v3中央 );

		CMAct点フラッシュ・回転羽( int nフラッシュの最大同時発火数 );

		virtual void On活性化() override;
		virtual void On非活性化() override;
		virtual int On進行() override;
		
		// 描画範囲は tx羽->list描画範囲[0] とするが、リストが空なら画像全体とする。
		void On描画( IntPtr hDevice, CTexture^ tx羽 );
	
	protected:
		value class ST羽
		{
		public:
			bool b使用中;
			Vector3 v3中央;
			float f回転単位;
			float f回転方向;
			float fサイズ;
			CCounter^ ct進行;
		};
		array<ST羽>^ st羽;
		int n羽の最大枚数;
		Random^ Random;
	};
}
