/// <summary> /// 構築 /// </summary> /// <param name="topTeamSetting">先行チーム設定</param> /// <param name="bottomTeamSetting">後攻チーム設定</param> /// <param name="userTeamTopOrBottom"></param> public GameManager(TeamSetting topTeamSetting, TeamSetting bottomTeamSetting, bool userTeamTopOrBottom) { // リストフィールドの初期化 CurrentInningMidwayShowMember = new List<GameMember>(); // デフォルトメンバ設定を元にこの試合用のメンバ設定を作成 topTeamSetting.CreateCurrentMembersFromDefault(); bottomTeamSetting.CreateCurrentMembersFromDefault(); // 試合データの作成 GameData = new GameData(topTeamSetting, bottomTeamSetting, userTeamTopOrBottom); // フィールドの初期化 DefenseActionManger = new DefenseActionManger(GameData); // 守備位置の初期化 DefenseActionManger.InitializeDefensePosition(); // イベント接続 DefenseActionManger.PassedDefenseTerm += (DefenseActionManger_PassedDefenseTerm); DefenseActionManger.AddedRunScore += (DefenseActionManger_AddedRunScore); DefenseActionManger.ReflectedFense += (DefenseActionManger_ReflectedFense); DefenseActionManger.JudgedSafeOrOut += new Action<bool>(DefenseActionManger_JudgedSafeOrOut); DefenseActionManger.OccurError += DefenseActionManger_OccurError; DefenseActionManger.OccurFoul += DefenseActionManger_OccurFoul; DefenseActionManger.CatchBoll += DefenseActionManger_CatchBoll; DefenseActionManger.ThrowBoll += DefenseActionManger_ThrowBoll; DefenseActionManger.TurnForThrow += DefenseActionMangerOnTurnForThrow; // 試合進行フェーズの初期値は投球フェーズにする GameProgressKind = GameProgressKind.PitchingBoll; // 準備フェーズがないため、先頭打者に対しての守備変更をここで実行する UpdateDefenseShift(); // 高速試合モードの設定 ChangeGameMode(); }
/// <summary> /// チーム設定の生成(デバッグ用) /// </summary> /// <param name="teamName"></param> /// <param name="basicValue"></param> /// <returns></returns> public TeamSetting CreateTeamSetting(string teamName, int basicValue) { TeamSetting teamSetting = new TeamSetting(teamName, teamName.Substring(0, 1), TeamNumber.s000); // スタメン設定 for (int i = 1; i <= 18; i++) { // 基本能力の設定 GameMember member = SetBasicAbility(i, basicValue, BreedType.Cat_White_Normal, teamSetting); } // デフォルトのメンバ設定を元にメンバ設定を作成 teamSetting.CreateCurrentMembersFromDefault(); return teamSetting; }