/// <summary> /// ************************************************************************************************************************ /// 局面に合わせて、駒ボタンのx,y位置を変更します /// ************************************************************************************************************************ /// </summary> /// <param name="btnKoma">駒</param> public static void Redraw_KomaLocation( Finger figKoma, MainGui_Csharp mainGui ) { RO_Star koma = Util_Starlightable.AsKoma(mainGui.Model_Manual.GuiSkyConst.StarlightIndexOf(figKoma).Now); Shape_BtnKoma btnKoma = Conv_Koma_InGui.FingerToKomaBtn(figKoma, mainGui); // マスと駒の隙間(パディング) int padX = 2; int padY = 2; int suji; int dan; Util_MasuNum.TryMasuToSuji(koma.Masu, out suji); Util_MasuNum.TryMasuToDan(koma.Masu, out dan); switch (Conv_SyElement.ToOkiba(koma.Masu)) { case Okiba.ShogiBan: btnKoma.SetBounds(new Rectangle( mainGui.Shape_PnlTaikyoku.Shogiban.SujiToX(suji) + padX, mainGui.Shape_PnlTaikyoku.Shogiban.DanToY(dan) + padY, btnKoma.Bounds.Width, btnKoma.Bounds.Height )); break; case Okiba.Sente_Komadai: btnKoma.SetBounds(new Rectangle( mainGui.Shape_PnlTaikyoku.KomadaiArr[0].SujiToX(suji) + padX, mainGui.Shape_PnlTaikyoku.KomadaiArr[0].DanToY(dan) + padY, btnKoma.Bounds.Width, btnKoma.Bounds.Height )); break; case Okiba.Gote_Komadai: btnKoma.SetBounds(new Rectangle( mainGui.Shape_PnlTaikyoku.KomadaiArr[1].SujiToX(suji) + padX, mainGui.Shape_PnlTaikyoku.KomadaiArr[1].DanToY(dan) + padY, btnKoma.Bounds.Width, btnKoma.Bounds.Height )); break; case Okiba.KomaBukuro: btnKoma.SetBounds(new Rectangle( mainGui.Shape_PnlTaikyoku.KomadaiArr[2].SujiToX(suji) + padX, mainGui.Shape_PnlTaikyoku.KomadaiArr[2].DanToY(dan) + padY, btnKoma.Bounds.Width, btnKoma.Bounds.Height )); break; } }
/// <summary> /// 局面に合わせて、駒ボタンのx,y位置を変更します /// </summary> /// <param name="btnKoma">駒</param> public static void Redraw_KomaLocation( Finger figKoma, NarabeRoomViewModel shogiGui ) { RO_Star_Koma koma = Util_Koma.AsKoma(shogiGui.GameViewModel.GuiSkyConst.StarlightIndexOf(figKoma).Now); Shape_BtnKoma btnKoma = Util_InGui.FingerToKomaBtn(figKoma, shogiGui); int suji; int dan; Util_MasuNum.MasuToSuji(koma.Masu, out suji); Util_MasuNum.MasuToDan(koma.Masu, out dan); switch (Util_Masu.GetOkiba(koma.Masu)) { case Okiba.ShogiBan: btnKoma.SetBounds(new Rectangle( shogiGui.Shape_PnlTaikyoku.Shogiban.SujiToX(suji), shogiGui.Shape_PnlTaikyoku.Shogiban.DanToY(dan), btnKoma.Bounds.Width, btnKoma.Bounds.Height )); break; case Okiba.Sente_Komadai: btnKoma.SetBounds(new Rectangle( shogiGui.Shape_PnlTaikyoku.KomadaiArr[0].SujiToX(suji), shogiGui.Shape_PnlTaikyoku.KomadaiArr[0].DanToY(dan), btnKoma.Bounds.Width, btnKoma.Bounds.Height )); break; case Okiba.Gote_Komadai: btnKoma.SetBounds(new Rectangle( shogiGui.Shape_PnlTaikyoku.KomadaiArr[1].SujiToX(suji), shogiGui.Shape_PnlTaikyoku.KomadaiArr[1].DanToY(dan), btnKoma.Bounds.Width, btnKoma.Bounds.Height )); break; case Okiba.KomaBukuro: btnKoma.SetBounds(new Rectangle( shogiGui.Shape_PnlTaikyoku.KomadaiArr[2].SujiToX(suji), shogiGui.Shape_PnlTaikyoku.KomadaiArr[2].DanToY(dan), btnKoma.Bounds.Width, btnKoma.Bounds.Height )); break; } }