// -- 以下、棋譜処理 /// <summary> /// 盤面を特定の局面で初期化する。 /// </summary> /// <param name="boardType"></param> public void InitBoard(BoardType boardType) { var sfen = boardType.ToSfen(); Tree.position.SetSfen(sfen); Tree.rootBoardType = boardType; // rootSfenを更新したときにイベント通知が起きるので、これを最後にしている。 Tree.rootSfen = sfen; }
/// <summary> /// rootのsfenを設定する。 /// /// position.SetSfen()したときは、 /// このメソッドがSetRootSfen()かのどちらかを呼び出すこと。 /// </summary> /// <param name="boardType"></param> public void SetRootBoardType(BoardType boardType) { Debug.Assert(boardType < BoardType.Others); var sfen = boardType.ToSfen(); position.SetSfen(sfen); rootBoardType = boardType; // このsetterでイベントが生起するので、position.SetSfen()のあとで代入しないといけない。 rootSfen = sfen; }