2 using System.Collections.Generic;
\r
4 using System.Drawing;
\r
9 internal class C文字コンソール : CActivity
\r
32 public void tPrint( int x, int y, Eフォント種別 font, string str英数字文字列 )
\r
34 if( !base.b活性化してない && !string.IsNullOrEmpty( str英数字文字列 ) )
\r
37 for( int i = 0; i < str英数字文字列.Length; i++ )
\r
39 char ch = str英数字文字列[ i ];
\r
47 int index = str表記可能文字.IndexOf( ch );
\r
54 if( this.txフォント8x16[ (int) ( (int) font / (int) Eフォント種別.白細 ) ] != null )
\r
56 this.txフォント8x16[ (int) ( (int) font / (int) Eフォント種別.白細 ) ].t2D描画( CDTXMania.Instance.Device, x, y, this.rc文字の矩形領域[ (int) ( (int) font % (int) Eフォント種別.白細 ), index ] );
\r
68 public override void On活性化()
\r
70 this.rc文字の矩形領域 = new Rectangle[3, str表記可能文字.Length ];
\r
71 for( int i = 0; i < 3; i++ )
\r
73 for (int j = 0; j < str表記可能文字.Length; j++)
\r
75 const int regionX = 128 * 2, regionY = 16;
\r
76 this.rc文字の矩形領域[ i, j ].X = ( ( i / 2 ) * regionX ) + ( ( j % regionY ) * nFontWidth );
\r
77 this.rc文字の矩形領域[ i, j ].Y = ( ( i % 2 ) * regionX ) + ( ( j / regionY ) * nFontHeight );
\r
78 this.rc文字の矩形領域[ i, j ].Width = nFontWidth;
\r
79 this.rc文字の矩形領域[ i, j ].Height = nFontHeight;
\r
84 public override void On非活性化()
\r
86 if( this.rc文字の矩形領域 != null )
\r
87 this.rc文字の矩形領域 = null;
\r
91 public override void OnManagedリソースの作成()
\r
93 if( !base.b活性化してない )
\r
95 this.txフォント8x16[ 0 ] = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\Console font 8x16.png" ) );
\r
96 this.txフォント8x16[ 1 ] = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\Console font 2 8x16.png" ) );
\r
97 base.OnManagedリソースの作成();
\r
100 public override void OnManagedリソースの解放()
\r
102 if( !base.b活性化してない )
\r
104 for( int i = 0; i < 2; i++ )
\r
106 if( this.txフォント8x16[ i ] != null )
\r
108 this.txフォント8x16[ i ].Dispose();
\r
109 this.txフォント8x16[ i ] = null;
\r
112 base.OnManagedリソースの解放();
\r
119 #region [ private ]
\r
120 //-----------------
\r
121 private Rectangle[,] rc文字の矩形領域;
\r
122 private const string str表記可能文字 = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ";
\r
123 private const int nFontWidth = 8 * 2, nFontHeight = 16 * 2;
\r
124 private CTexture[] txフォント8x16 = new CTexture[ 2 ];
\r
125 //-----------------
\r