public static void Initialize(GlobalInit initStruct) { // subsystem initialization // initialize low level system // File System m_FileSystem = new Filesystem.FileSystem(); m_FileSystem.Initialize(); // graphic m_Device3d = new GraphicDevice.Direct3d11.Device3dD3d11(); Device3dInit dev3dInit = new Device3dInit(); dev3dInit.hWindow = initStruct.hWindow; dev3dInit.iScreenWidth = initStruct.hWindow.ClientSize.Width; dev3dInit.iScreenHeight = initStruct.hWindow.ClientSize.Height; m_Device3d.Initialize(dev3dInit); // input m_InputManager = new Input.CInputManager(); m_InputManager.Initialize(initStruct.hWindow); // application time m_AppTimer = new CAccumTimer(); m_AppTimer.Start(); // initialize high level // world m_World = new World.CWorld(); // scene m_Scene = new Scene.Scene(); m_Scene.Load(); m_Scene.CurrWorld = m_World; }