void RenderSystem::init_object()
	{

		m_Timer.Reset();
		m_Font.Init(m_pD3D11Device);
		m_Camera.Init(GetAppInst(), GetHwnd());
		m_Hill.Init(m_pD3D11Device, m_pD3D11DeviceContext, GetHwnd());
	}
void RenderSystem::init_object()
{
	m_Skymap.createSphere(m_pD3D11Device, 10, 10);
	m_Skymap.load_texture(m_pD3D11Device, L"../../media/textures/skymap.dds");
	m_Skymap.init_shader(m_pD3D11Device, GetHwnd());

	m_Terrain.Init(m_pD3D11Device, m_pD3D11DeviceContext, GetHwnd());
	m_Timer.Reset();
	m_Font.Init(m_pD3D11Device);
	m_Camera.Init(GetAppInst(), GetHwnd());

}
void RenderSystem::init_object()
{
	ObjModel.initModel(m_pD3D11Device, m_pD3D11DeviceContext, GetHwnd());
	ObjModel.loadModel("../../media/objects/ground.obj");

	m_Skymap.createSphere(m_pD3D11Device, 10, 10);
	m_Skymap.load_texture(m_pD3D11Device, L"../../media/textures/skymap.dds");
	m_Skymap.init_shader(m_pD3D11Device, GetHwnd());

	md5Model.init_buffer(m_pD3D11Device, m_pD3D11DeviceContext);
	md5Model.init_shader(m_pD3D11Device, GetHwnd());

	m_Font.Init(m_pD3D11Device.Get());
	m_Timer.Reset();
	m_Camera.Init(GetAppInst(), GetHwnd());

}
void RenderSystem::init_object()
{
	ObjModel.initModel(m_pD3D11Device, m_pD3D11DeviceContext, GetHwnd());
	ObjModel.loadModel("../../media/objects/ground.obj");

	m_Skymap.createSphere(m_pD3D11Device, 10, 10);
	m_Skymap.load_texture(m_pD3D11Device, L"../../media/textures/skymap.dds");
	m_Skymap.init_shader(m_pD3D11Device, GetHwnd());

	BottomModel.initModel(m_pD3D11Device, m_pD3D11DeviceContext, GetHwnd());
	BottomModel.loadModel("../../media/objects/bottle.obj");

	d3dPicking.InitPicking(m_ScreenWidth, m_ScreenHeight, BottomModel.GetPos(), BottomModel.GetIndex());
	
	m_Font.Init(m_pD3D11Device.Get());
	m_Timer.Reset();
	m_Camera.Init(GetAppInst(), GetHwnd());
}
void Game_Editor::Init()
{
    AppFramework_Editor::Init();
    SystemLocator::GetInstance()->RegisterSystemContainer(m_systemContainer);

    //Init Input Handlers
    m_directInputSystem = new DirectInput();
    m_directInputSystem->Init(GetAppInst(), GetMainWnd(), DISCL_NONEXCLUSIVE | DISCL_FOREGROUND, DISCL_NONEXCLUSIVE | DISCL_FOREGROUND);
    m_systemContainer.AddSystem(GetInputSystem());

    HWND window = GetMainWnd();

    m_taskManagingSystem = new TaskManager();
    m_systemContainer.AddSystem(GetTaskManagerSystem());

    m_XCGraphicsSystem = new XC_Graphics();
    m_XCGraphicsSystem->InitGraphicsWindow(window, m_clientWidth, m_clientHeight, true);
    m_systemContainer.AddSystem(GetXCGraphicsSystem());

    m_resourceManagingSystem = new ResourceManager(*m_XCGraphicsSystem, *m_taskManagingSystem);
    m_resourceManagingSystem->Init();
    m_systemContainer.AddSystem(GetResourceManagerSystem());

    //Initialize Cameras
    m_cameraManagingSystem = new XC_CameraManager(m_XCGraphicsSystem->GetShaderManagerSystem(), GetInputSystem());
    m_cameraManagingSystem->InitializeCameras(m_clientWidth, m_clientHeight);
    m_cameraManagingSystem->SetCameraType(CAMERATYPE_BASIC);
    m_systemContainer.AddSystem(GetCameraManagerSystem());

    m_gameFSM = new GameFiniteStateMachine();
    m_gameFSM->Init();
    m_systemContainer.AddSystem(GetGameFSMSystem());

    m_gameFSM->SetState("EditorLoadingState", STATE_NONE);

    m_networkManagingSystem = new NetworkManager();
    m_systemContainer.AddSystem(*m_networkManagingSystem);

    //Initalize the netowrk clients
    m_liveDriveClient = new LiveDriveVRClient(*this);
    m_liveDriveClient->init(IP_ADDRESS, DEFAULT_PORT);

    m_networkManagingSystem->AddNetPeer(m_liveDriveClient);
}