Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 569 by kairera0467, Sun Jan 8 14:47:45 2017 UTC revision 574 by kairera0467, Fri Apr 26 15:19:46 2019 UTC
# Line 486  namespace DTXMania Line 486  namespace DTXMania
486                          }                          }
487                          this.On非活性化();                          this.On非活性化();
488                          this.r現在選択中の曲 = null;                          this.r現在選択中の曲 = null;
489                          this.On活性化();              //this.On活性化();
490                  }              #region[ 再度活性化処理を行う ]
491                this.b登場アニメ全部完了 = false;
492                            this.n目標のスクロールカウンタ = 0;
493                            this.n現在のスクロールカウンタ = 0;
494                            this.nスクロールタイマ = -1;
495    
496                            // フォント作成。
497                            // 曲リスト文字は2倍(面積4倍)でテクスチャに描画してから縮小表示するので、フォントサイズは2倍とする。
498                if( this.ft曲リスト用フォント == null )
499                {
500                                FontStyle regular = FontStyle.Regular;
501                                if( CDTXMania.ConfigIni.b選曲リストフォントを太字にする ) regular |= FontStyle.Bold;
502                                this.ft曲リスト用フォント = new Font( CDTXMania.ConfigIni.str選曲リストフォント, (float) ( CDTXMania.ConfigIni.n選曲リストフォントのサイズdot * 2 ), regular, GraphicsUnit.Pixel );
503                    //this.prvFont = new CPrivateFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 28, FontStyle.Regular );
504                }
505    
506                            if( ( this.r現在選択中の曲 == null ) && ( CDTXMania.Songs管理.list曲ルート.Count > 0 ) )
507                                    this.r現在選択中の曲 = CDTXMania.Songs管理.list曲ルート[ 0 ];
508                if( CDTXMania.r現在のステージ.eステージID == CStage.Eステージ.選曲 )
509                                this.tバーの初期化();
510    
511                            //base.On活性化();
512    
513                            this.t選択曲が変更された(true);                // #27648 2012.3.31 yyagi 選曲画面に入った直後の 現在位置/全アイテム数 の表示を正しく行うため
514                #endregion
515            }
516    
517    
518                  /// <summary>                  /// <summary>
# Line 564  namespace DTXMania Line 589  namespace DTXMania
589    
590                          // フォント作成。                          // フォント作成。
591                          // 曲リスト文字は2倍(面積4倍)でテクスチャに描画してから縮小表示するので、フォントサイズは2倍とする。                          // 曲リスト文字は2倍(面積4倍)でテクスチャに描画してから縮小表示するので、フォントサイズは2倍とする。
592                if( this.ft曲リスト用フォント == null )
593                          FontStyle regular = FontStyle.Regular;              {
594                          if( CDTXMania.ConfigIni.b選曲リストフォントを太字にする ) regular |= FontStyle.Bold;                              FontStyle regular = FontStyle.Regular;
595                          this.ft曲リスト用フォント = new Font( CDTXMania.ConfigIni.str選曲リストフォント, (float) ( CDTXMania.ConfigIni.n選曲リストフォントのサイズdot * 2 ), regular, GraphicsUnit.Pixel );                              if( CDTXMania.ConfigIni.b選曲リストフォントを太字にする ) regular |= FontStyle.Bold;
596              //this.prvFont = new CPrivateFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 28, FontStyle.Regular );                              this.ft曲リスト用フォント = new Font( CDTXMania.ConfigIni.str選曲リストフォント, (float) ( CDTXMania.ConfigIni.n選曲リストフォントのサイズdot * 2 ), regular, GraphicsUnit.Pixel );
597                    //this.prvFont = new CPrivateFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 28, FontStyle.Regular );
598                }
599    
600                          // 現在選択中の曲がない(=はじめての活性化)なら、現在選択中の曲をルートの先頭ノードに設定する。                          // 現在選択中の曲がない(=はじめての活性化)なら、現在選択中の曲をルートの先頭ノードに設定する。
601    
# Line 603  namespace DTXMania Line 630  namespace DTXMania
630                          if( this.b活性化してない )                          if( this.b活性化してない )
631                                  return;                                  return;
632    
633              this.tx選曲パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_image_panel_guitar.png" ) );              if ( this.tx選曲パネル == null && CDTXMania.ConfigIni.bDrums有効 )
634                    this.tx選曲パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_image_panel.png" ) );
635              if ( this.tx選曲パネル == null || CDTXMania.ConfigIni.bDrums有効 )              else if( this.tx選曲パネル == null && CDTXMania.ConfigIni.bGuitar有効 )
636                  this.tx選曲パネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_image_panel.png"));                  this.tx選曲パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_image_panel_guitar.png" ) );
637    
638              this.txパネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_music panel.png"));              this.txパネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_music panel.png"));
639              //this.tx帯 = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\5_backpanel.png" ) );              //this.tx帯 = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\5_backpanel.png" ) );
# Line 627  namespace DTXMania Line 654  namespace DTXMania
654              {              {
655                  //this.t曲名バーの生成(i, this.stバー情報[i].strタイトル文字列, this.stバー情報[i].col文字色);                  //this.t曲名バーの生成(i, this.stバー情報[i].strタイトル文字列, this.stバー情報[i].col文字色);
656                  this.tアーティスト名テクスチャの生成( i, this.stバー情報[ i ].strアーティスト名 );                  this.tアーティスト名テクスチャの生成( i, this.stバー情報[ i ].strアーティスト名 );
657                  this.tパネルの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].strアーティスト名, this.stバー情報[ i ].col文字色 );                  //this.tパネルの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].strアーティスト名, this.stバー情報[ i ].col文字色 );
658                  //this.tパスを指定してサムネイル画像を生成する(i, this.stバー情報[i].strDTXフォルダのパス, this.stバー情報[i].eバー種別);                  //this.tパスを指定してサムネイル画像を生成する(i, this.stバー情報[i].strDTXフォルダのパス, this.stバー情報[i].eバー種別);
659                  if( this.stバー情報[ i ].strPreimageのパス != null )                  if( this.stバー情報[ i ].strPreimageのパス != null )
660                  {                  {
# Line 710  namespace DTXMania Line 737  namespace DTXMania
737    
738              for ( int i = 0; i < 15; i++ )              for ( int i = 0; i < 15; i++ )
739              {              {
740                    CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txパネル );
741                  CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txタイトル名 );                  CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txタイトル名 );
742                  CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txアーティスト名 );                  CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txアーティスト名 );
743                  CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txカスタム曲名テクスチャ );                  CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txカスタム曲名テクスチャ );
# Line 918  namespace DTXMania Line 946  namespace DTXMania
946                                                  this.n目標のスクロールカウンタ -= 100;                                                  this.n目標のスクロールカウンタ -= 100;
947    
948                                                  this.t選択曲が変更された( false );                             // スクロールバー用に今何番目を選択しているかを更新                                                  this.t選択曲が変更された( false );                             // スクロールバー用に今何番目を選択しているかを更新
949                          if( this.tx選択されている曲の曲名 != null )                          CDTXMania.t安全にDisposeする( ref this.tx選択されている曲の曲名 );
950                          {                          CDTXMania.t安全にDisposeする( ref this.tx選択されている曲のアーティスト名 );
                             this.tx選択されている曲の曲名.Dispose();  
                             this.tx選択されている曲の曲名 = null;  
                         }  
                         if( this.tx選択されている曲のアーティスト名 != null )  
                         {  
                             this.tx選択されている曲のアーティスト名.Dispose();  
                             this.tx選択されている曲のアーティスト名 = null;  
                         }  
951    
952                                                  if( this.n目標のスクロールカウンタ == 0 )                                                  if( this.n目標のスクロールカウンタ == 0 )
953                                                          CDTXMania.stage選曲.t選択曲変更通知();         // スクロール完了=選択曲変更!                                                          CDTXMania.stage選曲.t選択曲変更通知();         // スクロール完了=選択曲変更!
# Line 997  namespace DTXMania Line 1017  namespace DTXMania
1017    
1018    
1019                                                  this.t選択曲が変更された( false );                             // スクロールバー用に今何番目を選択しているかを更新                                                  this.t選択曲が変更された( false );                             // スクロールバー用に今何番目を選択しているかを更新
1020                          if( this.tx選択されている曲の曲名 != null )                          CDTXMania.t安全にDisposeする( ref this.tx選択されている曲の曲名 );
1021                          {                          CDTXMania.t安全にDisposeする( ref this.tx選択されている曲のアーティスト名 );
                             this.tx選択されている曲の曲名.Dispose();  
                             this.tx選択されている曲の曲名 = null;  
                         }  
                         if( this.tx選択されている曲のアーティスト名 != null )  
                         {  
                             this.tx選択されている曲のアーティスト名.Dispose();  
                             this.tx選択されている曲のアーティスト名 = null;  
                         }  
1022                                                                                                    
1023                                                  if( this.n目標のスクロールカウンタ == 0 )                                                  if( this.n目標のスクロールカウンタ == 0 )
1024                                                          CDTXMania.stage選曲.t選択曲変更通知();         // スクロール完了=選択曲変更!                                                          CDTXMania.stage選曲.t選択曲変更通知();         // スクロール完了=選択曲変更!
# Line 1840  namespace DTXMania Line 1852  namespace DTXMania
1852                                                                    
1853                  this.stバー情報[ i ].strDTXフォルダのパス = song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].ファイル情報.フォルダの絶対パス;                  this.stバー情報[ i ].strDTXフォルダのパス = song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].ファイル情報.フォルダの絶対パス;
1854                  this.stバー情報[ i ].strPreimageのパス = song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].ファイル情報.フォルダの絶対パス + song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].譜面情報.Preimage;                  this.stバー情報[ i ].strPreimageのパス = song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].ファイル情報.フォルダの絶対パス + song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].譜面情報.Preimage;
1855                  this.tパネルの生成(i, song.strタイトル, this.stバー情報[ i ].strアーティスト名, song.col文字色);  
1856                    // 2019.4.26 kairera0467 バーの初期化は複数回行われる場合があるので、再構築する時には一度解放してから構築するほうが解放漏れは少なくなるはず。
1857                    CDTXMania.tテクスチャの解放( ref this.stバー情報[ i ].txパネル );
1858                    CDTXMania.tテクスチャの解放( ref this.txTumbnail[ i ] );
1859    
1860                    this.tパネルの生成( i, song.strタイトル, this.stバー情報[ i ].strアーティスト名, song.col文字色 );
1861                  if( this.stバー情報[ i ].strPreimageのパス != null )                  if( this.stバー情報[ i ].strPreimageのパス != null )
1862                  {                  {
1863                      if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) )                      if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) )
# Line 1869  namespace DTXMania Line 1886  namespace DTXMania
1886                          {                          {
1887                  //if ( this.stバー情報[ nバー番号 ].eバー種別 == Eバー種別.Score || this.stバー情報[ nバー番号 ].eバー種別 == Eバー種別.Box)                  //if ( this.stバー情報[ nバー番号 ].eバー種別 == Eバー種別.Score || this.stバー情報[ nバー番号 ].eバー種別 == Eバー種別.Box)
1888                  {                  {
1889                      if (!File.Exists(strDTXPath))                      // 2019.04.27 kairera0467 使っていないようなのでコメントアウト
1890                      {                      //if (!File.Exists(strDTXPath))
1891                          this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), false);                      //{
1892                      }                      //    this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), false);
1893                      else                      //}
1894                      {                      //else
1895                          this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(strDTXPath);                      //{
1896                      }                      //    this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(strDTXPath);
1897                        //}
1898                  }                  }
1899                  //else if( this.stバー情報[ nバー番号 ].eバー種別 == Eバー種別.Random)                  //else if( this.stバー情報[ nバー番号 ].eバー種別 == Eバー種別.Random)
1900                  //{                  //{

Legend:
Removed from v.569  
changed lines
  Added in v.574

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26