Example #1
0
        //============================================================================
        //! 全てのメンバーを指定した人数が埋まる分だけチームを生成して振り分ける
        private void _ClickRandom(object iSender, RoutedEventArgs iArgs)
        {
            var window = new TeamMemberValSettingWindow();

            //追加ボタンが押されたときの重複チェック
            window.DecideButton.Click += (iClickSender, iClickArgs) =>
            {
                //OKボタンの時は内部チェック
                if (((Button)iClickSender).TabIndex == 0)
                {
                    //テキストボックスチェック
                    if (window.TeamValueTextBox.Text.Length == 0)
                    {
                        SystemUtility.DisplayErrorDialog("人数を入力してください");
                        return;
                    }

                    //数値チェック
                    int val = 0;
                    try
                    {
                        val = int.Parse(window.TeamValueTextBox.Text);

                        //負の数チェック
                        if (val < 2)
                        {
                            SystemUtility.DisplayErrorDialog("1人以下は設定出来ません");
                            return;
                        }

                        //ぴったりでない場合の確認
                        var member_Val = BattleOperatorManager.GetInstance().GetJoinMemberVal();
                        var team_Val   = member_Val / int.Parse(window.TeamValueTextBox.Text);
                        if ((member_Val % val) != 0)
                        {
                            if (MessageBox.Show("端数が出るチームが出ますが宜しいですか?", "確認", MessageBoxButton.YesNo, MessageBoxImage.Question) != MessageBoxResult.Yes)
                            {
                                return;
                            }
                            ++team_Val;
                        }

                        //追加して更新
                        window.Close();
                        mTeamList.Clear();
                        foreach (var iIndex in System.Linq.Enumerable.Range(0, team_Val))
                        {
                            AddTeam(string.Format("チーム{0}", iIndex + 1));
                        }
                        _ClickDivideMember(iSender, iArgs);
                        TeamScrollViewer.ScrollToEnd();
                    }
                    catch
                    {
                        SystemUtility.DisplayErrorDialog("数値のみ入力できます");
                    }
                }
            };
            window.ShowDialog();
        }
        //============================================================================
        //! リーフラベルが右クリックされた時に呼ばれる処理
        private void _MouseRightClickLeafLabel(object iSender, MouseEventArgs iArgs)
        {
            //チェック
            var control = iSender as TournamentLabelControl;

            if (control == null)
            {
                return;
            }

            //チーム詳細表示
            var manager    = BattleOperatorManager.GetInstance();
            var team_Index = mLeafInfoList[control.TabIndex].mLabelControl.GetSetInfo();
            var team_Info  = manager.GetTeamInfo(team_Index);
            var list       = new List <BattleManager.SBattleJoinInfo>();

            foreach (var iJoinMemberID in team_Info.mJoinIDList)
            {
                var info = new BattleManager.SBattleJoinInfo();
                manager.GetJoinInfo(ref info, iJoinMemberID);
                list.Add(info);
            }
            mTeamDisplayControl.TeamNameTextBlock.Text = team_Info.mTeamName;
            mTeamDisplayControl.SetJoinMemberList(list);
            mTeamDisplayControl.Margin     = new Thickness();
            mTeamDisplayControl.Visibility = Visibility.Visible;
        }
        //============================================================================
        //! チーム+トーナメント画像出力
        private string _CreateConnectScreenShot()
        {
            _ClearLeafFilter();
            string file_Path = SystemUtility.GetRootPath() + @"ScreenShot\" + BattleOperatorManager.GetInstance().GetBattleName() + ".png";

            //一旦親から切り離す
            var stock_Brush = Background;
            var parent      = (Panel)Parent;


            parent.Children.Remove(this);

            try
            {
                Background = new SolidColorBrush(Colors.Black);
                BattleOperatorManager.GetInstance().CreateMemberScreenShot(file_Path, this);
                parent.Children.Add(this);
                Background = stock_Brush;
            }
            catch (System.Exception iException)
            {
                if (Parent == null)
                {
                    parent.Children.Add(this);
                }

                Background = stock_Brush;
                System.Media.SystemSounds.Hand.Play();
                MessageBox.Show(string.Format("スクリーンショットの出力に失敗しました\n\n{0}", iException.Message), "エラー", MessageBoxButton.OK, MessageBoxImage.Error);
                file_Path = "";
            }

            return(file_Path);
        }
Example #4
0
        //============================================================================
        //! 選択していないメンバーリストの更新
        private void _RefreshJoinMemberList()
        {
            MemberStackPanel.Children.Clear();
            var set_Width   = MemberGrid.Width - 44;
            int color_Index = 0;
            var color_List  = new Brush[2] {
                new SolidColorBrush(SystemUtility.StringToColor("#55000000")), new SolidColorBrush(SystemUtility.StringToColor("#55555555"))
            };

            //作成
            foreach (var iMember in BattleOperatorManager.GetInstance().GetJoinMemberList())
            {
                if (!_IsInTeamJoinMember(iMember.mJoinID))
                {
                    var control = new NoTeamMemberControl();
                    control.Width      = set_Width;
                    control.Background = color_List[color_Index % 2];
                    control.SetJoinMemberInfo(iMember);
                    control.OnSelectionFilter();
                    control.PreviewMouseLeftButtonDown += _ClickMember;
                    control.Tag = iMember;
                    MemberStackPanel.Children.Add(control);
                    ++color_Index;
                }
            }
        }
Example #5
0
        //============================================================================
        //! その他ボタンが押された時の処理
        private void _ClickButton(object iSender, RoutedEventArgs iArgs)
        {
            //チェック
            var button = iSender as Button;

            if (button == null)
            {
                return;
            }

            //チームに0人のところがあればエラー
            foreach (var iTeam in mTeamList)
            {
                if (iTeam.mJoinIDList.Count == 0)
                {
                    SystemUtility.DisplayErrorDialog("所属が0人のチームがあります\n使用しない場合は削除を行ってください");
                    return;
                }
            }

            //チーム設定をして次へ
            var manager = BattleOperatorManager.GetInstance();

            foreach (var iTeam in mTeamList)
            {
                var info = new BattleManager.SBattleTeamInfo();
                info.mJoinIDList = new List <int>(iTeam.mJoinIDList.ToArray());
                info.mTeamName   = iTeam.mTeamName;
                manager.AddTeam(info);
            }
            manager.SetLockTeam(true);
            mDecideTeamDelegate();
        }
        /************************************************************************/
        /* 基本処理                                                             */
        /************************************************************************/

        /// <summary>
        /// コンストラクタ
        /// </summary>
        public TournamentBattleOptionWindow()
        {
            InitializeComponent();

            //ウィンドウサイズを読み込む
            var  get_Object = DataManager.GetInstance().GetData(mContentKey);
            bool auto_Check = (get_Object == null);

            if (!auto_Check)
            {
                var data = (SerializeData)get_Object;
                Left = data.mWindowPosition.X;
                Top  = data.mWindowPosition.Y;

                var w = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width;
                var h = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height;
                if (Left > w || Top > h)
                {
                    auto_Check = true;
                }
                else
                {
                    Width  = data.mWindowSize.Width;
                    Height = data.mWindowSize.Height;
                }
            }

            //自動
            if (auto_Check)
            {
                var main_Window = Application.Current.MainWindow;
                Left = main_Window.Left + main_Window.Width + 10;
                Top  = main_Window.Top;

                var w = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width;
                var h = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height;
                if (Left > w || Top > h)
                {
                    Left = Top = 0;
                }
            }

            //F1キーでクローズする
            KeyDown += (iSender, iArgs) =>
            {
                if (iArgs.Key == Key.F1)
                {
                    Close();
                }
            };

            //チーム戦でなければメンバー表は作れない
            TeamListItem.IsEnabled           = BattleOperatorManager.GetInstance().IsTeamBattleFlg();
            ConnectImageItem.IsEnabled       = TeamListItem.IsEnabled;
            UploadTeamListItem.IsEnabled     = TeamListItem.IsEnabled;
            UploadConnectImageItem.IsEnabled = TeamListItem.IsEnabled;
        }
Example #7
0
        /************************************************************************/
        /* コールバック処理                                                     */
        /************************************************************************/

        /************************************************************************/
        /* 内部処理                                                             */
        /************************************************************************/

        //============================================================================
        //! ポイント作成
        private void _CreatePointChecker()
        {
            //深度計算
            var btl_Manager = BattleOperatorManager.GetInstance();
            int join_Val    = btl_Manager.IsTeamBattleFlg() ? btl_Manager.GetTeamVal() : btl_Manager.GetJoinMemberVal();
            int depth       = 0;

            while (true)
            {
                int val = (int)Math.Pow(2, (int)depth);
                if (val >= join_Val)
                {
                    break;
                }
                ++depth;
            }

            //ポイント作成
            var top          = VersusPointChecker.CreateTopPoint();
            var root         = top.CreateRootPoint();
            var checker_List = new List <VersusPointChecker>();

            checker_List.Add(root);
            foreach (int iIndex in System.Linq.Enumerable.Range(0, depth))
            {
                var create_Point_List = new List <VersusPointChecker>();
                foreach (var iPoint in checker_List)
                {
                    var new_Points = iPoint.CreateSourceConnectPoint();
                    create_Point_List.AddRange(new_Points);
                }
                checker_List = create_Point_List;
            }

            //足りないチーム数分だけ後ろからシードとする(片側か両側かで少し分ける?)
            var root_Val = checker_List.Count;

            foreach (var iIndex in System.Linq.Enumerable.Range(0, root_Val - join_Val))
            {
                var remove_Index = 0;
                if (iIndex % 2 == 0)
                {
                    remove_Index = root_Val - iIndex - 2;
                }
                else
                {
                    remove_Index = iIndex;
                }

                checker_List[remove_Index].DisConnect();
            }

            //設定
            MainControl.Initialize(top);
        }
        /************************************************************************/
        /* 片側だけで場合に使用する内部処理                                     */
        /************************************************************************/

        //============================================================================
        //! リーフ情報作成
        private void _CreateSingleLeaf()
        {
            //全てのリーフがチームとする(全て同じ深度でなければエラーとする)
            var root_Point     = mTopPointChecker.GetSrcConnectPoint()[0];
            var all_Point_List = root_Point.GetLeafPointList();
            var depth          = -1;

            foreach (var iPoint in all_Point_List)
            {
                if (depth != iPoint.GetDepth())
                {
                    if (depth == -1)
                    {
                        depth = iPoint.GetDepth();
                    }
                    else
                    {
                        SystemUtility.DisplayErrorDialog("リーフ部分に深度が違う物が混じっています");
                        break;
                    }
                }
            }

            //作成
            foreach (var iPoint in all_Point_List)
            {
                var team_Info = new SPointLeafInfo();
                team_Info.mLabelControl             = new TournamentLabelControl();
                team_Info.mLabelControl.TabIndex    = mLeafInfoList.Count;
                team_Info.mLabelControl.MouseEnter += _MouseEnterLeafLabel;
                team_Info.mLabelControl.MouseLeave += _MouseLeaveLeafLabel;
                team_Info.mLabelControl.PreviewMouseLeftButtonDown += _MouseClickLeafLabel;
                MainGrid.Children.Add(team_Info.mLabelControl);
                team_Info.mVersusPoint = iPoint;
                team_Info.mPointRoot   = new List <VersusPointChecker>();
                team_Info.mPointRoot.Add(team_Info.mVersusPoint);
                mLeafInfoList.Add(team_Info);
            }

            //チーム戦の場合の設定
            if (BattleOperatorManager.GetInstance().IsTeamBattleFlg())
            {
                foreach (var iLeaf in mLeafInfoList)
                {
                    iLeaf.mLabelControl.PreviewMouseRightButtonDown += _MouseRightClickLeafLabel;
                    iLeaf.mLabelControl.PreviewMouseRightButtonUp   += _MouseRightReleaseLeafLabel;
                }
            }
        }
        //============================================================================
        //! 参加メンバー一覧画像出力
        private string _CreateJoinMemberScreenShot()
        {
            string file_Path = SystemUtility.GetRootPath() + @"ScreenShot\" + BattleOperatorManager.GetInstance().GetBattleName() + "(参加者).png";

            try
            {
                BattleOperatorManager.GetInstance().CreateMemberScreenShot(file_Path);
            }
            catch (System.Exception iException)
            {
                System.Media.SystemSounds.Hand.Play();
                MessageBox.Show(string.Format("スクリーンショットの出力に失敗しました\n\n{0}", iException.Message), "エラー", MessageBoxButton.OK, MessageBoxImage.Error);
                file_Path = "";
            }
            return(file_Path);
        }
        //============================================================================
        //! このコントロールを必要なサイズに変更
        private void _RefreshSingleControlSize()
        {
            var use_Size = new Point(0, 0);
            var set_Size = new Point(0, 0);
            var manager  = BattleOperatorManager.GetInstance();
            var join_Val = manager.IsTeamBattleFlg() ? manager.GetTeamVal() : manager.GetJoinMemberVal();
            var depth    = mTopPointChecker.GetMaxDepth();

            //横幅
            use_Size.X  = Width;
            use_Size.X -= (mDisplayMargin.Left + mDisplayMargin.Right);
            use_Size.X -= (mRegistLabelSize.Width * 2);
            set_Size.X  = use_Size.X / (depth + 1);

            //縦幅
            use_Size.Y  = Height;
            use_Size.Y -= (mDisplayMargin.Top + mDisplayMargin.Bottom);
            use_Size.Y -= (mRegistLabelSize.Height * join_Val);
            set_Size.Y  = use_Size.Y / (join_Val - 1);

            //調整
            if (set_Size.X < mDepthMinWidth)
            {
                set_Size.X = mDepthMinWidth;
            }
            if (set_Size.Y < mLabelMinOffsetHeight)
            {
                set_Size.Y = mLabelMinOffsetHeight;
            }

            //再設定
            var unfull = use_Size.X - (set_Size.X * (depth + 1));

            if (unfull < 0)
            {
                Width -= unfull;
            }
            unfull = use_Size.Y - (set_Size.Y * (join_Val - 1));
            if (unfull < 0)
            {
                Height -= unfull;
            }

            //設定
            mDepthWidth        = set_Size.X;
            mLabelOffsetHeight = set_Size.Y;
        }
        /************************************************************************/
        /* アクセサ                                                             */
        /************************************************************************/

        /// <summary>
        /// 表示情報設定
        /// </summary>
        /// <param name="iInfoIndex">表示情報番号</param>
        public void SetInfo(int iInfoIndex)
        {
            string top_Name        = "";
            int    character_Index = -1;

            //チーム戦の場合
            if (BattleOperatorManager.GetInstance().IsTeamBattleFlg())
            {
                var team_Info = BattleOperatorManager.GetInstance().GetTeamInfo(iInfoIndex);
                top_Name = team_Info.mTeamName;

                var join_Info = new BattleManager.SBattleJoinInfo();
                BattleOperatorManager.GetInstance().GetJoinInfo(ref join_Info, team_Info.mJoinIDList[0]);
                character_Index = join_Info.mUserCharacterID;
            }
            //シングル戦の場合
            else
            {
                var join_Info = new BattleManager.SBattleJoinInfo();
                BattleOperatorManager.GetInstance().GetJoinInfo(ref join_Info, iInfoIndex);
                top_Name        = MemberManager.GetInstance().GetMemberInfo(join_Info.mMemberID).mName;
                character_Index = join_Info.mUserCharacterID;
            }

            //設定
            TopTextBlock.Text = top_Name;
            bool set_Valid_Use_Character_ID_Flg = (character_Index != -1);

            if (set_Valid_Use_Character_ID_Flg)
            {
                try
                {
                    TopCharacterImage.Source = PresetManager.GetInstance().GetCharacterInfo(character_Index).mIconImage;
                }
                catch (System.Exception)
                {
                    set_Valid_Use_Character_ID_Flg = false;
                }
            }
            if (!set_Valid_Use_Character_ID_Flg)
            {
                TopCharacterImage.Source = PresetManager.GetInstance().GetUnknownCharacterIcon();
            }
            TopCharacterImage.Visibility = Visibility.Visible;
            mInfoIndex = iInfoIndex;
        }
        /************************************************************************/
        /* 内部処理                                                             */
        /************************************************************************/

        //============================================================================
        //! シンプルトーナメントのセットアップ
        private void _SetupSimpleTournament()
        {
            //大会名
            var    window      = new BattleNameInputWindow();
            string battle_Name = "";

            window.Closing += (iSender, iArgs) =>
            {
                battle_Name = window.BattleNameTextBox.Text.Trim();
            };
            window.ShowDialog();
            if (battle_Name.Length == 0)
            {
                return;
            }

            var btl_Op_Manager = BattleOperatorManager.GetInstance();

            btl_Op_Manager.BeginBattle(BattleManager.EBattleKind.BATTLE_SIMPLE_TOURNAMENT);
            btl_Op_Manager.SetBattleName(battle_Name);
            btl_Op_Manager.SetBattleObject(new SimpleTournamentObject());
            var scene = (MemberSelectScene)SceneManager.GetInstance().AdvanceScene(SceneManager.EScene.SCENE_MEMBER_SELECT);

            //メンバーが決定された時の処理
            scene.SetDecideMemberDelegate(delegate()
            {
                //チームバトルの場合はチーム選択画面へ
                if (mTeamBattleFlg)
                {
                    var team_Scene = (TeamSelectScene)SceneManager.GetInstance().AdvanceScene(SceneManager.EScene.SCENE_TEAM_SELECT);
                    team_Scene.SetDecideTeamDelegate(delegate()
                    {
                        _BeginSimpleTournament();
                    }
                                                     );
                }
                else
                {
                    _BeginSimpleTournament();
                }
            }
                                          );
        }
        //============================================================================
        //! 優勝者用ラベルがクリックされた時に呼ばれる処理
        private void _MouseClickWinnerLabel(object iSender, MouseButtonEventArgs iArgs)
        {
            //チェック
            var control = iSender as TournamentLabelControl;

            if (control == null)
            {
                return;
            }

            //優勝者が確定してる時のみ
            if (WinnerLeafLabel.IsSettingInfo())
            {
                System.Media.SystemSounds.Asterisk.Play();
                var result = MessageBox.Show("トーナメント結果を確定しても宜しいですか?", "確認", MessageBoxButton.YesNo, MessageBoxImage.Question);
                if (result == MessageBoxResult.Yes)
                {
                    //実際はコールバックかな?取り敢えず今はこれでOK
                    WinnerLeafLabel.SetVisibleFilter(false);

                    //クローズ
                    CloseOptionWindow();

                    //取り敢えず今はここで書き出し及びループを行う
                    var btl_Obj = BattleOperatorManager.GetInstance().GetBattleObject() as SimpleTournamentObject;
                    foreach (var iLeaf in mLeafInfoList)
                    {
                        btl_Obj.AddLeafInfoIndex(iLeaf.mLabelControl.GetSetInfo());
                    }
                    foreach (var iResult in mResultList)
                    {
                        var info = new SimpleTournamentObject.SResult();
                        info.mReafLabelIndexList = iResult.mLeafIndexList;
                        info.mWinTeamIndex       = iResult.mWinLeafIndex;
                        info.mIgnoreTournament   = false;
                        btl_Obj.AddResult(info);
                    }
                    BattleOperatorManager.GetInstance().CommitBattle();
                    SaveManager.GetInstance().AutoSaveProject();
                    SceneManager.GetInstance().ReturnBackScene(SceneManager.EScene.SCENE_MAIN);
                }
            }
        }
        //============================================================================
        //! 指定した画像付きのツイートを行う
        private void _ClickTweetButton(object iSender, RoutedEventArgs iArgs)
        {
            var item = iSender as MenuItem;

            if (item != null)
            {
                var path = mCreateScreenShotDelegate((EScreenShotKind)item.TabIndex);
                if (path.Length > 0)
                {
                    //ツイート
                    string tweet = BattleOperatorManager.GetInstance().GetDefaultTweet(mUploadURLList[item.TabIndex]);

                    //ツイート編集ウィンドウを表示
                    var window = new TweetInputWindow();
                    window.TweetTextBox.Text = tweet;
                    window.ShowDialog();
                }
            }
        }
Example #15
0
        /// <summary>
        /// 参加メンバーIDの追加
        /// </summary>
        /// <param name="iJoinIndex">参加メンバーID</param>
        public InTeamMemberControl AddJoinMember(int iJoinIndex)
        {
            //コントロールの設定
            var color_List = new Brush[2] {
                new SolidColorBrush(SystemUtility.StringToColor("#55000000")), new SolidColorBrush(SystemUtility.StringToColor("#55555555"))
            };
            var control = new InTeamMemberControl();

            control.Width      = Width;
            control.Background = color_List[mMemberList.Count % 2];
            control.TabIndex   = mMemberList.Count;
            var get_Info = new BattleManager.SBattleJoinInfo();

            BattleOperatorManager.GetInstance().GetJoinInfo(ref get_Info, iJoinIndex);
            control.SetJoinMemberInfo(mMemberList.Count, get_Info);
            MemberStackPanel.Children.Add(control);
            mMemberList.Add(iJoinIndex);
            MemberValTextBlock.Text = string.Format("このチームには{0}人所属しています", mMemberList.Count);
            return(control);
        }
Example #16
0
        //============================================================================
        //! チームとリーフを繋げる
        private void _SettingTeamToLeaf()
        {
            //ランダムリストを作成
            var manager         = BattleOperatorManager.GetInstance();
            var join_Val        = manager.IsTeamBattleFlg() ? manager.GetTeamVal() : manager.GetJoinMemberVal();
            var team_Index_List = new List <int>();

            foreach (var iIndex in System.Linq.Enumerable.Range(0, join_Val))
            {
                team_Index_List.Add(iIndex);
            }
            var random_List = team_Index_List.ToArray().OrderBy(i => Guid.NewGuid()).ToArray();

            //設定
            var control = MainControl.GetBattleControl();

            foreach (var iIndex in System.Linq.Enumerable.Range(0, join_Val))
            {
                control.SetLeafInfoIndex(iIndex, random_List[iIndex]);
            }
            control.OpenOptionWindow();
        }
        //============================================================================
        //! トーナメント画像出力
        private string _CreateTournamentScreenShot()
        {
            _ClearLeafFilter();

            string file_Path   = SystemUtility.GetRootPath() + @"ScreenShot\" + BattleOperatorManager.GetInstance().GetBattleName() + "(トーナメント).png";
            var    stock_Brush = Background;

            try
            {
                Background = new SolidColorBrush(Colors.Black);
                UpdateLayout();
                SystemUtility.OutputCaptureControl(file_Path, this);
                Background = stock_Brush;
            }
            catch (System.Exception iException)
            {
                Background = stock_Brush;
                System.Media.SystemSounds.Hand.Play();
                MessageBox.Show(string.Format("スクリーンショットの出力に失敗しました\n\n{0}", iException.Message), "エラー", MessageBoxButton.OK, MessageBoxImage.Error);
                file_Path = "";
            }

            return(file_Path);
        }
Example #18
0
        /************************************************************************/
        /* 公開処理                                                             */
        /************************************************************************/

        /// <summary>
        /// コンストラクタ
        /// </summary>
        public MemberScene()
        {
            InitializeComponent();
            BattleOperatorManager.GetInstance().SetLockJoinMember(false);

            var get_Obj = DataManager.GetInstance().GetData(SystemUtility.GetSceneName(this));

            if (get_Obj != null)
            {
                var info = (SSerialData)get_Obj;
                SortMemberComboBox.SelectedIndex = info.mSortKind;
                if (info.mDisplayKind == 0)
                {
                    NormalDisplayRadioButton.IsChecked = true;
                }
                else
                {
                    MinDisplayRadioButton.IsChecked = true;
                }
            }

            //メンバーリスト更新
            _RefreshMemberList();
        }
Example #19
0
        //============================================================================
        //! その他ボタンが押された時の処理
        private void _ClickButton(object iSender, RoutedEventArgs iArgs)
        {
            //チェック
            var button = iSender as Button;

            if (button == null)
            {
                return;
            }

            //メンバーの確定
            if (button.TabIndex != 0)
            {
                if (mDecideMemberDelegate != null)
                {
                    //メンバー確定
                    var manager = BattleOperatorManager.GetInstance();
                    foreach (var iJoinMember in mJoinMemberList)
                    {
                        manager.AddMember(iJoinMember.mMemberID, iJoinMember.mUseCharacterID);
                    }
                    manager.SetLockJoinMember(true);
                    mDecideMemberDelegate();

                    if (IsOpenSearchWindow())
                    {
                        CloseSearchWindow();
                    }
                }
            }
            //メンバー管理画面へ
            else
            {
                SceneManager.GetInstance().AdvanceScene(SceneManager.EScene.SCENE_MEMBER);
            }
        }
Example #20
0
        /************************************************************************/
        /* コールバック処理                                                     */
        /************************************************************************/

        //============================================================================
        //! ロード時の処理
        private void _Loaded(object iSender, RoutedEventArgs iArgs)
        {
            //シーンの初期化
            var scene_Manager = SceneManager.GetInstance();

            scene_Manager.SetControls(ContentControl, LeftFilterImage, RightFilterImage);
            LeftFilterImage.Margin = RightFilterImage.Margin = new Thickness();

            //ロードコンテンツを設定する
#if DL_DEBUG
            //ライセンス作成
            if (true)
            {
                SystemUtility.CreateLicenseFiles(1);
                return;
            }
            bool test = true;
            if (test)
            {
                //データの設定
                DataManager.GetInstance().SetData(SaveManager.GetInstance().PresetInfoKey, "BLAZBLUE CHRONOPHANTASMA");

                //プロジェクトデータ設定
                SaveManager.GetInstance().ProjectFilePath = @"C:\FCあどみぃ!\FCあどみぃ!\System\デバッグプロジェクト.pjb";
                DataManager.GetInstance().ReadData(SaveManager.GetInstance().ProjectFilePath);

                //必要なマネージャの初期化
                MemberManager.GetInstance().LoadMemberData();
                BattleManager.GetInstance().LoadBattleData();
                PresetManager.GetInstance().LoadPreset();
                SystemManager.GetInstance().LoadSystemData();

                //大会設定
                var btl_Op_Manager = BattleOperatorManager.GetInstance();
                btl_Op_Manager.BeginBattle(BattleManager.EBattleKind.BATTLE_SIMPLE_TOURNAMENT);
                btl_Op_Manager.SetBattleName("デバッグ大会!");
                btl_Op_Manager.SetBattleObject(new SimpleTournamentObject());

                //メンバー設定
                //scene_Manager.AdvanceScene(SceneManager.EScene.SCENE_MEMBER_SELECT);
                foreach (var iIndex in System.Linq.Enumerable.Range(0, 32))
                {
                    btl_Op_Manager.AddMember(iIndex);
                }
                btl_Op_Manager.SetLockJoinMember(true);

                //チーム設定
                var team_Val = 16;
                if (BattleOperatorManager.GetInstance().GetJoinMemberVal() % team_Val != 0)
                {
                    throw new System.Exception();
                }
                var in_Member_Val = BattleOperatorManager.GetInstance().GetJoinMemberVal() / team_Val;
                foreach (var iIndex in System.Linq.Enumerable.Range(0, team_Val))
                {
                    var info = new BattleManager.SBattleTeamInfo();
                    info.mTeamID     = iIndex;
                    info.mTeamName   = string.Format("Team{0}", iIndex);
                    info.mJoinIDList = new List <int>();
                    foreach (var iMemberIndex in System.Linq.Enumerable.Range(0, in_Member_Val))
                    {
                        info.mJoinIDList.Add((iIndex * in_Member_Val) + iMemberIndex);
                    }
                    btl_Op_Manager.AddTeam(info);
                }
                btl_Op_Manager.SetLockTeam(true);



                //scene_Manager.AdvanceScene(SceneManager.EScene.SCENE_TEAM_SELECT);
                scene_Manager.AdvanceScene(SceneManager.EScene.SCENE_BATTLE_SIMPLE_TOURNAMENT);

                /*紅白戦
                 * var team = (TeamSelectScene)scene_Manager.AdvanceScene(SceneManager.EScene.SCENE_TEAM_SELECT);
                 * team.AddTeam("紅組");
                 * team.AddTeam("白組");
                 * team.SetTeamOperateFlg(false);*/

                //scene_Manager.AdvanceScene(SceneManager.EScene.SCENE_MEMBER_SELECT);
            }
            else
#endif
            {
                var load_Scene = new LoadScene();
                LoadContent.Content = load_Scene;
            }
        }
Example #21
0
 /// <summary>
 /// 別のシーンから戻って来た時に呼び出される処理
 /// </summary>
 public void SceneBack()
 {
     BattleOperatorManager.GetInstance().SetLockTeam(false);
     BattleOperatorManager.GetInstance().ClearTeam();
     _Refresh();
 }
Example #22
0
 /// <summary>
 /// 別のシーンから戻って来た時に呼び出される処理
 /// </summary>
 public void SceneBack()
 {
     BattleOperatorManager.GetInstance().SetLockJoinMember(false);
     BattleOperatorManager.GetInstance().ClearJoinMember();
     _RefreshMemberList();
 }
 /// <summary>
 /// 他のシーンから戻ってきた際の処理
 /// </summary>
 public void SceneBack()
 {
     BattleOperatorManager.GetInstance().CancelBattle();
 }