#ifndef _G_OBJECT_MANAGER_
#define _G_OBJECT_MANAGER_

#include "GEnum.h"

#include "GPlayer.h"
#include "GShotManager.h"
#include "GEffectManager.h"
#include "GEnemyManager.h"
/*
#include "../neutral/GNeutralManager.h"
#include "../item/GItemManager.h"
*/

#include <hpllib/game/player/HPLPlayerSetting.h>


/** オブジェクトマネージャ
  *
  */
class GObjectManager{
public:
	// プレイヤー情報
	std::vector<HPLPlayerSetting> m_vecPlayerSettings;

	// 現在操作しているキャラクター
	int m_nPlayingIndex;
	//GPlayer* m_Player;
	GPlayer m_aryPlayerList[ GEnum::PLAYER_MAX_NUM ];
	GShotManager m_ShotManager;
	GEffectManager m_EffectManager;
	GEnemyManager m_EnemyManager;
/*

	GNeutralManager* neutralManager;
	GItemManager* itemManager;
*/

	// Constructor/Destructor
public:
	GObjectManager();
	virtual ~GObjectManager();

	/** 次のセットアップを行う
	  * プレイヤーのるぷライト準備
	  */
	void setup();

	/**
		remove all objects except player
	*/
	void clear();
};

#endif
