private static void P2_SetScreenSize(int w, int h) { LiteStatusDlg.StartDisplay("ゲーム画面の位置とサイズを調整しています..."); foreach (DDSubScreen subScreen in DDSubScreenUtils.SubScreens) { subScreen.WasLoaded = subScreen.IsLoaded(); } bool mdm = DDUtils.GetMouseDispMode(); //DDDerivationUtils.UnloadAll(); // moved -> DDPictureUtils.UnloadAll DDPictureUtils.UnloadAll(); DDSubScreenUtils.UnloadAll(); DDFontUtils.UnloadAll(); //DDSoundUtils.UnloadAll(); // 不要 if (DX.SetGraphMode(w, h, 32) != DX.DX_CHANGESCREEN_OK) { throw new DDError(); } DX.SetDrawScreen(DX.DX_SCREEN_BACK); // DDSubScreenUtils.CurrDrawScreenHandle にするべきだが、このフレームだけの問題なので、無難なところで DX_SCREEN_BACK にしておく。 DX.SetDrawMode(DDConsts.DEFAULT_DX_DRAWMODE); DDUtils.SetMouseDispMode(mdm); DDGround.SystemTasks.Delay(1, DDPictureUtils.TouchGlobally); // ウィンドウ位置調整・初回描画を優先するため、遅延する。 //DDPictureUtils.TouchGlobally(); // old //DDTouch.Touch(); // old DDSubScreenUtils.DrawDummyScreenAll(); LiteStatusDlg.EndDisplayDelay(); }
private static void P2_SetScreenSize(int w, int h) { LiteStatusDlg.StartDisplay("ゲーム画面の位置とサイズを調整しています..."); bool mdm = DDUtils.GetMouseDispMode(); //DDDerivationUtils.UnloadAll(); // moved -> DDPictureUtils.UnloadAll DDPictureUtils.UnloadAll(); DDSubScreenUtils.UnloadAll(); DDFontUtils.UnloadAll(); //DDSoundUtils.UnloadAll(); // 不要 if (DX.SetGraphMode(w, h, 32) != DX.DX_CHANGESCREEN_OK) { throw new DDError(); } DX.SetDrawScreen(DX.DX_SCREEN_BACK); // DDSubScreenUtils.CurrDrawScreenHandle にするべきだが、このフレームだけの問題なので、無難なところで DX_SCREEN_BACK にしておく。 DX.SetDrawMode(DDConsts.DEFAULT_DX_DRAWMODE); DDUtils.SetMouseDispMode(mdm); DDTouch.Touch(); DDSubScreenUtils.DrawDummyScreenAll(); LiteStatusDlg.EndDisplayDelay(); }
private static void UnloadLocally() { DDPictureUtils.UnloadLocally(); DDMusicUtils.UnloadLocally(music => !music.Sound.IsPlaying()); DDSEUtils.UnloadLocally(se => !se.Sound.IsPlaying()); }
private static void TouchGlobally() { DDPictureUtils.TouchGlobally(); DDMusicUtils.TouchGlobally(); DDSEUtils.TouchGlobally(); }