Example #1
0
        /// <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;
        }