▼ファイル構造

　★：単体自機スクリプト・RAINS両方の動作に必須
　☆：RAINSの動作に必須
　##：自機ごとの固有の文字が入る

・[\（root）（このファイルが置いてあるフォルダ）]
│　　	★RAINS.dnh	RAINSとして動作させるためのコアファイル
│　　	★##.dnh	単体動作用の、各自機のコアファイル
│　　	　Config.ini	設定ファイル
│
├[\RAINS]
│　│	RAINSの核となるスクリプトが入っている
│　│	★RAINS_Core.dnh		最重要スクリプト。全自機共通のメイン動作や必須の関数など
│　│	☆RAINS_System.dnh		RAINS動作時の必須関数集
│　│					　自機の数・装備の数・自機の名前等が変わったら変更が必要
│　│	☆RAINS_FullInclude.dnh		RAINS動作時に必要なスクリプトファイル及び
│　│					　各自機の##_PlayerInclude.dnhを取り込む
│　│	☆RAINS_SpellInclude.dnh	各自機＆自機間共通のスペルカードスクリプトを取り込む
│　│	　RAINS_Item.dnh		独自アイテムを動作させるためのスクリプト（サンプルアイテム付き）
│　│	
│　└[\img]
│　	RAINS選択時の画像と、独自アイテムの画像データが入っている
│
├[\CommonFiles]
│　│	全自機で共有するデータが入っている
│　│	　libs.dnh		ライブラリ
│　│	★Common_LocalData.dnh	全自機で使用する共通のファイル一覧
│　│	　Common_Effects.dnh	全自機共通のエフェクトタスク集
│　│	★Common_Include.dnh	全自機で使用するスクリプトファイルのインクルードリスト
│　│	　ReigekiBomb.dnh	一部自機＆装備共通ボムのサンプル
│　│
│　├[\img]
│　│	全自機で共有する画像データが入っている
│　│
│　└[\se]
│　	効果音データが入っている
│　	（なにかと共通するファイルが多いため、全ての効果音をここにまとめておくのを推奨）
│
└[\##（機体毎のルートフォルダ）]
　　│	★##_System.dnh		自機毎のメイン動作を記述する
　　│	★##_ShotData.dnh	自機毎の弾画像データ
　　│	★##_ShotTasks.dnh	自機毎のショットを撃つためのルーチンと、弾の動作
　　│	★##_LocalData.dnh	自機毎のファイルの一覧とShotDataの在り処
　　│	★##_PlayerInclude.dnh	自機毎のスクリプトファイルのインクルードリスト
　　│	　##_Bomb.dnh		自機毎の固有のスペルカードスクリプト
　　│	　##_Effects.dnh	自機毎のエフェクトタスク集
　　│
　　└[\img]画像データ
	自機別の画像データが入っている


▼libs.dnhの関数・マイクロスレッド一覧

　自機スペルカードスクリプトにもインクルード可能
　引数などの詳しい情報は、libs.dnhを確認してください。
　また、必要に応じて拡張してもかまいません。
	
	task TKeyCheck
		キー入力状況を監視する

	function getMoveDirection
		キーの入力状態から移動方向（角度）を返す
		未入力の場合は負の値を返す

	function hitCheck_init
		ホーミング機能を使う場合、@Initializeで実行

	function update_target
		敵情報を列挙し、それぞれの敵に攻撃が当たるかどうかを検証する。

	task HitChecker
		指定されたIDの敵に攻撃が当たるかどうかを記憶する。
		動作に２フレーム必要

	function hitCheck_Allocation
		敵情報を記憶する配列があふれる場合、配列の動的確保を行う

	function SetTarget01
		hitCheck配列の情報を元に、angleとの角度差がもっとも小さい敵をターゲットとする
		ターゲットがいない場合は-1を返す

	function SetTarget02
		hitCheck配列の情報を元に、もっとも近い敵をターゲットとする
		ターゲットがいない場合は-1を返す

	function Horming_DEG
		ホーミング処理
		調整後の角度を返す
		最大旋回速度に限度のある砲台にも使えます。

	function GetAngleDifference
		2つの角度の差を求める

	function Search_DEG
		敵をサーチし、進行方向を指定した角度単位で変更する
		function CheckSearchable
			Search_DEGのサブ関数
	（処理が重いため、デフォルトではコメントアウトされています。）

	function IsEnemyExisting
		指定したIDの敵が「存在」するかを調べる

	function IsEnemyAlive
		指定したIDの敵が「生存」しているかを調べる
		ボスの撃破演出中などで、ライフが0でも存在する敵にはfalseを返す

	task EraseBullets
		指定した時間中の弾消し。
		アイテムにするか否かを選択可能

	function EraseEnemyShotOnLine
		基点座標、方向、長さ情報から直線状の敵弾を消去
		無限ループ対策つき

	function GetLength
		2点間の距離を求める。

	function ShotCheck
		ショットが撃てる状態かどうかを調べる

	function SetPolygon01
		四角形エフェクトオブジェクトの頂点位置設定
		左上の座標と大きさから設定するバージョン

	function SetPolygon02
		四角形エフェクトオブジェクトの頂点位置設定
		左上の座標と右下の座標から設定するバージョン

	function SetUVmapping01
		四角形エフェクトオブジェクトのUV設定
		左上の座標と大きさから設定するバージョン

	function SetUVmapping02
		四角形エフェクトオブジェクトのUV設定
		左上の座標と右下の座標から設定するバージョン

	function H_to_ColRate
		色相（0〜359）をRGBのいづれかの色要素（0〜1）に変換

	function CreateRingEffect
		環状（筒状）エフェクトオブジェクトを生成する。

	function SetPolygon_Ring
	※引数nは、CreateRingEffectの時と同じ数値にすること
		環状エフェクトのプリミティブを設定する

	function SetPolygon_Pipe
	※引数nは、CreateRingEffectの時と同じ数値にすること
		擬似立体による筒状エフェクトを表現したい場合、SerPolygon_Ringの代わりに使用。
		プリミティブの上下関係を保障できないので、加算（ADD）での使用が基本となる

	function SetUVmapping01_Ring
	※引数nは、CreateRingEffectの時と同じ数値にすること
		環状（筒状）エフェクトに対して、SetUVmapping01と同じような感覚でUV設定が行える

	function SetVertex_Ring
	※引数nは、CreateRingEffectの時と同じ数値にすること
		環状（筒状）エフェクトに対して、一括でObjEffect_SetVertexColorを適用する
