/* _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
|
|   systemManager.h
|
+ -------------------------------------------------------------------------------------------------
|
|	システム管理クラス
|
+ _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ */

#pragma once

class WindowManager;
class Renderer;
class TextureManager;
class Scene;
class Mouse;

class SystemManager
{
	private:
		WindowManager*		m_pWinMan;		// ウィンドウ管理
		
		Renderer*			m_pRenderer;	// レンダラー
		TextureManager*		m_pTexMan;		// テクスチャ
		Scene*				m_pCamera;		// カメラ
		Mouse*				m_pMouse;		// マウス

	private:
		void	release(void);		// 解放

	public:
		SystemManager();
		~SystemManager();

		void	init(void);			// 初期化
		void	update(void);		// 更新

		Renderer*		getRenderer(void){ return(m_pRenderer); }
		TextureManager*	getTexMan(void){ return(m_pTexMan); }
		Scene*			getCamera(void){ return(m_pCamera); }
		Mouse*			getMouse(void){ return(m_pMouse); }

		static SystemManager*	getInstance(void);
};

