#pragma once

#include "共通\refCActivity.h"
#include "共通\refC一定間隔処理.h"
#include "Direct3D9\refCTexture.h"

namespace FDK
{
	// 数値＋単位を描画する。
	// 数値が増加すると数字と単位がジャンプする。
	// 本クラスでは、与えられたテクスチャのライフサイクル管理は行わない。
	public ref class CMAct単位付き数値・ジャンプ : CActivity
	{
	public:
		// 表示する数値。新しい数値をここに上書きしていく。
		property int n数値
		{
			int get()
			{
				return this->_n数値;
			}
			void set( int value )
			{
				this->_n数値 = value;
			}
		};

		// false にすると非表示。
		property bool b表示
		{
			bool get()
			{
				return this->_b表示;
			}
			void set( bool value )
			{
				this->_b表示 = value;
			}
		};

		CMAct単位付き数値・ジャンプ();

		virtual void On活性化() override;
		virtual void On非活性化() override;
		virtual int On進行() override;

		// tx数値と単位 には、'0'〜'9',単位の11種の画像を含み、CTexture.list描画範囲 に11種の矩形が順番に格納されたテクスチャを指定する。
		void On描画( IntPtr hDevice, CTexture^ tx数値と単位, int n中央X, int n下辺Y, int n文字間隔px );

	protected:
		int n現在の数値;
		int nジャンプインデックス値;
		array<int>^ nジャンプ差分値;
		C一定間隔処理^ mジャンプインデックス進行;

	private:
		C一定間隔処理::dg処理^	dgジャンプ更新;

		void tジャンプ更新();

		int _n数値;
		bool _b表示;
	};
}
