Ejemplo n.º 1
0
        /************************************************************************/
        /* 基本処理	                                                            */
        /************************************************************************/

        /// <summary>
        /// コンストラクタ
        /// </summary>
        public MainWindow()
        {
            //ライセンスチェック
#if DL_DEBUG
            SystemManager.GetInstance().SetUserName("デバッグ起動");
#else
            //ライセンスチェック
            var path = SystemUtility.GetSystemPath() + "FCAdmy.lic";
            try
            {
                var user_Name = SystemUtility.GetLicenseUserName(path);
                SystemManager.GetInstance().SetUserName(user_Name);
            }
            catch (System.Exception)
            {
                Environment.Exit(1);
            }
#endif

            InitializeComponent();
            _InitializeSystem();
            SystemManager.GetInstance().SetScreenShotGrid(ScreenShotGrid);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// デフォルトで表示されるツイート情報を取得
        /// </summary>
        /// <param name="iImageFilePath">イメージファイルパス</param>
        /// <returns>ツイート</returns>
        public string GetDefaultTweet(string iImageFilePath)
        {
            //デフォルト設定から全て置換掛けていくよ
            string tweet = SystemManager.GetInstance().GetSystemInfo().mDefaultTweetStyle;

            //大会名
            tweet = tweet.Replace("{TournamentName}", mCurrentBattleInfo.mName);

            //開始日時(全部)
            tweet = tweet.Replace("{TournamentData}", mCurrentBattleInfo.mDate);

            //開始日時(日にちだけ)
            var sep_list = mCurrentBattleInfo.mDate.Split(' ');

            tweet = tweet.Replace("{TournamentDay}", sep_list[0]);

            //開始日時(時間だけ)
            tweet = tweet.Replace("{TournamentTime}", sep_list[1]);

            //画像
            tweet = tweet.Replace("{ImageUrl}", iImageFilePath);

            return(tweet);
        }
Ejemplo n.º 3
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;
            }
        }
        //============================================================================
        //! 画像のアップロードを行う
        private void _ClickUploadScreenShot(object iSender, RoutedEventArgs iArgs)
        {
            //まずは画像の生成
            var item      = iSender as MenuItem;
            var path      = "";
            var file_name = "";

            if (item != null)
            {
                var kind = (EScreenShotKind)item.TabIndex;
                path = mCreateScreenShotDelegate(kind);
                switch (kind)
                {
                case EScreenShotKind.SCREEN_SHOT_MEMBER:
                    file_name = "メンバー表";
                    break;

                case EScreenShotKind.SCREEN_SHOT_TOURNAMENT:
                    file_name = "トーナメント表";
                    break;

                case EScreenShotKind.SCREEN_SHOT_ALL:
                    file_name = "メンバー表+トーナメント表";
                    break;
                }
            }

            //生成に失敗
            if (path.Length == 0)
            {
                return;
            }

            try
            {
                System.Media.SystemSounds.Asterisk.Play();
                MessageBox.Show("画像のアップロード中画面が止まりますが\nそのままでお待ちください", "確認", MessageBoxButton.OK, MessageBoxImage.Information);

                //アップロードする
                string url = DL.UploaderUtility.Upload(path);

                //エラー
                if (url == null || url.Length == 0)
                {
                    throw new System.Exception("ファイルのアップロードに失敗しました");
                }

                //アップロード結果からメニューにアイテムを追加
                var index  = mUploadURLList.Count;
                var diplay = string.Format("{0}({1})", file_name, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
                mUploadURLList.Add(url);

                //初追加の場合はセパレータも追加
                if (index == 0)
                {
                    UploadItem.Items.Add(new Separator());
                }

                //アイテム作成
                var new_item = new MenuItem();
                new_item.Header   = diplay;
                new_item.TabIndex = index;
                UploadItem.Items.Add(new_item);

                //ツイッター認証してるかどうかでサブアイテム作るか決める
                var system_info = SystemManager.GetInstance().GetSystemInfo();
                if (system_info.mAccessToken.mScreenName == null || system_info.mAccessToken.mScreenName.Length == 0 ||
                    system_info.mAccessToken.mToken == null || system_info.mAccessToken.mToken.Length == 0 ||
                    system_info.mAccessToken.mTokenSecret == null || system_info.mAccessToken.mTokenSecret.Length == 0)
                {
                    //連携なし
                    new_item.Click += _OpenUploadPhotoPage;
                }
                else
                {
                    //連携有
                    var sub_item = new MenuItem();
                    sub_item.Header   = "表示";
                    sub_item.TabIndex = index;
                    sub_item.Click   += _OpenUploadPhotoPage;
                    new_item.Items.Add(sub_item);
                    sub_item          = new MenuItem();
                    sub_item.Header   = "ツイート";
                    sub_item.TabIndex = index;
                    sub_item.Click   += _ClickTweetButton;
                    new_item.Items.Add(sub_item);
                }

                System.Media.SystemSounds.Asterisk.Play();
                MessageBox.Show("画像のアップロードに成功しました\n\n" + url, "確認", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            catch (System.Exception iException)
            {
                System.Media.SystemSounds.Hand.Play();
                MessageBox.Show("画像のアップロードに失敗しました\n\n" + iException.Message, "エラー", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Ejemplo n.º 5
0
 /// <summary>
 /// メンバーのスクリーンショットを生成
 /// </summary>
 /// <param name="iFilePath">ファイルパス</param>
 public void CreateMemberScreenShot(string iFilePath)
 {
     BeginScreenShot();
     SystemUtility.OutputCaptureControl(iFilePath, SystemManager.GetInstance().GetScreenShotGrid());
     SystemManager.GetInstance().GetScreenShotGrid().Children.Clear();
 }
Ejemplo n.º 6
0
        /// <summary>
        /// スクリーンショットを撮る準備(チーム画像をスクリーンショットグリッドに入れておく)
        /// </summary>
        public void BeginScreenShot()
        {
            //必要なコントロールを作成
            var control_List = new List <TeamDisplay>();
            var manager      = BattleOperatorManager.GetInstance();
            var team_Val     = manager.GetTeamVal();

            foreach (var iTeamIndex in System.Linq.Enumerable.Range(0, team_Val))
            {
                var team_Info = manager.GetTeamInfo(iTeamIndex);
                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);
                }

                var control = new TeamDisplay();
                control.TeamNameTextBlock.Text = team_Info.mTeamName;
                control.SetJoinMemberList(list);
                control_List.Add(control);
            }

            //正方形にできるだけなるように敷き詰める数を取得
            var val = 1;

            while (true)
            {
                var check = Math.Pow(2, (double)val);
                if (team_Val < check)
                {
                    break;
                }
                ++val;
            }

            //グリッドに挿入
            var margin     = new Thickness();
            var grid       = SystemManager.GetInstance().GetScreenShotGrid();
            var sum_Height = 0.0;

            while (control_List.Count > 0)
            {
                //横方向への挿入
                margin.Left = 0;
                var max_Height = 0.0;
                var sum_Width  = 0.0;
                foreach (var iIndex in System.Linq.Enumerable.Range(0, val))
                {
                    var control = control_List[0];
                    control.Margin = margin;
                    grid.Children.Add(control);

                    //横へずらす
                    margin.Left += control.Width;
                    sum_Width   += control.Width;

                    //縦の最大サイズ取得
                    if (max_Height < control.Height)
                    {
                        max_Height = control.Height;
                    }

                    //先頭を削除して無くなったら終わり
                    control_List.RemoveAt(0);
                    if (control_List.Count == 0)
                    {
                        break;
                    }
                }

                //横方向へサイズ変更チェック
                if (grid.Width < sum_Width)
                {
                    grid.Width = sum_Width;
                }

                //縦移動
                margin.Top += max_Height;
                sum_Height += max_Height;
            }

            //縦方向へサイズ変更チェック
            if (grid.Height < sum_Height)
            {
                grid.Height = sum_Height;
            }
        }