#東方弾幕風[Player]
#ScriptVersion[2]
#Menu[Game Start]
#Text[]
#Image[.\Image\System\PlayerCutin.png]
#ReplayName[OFT]

script_player_main{
	
	/**
	 * イニシャライズ処理
	 */
	@Initialize{
		//プレイヤー共通の処理
		Initialize_All();
	}
	
	/**
	 * メインループ処理
	 */
	@MainLoop{
		//選択中のプレイヤーによって処理を分岐
		alternative( Player )
			case( Player_Dummy ){
				MainLoop_Dummy();
			}
			case( Player_Sunny ){
				MainLoop_Sunny();
			}
			case( Player_Luna ){
				MainLoop_Luna();
			}
			case( Player_Star ){
				MainLoop_Star();
			}
		
		//プレイヤー共通の処理
		MainLoop_All();
		
		//タスク制御用yield;
		yield;
	}
	
	/**
	 * ミス時処理
	 */
	@Missed{
		//ゲージマックス
		AddShieldGauge( ShieldGauge_Max );
		//死亡時無敵時間を4秒に
		SetPlayerInvincibility( 240 );
		//メインループと同様の処理
		MainLoop();
	}
	
	/**
	 * スペルカード発動時処理
	 */
	@SpellCard{
		//選択中のプレイヤーによって処理を分岐
		alternative( Player)
			case( Player_Sunny ){
				CutIn( KOUMA, "日符「ソルバスケット」", imgCutIn_Sunny );
				UseSpellCard( "Bomb_Sunny", "" );
			}
			case( Player_Luna ){
				CutIn( KOUMA, "月符「ルナーカーテン」", imgCutIn_Luna );
				UseSpellCard( "Bomb_Luna", "" );
			}
			case( Player_Star ){
				CutIn( KOUMA, "星符「ステラシャワー」", imgCutIn_Star );
				UseSpellCard( "Bomb_Star", "" );
			}
	}
	
	/**
	 * 描画処理
	 */
	@DrawLoop{
		//選択中のプレイヤーによって処理を分岐
		alternative( Player )
			case( Player_Sunny ){
				DrawLoop_Sunny();
			}
			case( Player_Luna ){
				DrawLoop_Luna();
			}
			case( Player_Star ){
				DrawLoop_Star();
			}
		
		//プレイヤー共通の処理
		DrawLoop_All();
	}
	
	/**
	 * ファイナライズ処理
	 */
	@Finalize{
		//選択中のプレイヤーによって処理を分岐
		alternative( Player)
			case( Player_Dummy ){
				Finalize_Dummy();
			}
			case( Player_Sunny ){
				Finalize_Sunny();
			}
			case( Player_Luna ){
				Finalize_Luna();
			}
			case( Player_Star ){
				Finalize_Star();
			}
		
		//プレイヤー共通の処理
		Finalize_All();
	}
	
	//スクリプトのインクルード
	#include_function ".\System\SystemConstant.txt"
	#include_function ".\System\MaterialConstant.txt"
	#include_function ".\System\MainSystem.txt"
	
	#include_function ".\..\System\ShieldSystem.txt"
	#include_function ".\..\System\ConfigSystem.txt"
	
	#include_function ".\Player_Dummy.txt"
	#include_function ".\Player_Sunny.txt"
	#include_function ".\Player_Luna.txt"
	#include_function ".\Player_Star.txt"
	
	#include_function ".\Library\Lib_Player.txt"
	#include_function ".\Library\Lib_Value.txt"
	#include_function ".\Library\Lib_Obj.txt"
	#include_function ".\Library\Lib_UserShot.txt"
}

//ボムスクリプトのインクルード
#include_script ".\Bomb_Sunny.txt"
#include_script ".\Bomb_Luna.txt"
#include_script ".\Bomb_Star.txt"
