| 308 |
//this.t曲名バーの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].col文字色 ); |
//this.t曲名バーの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].col文字色 ); |
| 309 |
this.tアーティスト名テクスチャの生成( i, this.stバー情報[ i ].strアーティスト名 ); |
this.tアーティスト名テクスチャの生成( i, this.stバー情報[ i ].strアーティスト名 ); |
| 310 |
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文字色 ); |
| 311 |
if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) ) |
// if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) ) |
| 312 |
{ |
// { |
| 313 |
//txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) ); |
// //txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) ); |
| 314 |
this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別 ); |
// this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別 ); |
| 315 |
this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス, this.txTumbnail[ i ] ); |
// this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス, this.txTumbnail[ i ] ); |
| 316 |
} |
//} |
| 317 |
txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ]; |
// this.txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ]; |
| 318 |
} |
} |
| 319 |
} |
} |
| 320 |
public void t次に移動() |
public void t次に移動() |
| 646 |
int nKeys = this.dicThumbnail.Count; |
int nKeys = this.dicThumbnail.Count; |
| 647 |
string[] keys = new string[ nKeys ]; |
string[] keys = new string[ nKeys ]; |
| 648 |
this.dicThumbnail.Keys.CopyTo( keys, 0 ); |
this.dicThumbnail.Keys.CopyTo( keys, 0 ); |
| 649 |
foreach (var key in keys) |
//foreach (var key in keys) |
| 650 |
this.dicThumbnail[ key ] = this.tパスを指定してサムネイル画像を生成して返す( 0, key, this.stバー情報[ 0 ].eバー種別 );; |
// this.dicThumbnail[ key ] = this.tパスを指定してサムネイル画像を生成して返す( 0, key, this.stバー情報[ 0 ].eバー種別 ); |
| 651 |
|
|
| 652 |
//ここは最初に表示される画像の復元に必要。 |
// //ここは最初に表示される画像の復元に必要。 |
| 653 |
for (int i = 0; i < 15; i++) |
// for (int i = 0; i < 15; i++) |
| 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 |
{ |
// { |
| 661 |
if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) ) |
// if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) ) |
| 662 |
{ |
// { |
| 663 |
//txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) ); |
// //txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) ); |
| 664 |
this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別 ); |
// this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別 ); |
| 665 |
this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス, this.txTumbnail[ i ] ); |
// this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス, this.txTumbnail[ i ] ); |
| 666 |
} |
//} |
| 667 |
txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ]; |
// //txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ]; |
| 668 |
} |
// txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ]; |
| 669 |
} |
// } |
| 670 |
|
// } |
| 671 |
#endregion |
#endregion |
| 672 |
|
|
| 673 |
|
|
| 743 |
CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txアーティスト名 ); |
CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txアーティスト名 ); |
| 744 |
CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txカスタム曲名テクスチャ ); |
CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txカスタム曲名テクスチャ ); |
| 745 |
CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txカスタムアーティスト名テクスチャ ); |
CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txカスタムアーティスト名テクスチャ ); |
| 746 |
|
|
| 747 |
|
CDTXMania.tテクスチャの解放( ref this.txTumbnail[ i ] ); |
| 748 |
} |
} |
| 749 |
|
|
| 750 |
CDTXMania.tテクスチャの解放( ref this.tx選択されている曲の曲名 ); |
CDTXMania.tテクスチャの解放( ref this.tx選択されている曲の曲名 ); |
| 915 |
this.tアーティスト名テクスチャの生成( index, this.stバー情報[ index ].strアーティスト名 ); |
this.tアーティスト名テクスチャの生成( index, this.stバー情報[ index ].strアーティスト名 ); |
| 916 |
this.tパネルの生成( index, this.stバー情報[ index ].strタイトル文字列, this.stバー情報[ index ].strアーティスト名, this.stバー情報[ index ].col文字色 ); |
this.tパネルの生成( index, this.stバー情報[ index ].strタイトル文字列, this.stバー情報[ index ].strアーティスト名, this.stバー情報[ index ].col文字色 ); |
| 917 |
|
|
| 918 |
|
//Trace.TraceInformation( "パネルを1行上にシフト" ); |
| 919 |
if( !this.dicThumbnail.ContainsKey( this.stバー情報[ index ].strPreimageのパス ) ) |
if( !this.dicThumbnail.ContainsKey( this.stバー情報[ index ].strPreimageのパス ) ) |
| 920 |
{ |
{ |
| 921 |
//txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) ); |
//txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) ); |
| 922 |
this.tパスを指定してサムネイル画像を生成する( index, this.stバー情報[ index ].strPreimageのパス, this.stバー情報[ index ].eバー種別 ); |
//this.tパスを指定してサムネイル画像を生成する( index, this.stバー情報[ index ].strPreimageのパス, this.stバー情報[ index ].eバー種別 ); |
| 923 |
this.dicThumbnail.Add( this.stバー情報[ index ].strPreimageのパス, this.txTumbnail[ index ] ); |
this.dicThumbnail.Add( this.stバー情報[ index ].strPreimageのパス, |
| 924 |
|
this.tパスを指定してサムネイル画像を生成して返す(index, this.stバー情報[ index ].strPreimageのパス, this.stバー情報[ index ].eバー種別) ); |
| 925 |
|
//this.dicThumbnail.Add( this.stバー情報[ index ].strPreimageのパス, this.txTumbnail[ index ] ); |
| 926 |
} |
} |
| 927 |
txTumbnail[ index ] = this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ]; |
//else if( this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ]?.texture == null ) |
| 928 |
|
//{ |
| 929 |
|
// Trace.TraceWarning( string.Format( "予期しない解放が発生していたため再生成を行いました。 ({0})", this.stバー情報[ index ].strPreimageのパス ) ); |
| 930 |
|
// this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ]?.Dispose(); |
| 931 |
|
// this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ] = CDTXMania.tテクスチャの生成( this.stバー情報[ index ].strPreimageのパス ); |
| 932 |
|
//} |
| 933 |
|
//txTumbnail[ index ] = this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ]; |
| 934 |
|
|
| 935 |
|
|
| 936 |
// stバー情報[] の内容を1行ずつずらす。 |
// stバー情報[] の内容を1行ずつずらす。 |
| 993 |
this.tアーティスト名テクスチャの生成( index, this.stバー情報[ index ].strアーティスト名 ); |
this.tアーティスト名テクスチャの生成( index, this.stバー情報[ index ].strアーティスト名 ); |
| 994 |
this.tパネルの生成( index, this.stバー情報[ index ].strタイトル文字列, this.stバー情報[ index ].strアーティスト名, this.stバー情報[ index ].col文字色 ); |
this.tパネルの生成( index, this.stバー情報[ index ].strタイトル文字列, this.stバー情報[ index ].strアーティスト名, this.stバー情報[ index ].col文字色 ); |
| 995 |
|
|
| 996 |
|
//Trace.TraceInformation( "パネルを1行下にシフト" ); |
| 997 |
if( !this.dicThumbnail.ContainsKey( this.stバー情報[ index ].strPreimageのパス ) ) |
if( !this.dicThumbnail.ContainsKey( this.stバー情報[ index ].strPreimageのパス ) ) |
| 998 |
{ |
{ |
| 999 |
//txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) ); |
//txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) ); |
| 1000 |
this.tパスを指定してサムネイル画像を生成する( index, this.stバー情報[ index ].strPreimageのパス, this.stバー情報[ index ].eバー種別 ); |
//this.tパスを指定してサムネイル画像を生成する( index, this.stバー情報[ index ].strPreimageのパス, this.stバー情報[ index ].eバー種別 ); |
| 1001 |
this.dicThumbnail.Add( this.stバー情報[ index ].strPreimageのパス, this.txTumbnail[ index ] ); |
this.dicThumbnail.Add( this.stバー情報[ index ].strPreimageのパス, |
| 1002 |
|
this.tパスを指定してサムネイル画像を生成して返す(index, this.stバー情報[ index ].strPreimageのパス, this.stバー情報[ index ].eバー種別) ); |
| 1003 |
|
//this.dicThumbnail.Add( this.stバー情報[ index ].strPreimageのパス, this.txTumbnail[ index ] ); |
| 1004 |
} |
} |
| 1005 |
txTumbnail[ index ] = this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ]; |
//txTumbnail[ index ] = this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ]; |
| 1006 |
|
|
| 1007 |
|
|
| 1008 |
// stバー情報[] の内容を1行ずつずらす。 |
// stバー情報[] の内容を1行ずつずらす。 |
| 1047 |
#endregion |
#endregion |
| 1048 |
} |
} |
| 1049 |
|
|
| 1050 |
|
//if( this.txTumbnail != null ) |
| 1051 |
|
//{ |
| 1052 |
|
// this.txTumbnail[0]?.t2D描画( CDTXMania.app.Device, 0, 0 ); |
| 1053 |
|
//} |
| 1054 |
|
if( this.stバー情報 != null ) |
| 1055 |
|
{ |
| 1056 |
|
this.stバー情報[0].txパネル?.t2D描画(CDTXMania.app.Device, 0, 0); |
| 1057 |
|
} |
| 1058 |
|
|
| 1059 |
// 描画。 |
// 描画。 |
| 1060 |
|
|
| 1426 |
matSongPanel[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y, fZ ); |
matSongPanel[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y, fZ ); |
| 1427 |
this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] ); |
this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] ); |
| 1428 |
} |
} |
| 1429 |
if (this.txTumbnail[ nパネル番号 ] != null) |
if( this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ] != null ) |
| 1430 |
{ |
{ |
| 1431 |
float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width; |
float f拡大率X = (float) 172.0 / this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ].szテクスチャサイズ.Width; |
| 1432 |
float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height; |
float f拡大率Y = (float) 172.0 / this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ].szテクスチャサイズ.Height; |
| 1433 |
|
|
| 1434 |
matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f ); |
|
| 1435 |
|
matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率X * CTexture.f画面比率 - 0.084f, f拡大率Y * CTexture.f画面比率 + 0.05f, 1.0f ); |
| 1436 |
matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( fR, 0.0f, 0.0f ); |
matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( fR, 0.0f, 0.0f ); |
| 1437 |
matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ ); |
matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ ); |
| 1438 |
|
|
| 1439 |
this.txTumbnail[ nパネル番号 ].t3D描画(CDTXMania.app.Device, matJacket[ i ] ); |
this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ].t3D描画(CDTXMania.app.Device, matJacket[ i ] ); |
| 1440 |
} |
} |
| 1441 |
|
//if (this.txTumbnail[ nパネル番号 ] != null) |
| 1442 |
|
//{ |
| 1443 |
|
// float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width; |
| 1444 |
|
// float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height; |
| 1445 |
|
|
| 1446 |
|
// matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f ); |
| 1447 |
|
// matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( fR, 0.0f, 0.0f ); |
| 1448 |
|
// matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ ); |
| 1449 |
|
|
| 1450 |
|
// this.txTumbnail[ nパネル番号 ].t3D描画(CDTXMania.app.Device, matJacket[ i ] ); |
| 1451 |
|
//} |
| 1452 |
//----------------- |
//----------------- |
| 1453 |
#endregion |
#endregion |
| 1454 |
} |
} |
| 1466 |
matSongPanel[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y, fZ ); |
matSongPanel[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y, fZ ); |
| 1467 |
this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] ); |
this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] ); |
| 1468 |
} |
} |
| 1469 |
if( this.txTumbnail[ nパネル番号 ] != null ) |
if( this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ] != null ) |
| 1470 |
{ |
{ |
| 1471 |
float f拡大率 = (float)172.0 / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Width ; |
float f拡大率X = (float) 172.0 / this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ].szテクスチャサイズ.Width; |
| 1472 |
float f拡大率2 = (float)172.0 / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Height; |
float f拡大率Y = (float) 172.0 / this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ].szテクスチャサイズ.Height; |
| 1473 |
|
|
| 1474 |
matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f ); |
|
| 1475 |
|
matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率X * CTexture.f画面比率 - 0.084f, f拡大率Y * CTexture.f画面比率 + 0.05f, 1.0f ); |
| 1476 |
matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); |
matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); |
| 1477 |
matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ ); |
matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ ); |
| 1478 |
|
|
| 1479 |
this.txTumbnail[ nパネル番号 ].t3D描画( CDTXMania.app.Device, matJacket[ i ] ); |
this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ].t3D描画(CDTXMania.app.Device, matJacket[ i ] ); |
| 1480 |
} |
} |
| 1481 |
|
//if( this.txTumbnail[ nパネル番号 ] != null ) |
| 1482 |
|
//{ |
| 1483 |
|
// float f拡大率 = (float)172.0 / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Width ; |
| 1484 |
|
// float f拡大率2 = (float)172.0 / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Height; |
| 1485 |
|
|
| 1486 |
|
// matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f ); |
| 1487 |
|
// matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( ); |
| 1488 |
|
// matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ ); |
| 1489 |
|
|
| 1490 |
|
// this.txTumbnail[ nパネル番号 ].t3D描画( CDTXMania.app.Device, matJacket[ i ] ); |
| 1491 |
|
//} |
| 1492 |
//----------------- |
//----------------- |
| 1493 |
#endregion |
#endregion |
| 1494 |
} |
} |
| 1515 |
} |
} |
| 1516 |
#endregion |
#endregion |
| 1517 |
#region[ ジャケット画像 ] |
#region[ ジャケット画像 ] |
| 1518 |
if ( this.txTumbnail[ n選択曲のパネル番号 ] != null ) |
if( this.dicThumbnail[ this.stバー情報[ n選択曲のパネル番号 ].strPreimageのパス ] != null ) |
| 1519 |
{ |
{ |
| 1520 |
float f拡大率 = (float)218.0 / this.txTumbnail[ n選択曲のパネル番号 ].szテクスチャサイズ.Width; |
float f拡大率X = (float) 218.0 / this.dicThumbnail[ this.stバー情報[n選択曲のパネル番号].strPreimageのパス ].szテクスチャサイズ.Width; |
| 1521 |
float f拡大率2 = (float)218.0 / this.txTumbnail[ n選択曲のパネル番号 ].szテクスチャサイズ.Height; |
float f拡大率Y = (float) 218.0 / this.dicThumbnail[ this.stバー情報[n選択曲のパネル番号].strPreimageのパス ].szテクスチャサイズ.Height; |
| 1522 |
this.txTumbnail[ n選択曲のパネル番号 ].vc拡大縮小倍率 = new Vector3( f拡大率, f拡大率2, 1.0f ); |
|
| 1523 |
this.txTumbnail[ n選択曲のパネル番号 ].t2D描画(CDTXMania.app.Device, 537, 249 ); |
this.dicThumbnail[ this.stバー情報[n選択曲のパネル番号].strPreimageのパス ].vc拡大縮小倍率 = new Vector3( f拡大率X, f拡大率Y, 1.0f ); |
| 1524 |
this.txTumbnail[ n選択曲のパネル番号 ].vc拡大縮小倍率 = new Vector3( 1.0f, 1.0f, 1.0f ); |
this.dicThumbnail[ this.stバー情報[n選択曲のパネル番号].strPreimageのパス ].t2D描画(CDTXMania.app.Device, 537, 249 ); |
| 1525 |
|
this.dicThumbnail[ this.stバー情報[n選択曲のパネル番号].strPreimageのパス ].vc拡大縮小倍率 = new Vector3( 1.0f, 1.0f, 1.0f ); |
| 1526 |
} |
} |
| 1527 |
|
//if ( this.txTumbnail[ n選択曲のパネル番号 ] != null ) |
| 1528 |
|
//{ |
| 1529 |
|
// float f拡大率 = (float)218.0 / this.txTumbnail[ n選択曲のパネル番号 ].szテクスチャサイズ.Width; |
| 1530 |
|
// float f拡大率2 = (float)218.0 / this.txTumbnail[ n選択曲のパネル番号 ].szテクスチャサイズ.Height; |
| 1531 |
|
// this.txTumbnail[ n選択曲のパネル番号 ].vc拡大縮小倍率 = new Vector3( f拡大率, f拡大率2, 1.0f ); |
| 1532 |
|
// this.txTumbnail[ n選択曲のパネル番号 ].t2D描画(CDTXMania.app.Device, 537, 249 ); |
| 1533 |
|
// this.txTumbnail[ n選択曲のパネル番号 ].vc拡大縮小倍率 = new Vector3( 1.0f, 1.0f, 1.0f ); |
| 1534 |
|
//} |
| 1535 |
#endregion |
#endregion |
| 1536 |
#region[ タイトル・アーティスト名 ] |
#region[ タイトル・アーティスト名 ] |
| 1537 |
//曲名テクスチャ 生成 |
//曲名テクスチャ 生成 |
| 1887 |
if( song == null ) |
if( song == null ) |
| 1888 |
return; |
return; |
| 1889 |
|
|
| 1890 |
|
//Trace.TraceInformation("バーの初期化処理開始"); |
| 1891 |
|
|
| 1892 |
for( int i = 0; i < 7; i++ ) |
for( int i = 0; i < 7; i++ ) |
| 1893 |
song = this.r前の曲( song ); |
song = this.r前の曲( song ); |
| 1894 |
|
|
| 1913 |
|
|
| 1914 |
// 2019.4.26 kairera0467 バーの初期化は複数回行われる場合があるので、再構築する時には一度解放してから構築するほうが解放漏れは少なくなるはず。 |
// 2019.4.26 kairera0467 バーの初期化は複数回行われる場合があるので、再構築する時には一度解放してから構築するほうが解放漏れは少なくなるはず。 |
| 1915 |
CDTXMania.tテクスチャの解放( ref this.stバー情報[ i ].txパネル ); |
CDTXMania.tテクスチャの解放( ref this.stバー情報[ i ].txパネル ); |
| 1916 |
CDTXMania.tテクスチャの解放( ref this.txTumbnail[ i ] ); |
// CDTXMania.tテクスチャの解放( ref this.txTumbnail[ i ] ); |
| 1917 |
|
|
| 1918 |
this.tパネルの生成( i, song.strタイトル, this.stバー情報[ i ].strアーティスト名, song.col文字色 ); |
this.tパネルの生成( i, song.strタイトル, this.stバー情報[ i ].strアーティスト名, song.col文字色 ); |
| 1919 |
if( this.stバー情報[ i ].strPreimageのパス != null ) |
if( this.stバー情報[ i ].strPreimageのパス != null ) |
| 1921 |
if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) ) |
if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) ) |
| 1922 |
{ |
{ |
| 1923 |
//txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) ); |
//txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) ); |
| 1924 |
this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別 ); |
//this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別 ); |
| 1925 |
this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス, this.txTumbnail[ i ] ); |
|
| 1926 |
|
this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス, |
| 1927 |
|
this.tパスを指定してサムネイル画像を生成して返す(i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別) ); |
| 1928 |
} |
} |
| 1929 |
txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ]; |
//else if( this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ]?.texture == null ) |
| 1930 |
|
//{ |
| 1931 |
|
// // キーは存在するがテクスチャがnullの場合は再生成のみ行う |
| 1932 |
|
// Trace.TraceInformation(string.Format("キーがあるけどnullになってるCTextureのテクスチャ再生成 {0}", this.stバー情報[ i ].strPreimageのパス)); |
| 1933 |
|
// this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ] = CDTXMania.tテクスチャの生成( this.stバー情報[ i ].strPreimageのパス ); |
| 1934 |
|
//} |
| 1935 |
|
//txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ]; |
| 1936 |
} |
} |
| 1937 |
|
|
| 1938 |
for( int j = 0; j < 3; j++ ) |
for( int j = 0; j < 3; j++ ) |
| 1941 |
song = this.r次の曲( song ); |
song = this.r次の曲( song ); |
| 1942 |
} |
} |
| 1943 |
|
|
| 1944 |
|
//Trace.TraceInformation("バーの初期化処理終了"); |
| 1945 |
|
|
| 1946 |
this.n現在の選択行 = 7; |
this.n現在の選択行 = 7; |
| 1947 |
} |
} |
| 1948 |
private void tパスを指定してサムネイル画像を生成する( int nバー番号, string strDTXPath, Eバー種別 eType ) |
private void tパスを指定してサムネイル画像を生成する( int nバー番号, string strDTXPath, Eバー種別 eType ) |
| 1992 |
private CTexture tパスを指定してサムネイル画像を生成して返す( int nバー番号, string strDTXPath, Eバー種別 eType ) |
private CTexture tパスを指定してサムネイル画像を生成して返す( int nバー番号, string strDTXPath, Eバー種別 eType ) |
| 1993 |
{ |
{ |
| 1994 |
if (nバー番号 < 0 || nバー番号 > 15) |
if (nバー番号 < 0 || nバー番号 > 15) |
| 1995 |
return this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), false); |
return CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), false); |
| 1996 |
|
|
| 1997 |
|
// 2020.5.23 kairera0467 memo |
| 1998 |
|
// ここではtxTumbnailに生成結果を格納すると同時に、returnしたCTextureをdicTumbnailに格納している... |
| 1999 |
|
// はずだが、nバー番号が0で固定されているため、本当は無駄が発生しているかもしれない。 |
| 2000 |
|
|
| 2001 |
//try |
//try |
| 2002 |
{ |
{ |
| 2003 |
//if (eType == Eバー種別.Score || eType == Eバー種別.Box) |
//if (eType == Eバー種別.Score || eType == Eバー種別.Box) |
| 2004 |
{ |
{ |
| 2005 |
|
// 一度txTumbnailへの格納をやめてみる。 |
| 2006 |
if (!File.Exists(strDTXPath)) |
if (!File.Exists(strDTXPath)) |
| 2007 |
{ |
{ |
| 2008 |
return this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), false); |
return CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), "FILE NOT EXISTS:" + strDTXPath); |
| 2009 |
} |
} |
| 2010 |
else |
else |
| 2011 |
{ |
{ |
| 2012 |
return this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(strDTXPath); |
return CDTXMania.tテクスチャの生成(strDTXPath, "PRE:" + strDTXPath); |
| 2013 |
} |
} |
| 2014 |
|
|
| 2015 |
|
//if (!File.Exists(strDTXPath)) |
| 2016 |
|
//{ |
| 2017 |
|
// return this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), "FILE NOT EXISTS:" + strDTXPath); |
| 2018 |
|
//} |
| 2019 |
|
//else |
| 2020 |
|
//{ |
| 2021 |
|
// return this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(strDTXPath, "PRE:" + strDTXPath); |
| 2022 |
|
//} |
| 2023 |
} |
} |
| 2024 |
//else if (eType == Eバー種別.Random) |
//else if (eType == Eバー種別.Random) |
| 2025 |
{ |
{ |
| 2046 |
} |
} |
| 2047 |
*/ |
*/ |
| 2048 |
} |
} |
| 2049 |
|
public void tTumbDictionaryClear() |
| 2050 |
|
{ |
| 2051 |
|
// デバッグ用 |
| 2052 |
|
// dicThumbnailに登録されたものを全部消去 |
| 2053 |
|
this.dicThumbnail.Clear(); |
| 2054 |
|
} |
| 2055 |
private CTexture t指定された文字テクスチャを生成する( string str文字, Color color ) |
private CTexture t指定された文字テクスチャを生成する( string str文字, Color color ) |
| 2056 |
{ |
{ |
| 2057 |
//2013.09.05.kairera0467 中央にしか使用することはないので、色は黒固定。 |
//2013.09.05.kairera0467 中央にしか使用することはないので、色は黒固定。 |