#pragma once

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

namespace FDK
{
	// 一枚画を中心点から拡大・回転・透明化しつつ描画する点フラッシュ。
	public ref class CMAct点フラッシュ・拡大波 : CActivity
	{
	public:
		void t3D発火( Vector3 v3中心, Vector3 v3法線, float f最小倍率, float f最大倍率, int n所要時間ms, float f最大不透明度0to1 );

		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使用中;
			float f最小倍率;
			float f最大倍率;
			int n最大不透明度0to255;
			int n所要時間ms;
			Vector3 v3中心;
			Vector3 v3法線;
			CCounter^ ct進行;
		};
		array<ST波>^ st波;
		int n波の最大数;
	};
}
