- Timestamp:
- 02/19/08 21:44:23 (9 months ago)
- Location:
- lang/d/koke/trunk
- Files:
-
- 2 modified
-
config.d (modified) (5 diffs)
-
gamecore.d (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/d/koke/trunk/config.d
r6336 r6941 8 8 /* */ 9 9 /*-更新履歴---------------------------------------------------------------------*/ 10 /* 200 7/--/--*/10 /* 2008/02/19 動的なコンフィグファイルの再読み込みに対応 */ 11 11 /*-その他-----------------------------------------------------------------------*/ 12 12 /* なし */ … … 16 16 private import std.file; 17 17 private import std.string; 18 private import std.date; 18 19 19 20 /** … … 27 28 char[][char[]] _data; // データ(キーと値) 28 29 char[] _filepath; // ファイルパス 30 d_time _fta; // ファイルの最終更新時間(監視用) 29 31 public: 30 32 this() {} … … 56 58 } 57 59 _data.rehash; 60 61 // 監視用の更新時間 62 d_time current_ftc , current_fta , current_ftm; 63 getTimes(filepath , current_ftc , current_fta , current_ftm); 64 65 _fta = current_fta; 58 66 } 59 67 char[] get(char[] key) { checkKey(key); return _data[key]; } // 文字列で取得 … … 83 91 append(filepath, format("%s = %s\n", k, _data[k])); 84 92 } 93 } 94 95 // configが古いかチェック 96 bool isLatest(){ 97 d_time current_ftc , current_fta , current_ftm; 98 getTimes(_filepath , current_ftc , current_fta , current_ftm); 99 100 if(current_fta > _fta) return false; 101 return true; 102 } 103 // configを読み直す 104 void update(){ 105 load(_filepath); 85 106 } 86 107 void dump() -
lang/d/koke/trunk/gamecore.d
r6347 r6941 39 39 { 40 40 public: 41 int timer; 42 Map map; 43 CharacterPool charpool; 44 45 ClickablePool menu; 46 ClickablePool chart_switch; 47 ClickablePool economy_switch; 48 ClickablePool speed_switch; 49 50 int cursor_x; 51 int cursor_y; 52 int mouse_x; 53 int mouse_y; 54 55 Keypad keypad; 56 57 double view_point_x; 58 double view_point_y; 59 60 Character target; 61 62 PlayChart chart; 41 int timer; // 汎用タイマー 42 Map map; // マップ 43 CharacterPool charpool; // キャラクタプール 44 45 ClickablePool menu; // ツールメニュー(右下の大きいやつ 46 ClickablePool chart_switch; // チャートのON/OFFスイッチ(右上 47 ClickablePool economy_switch; // エコノミーのON/OFFスイッチ(右上 48 ClickablePool speed_switch; // 速度スイッチ(右上 49 50 int cursor_x; // マウス直下の座標x(マップチップ座標系) 51 int cursor_y; // マウス直下の座標y(マップチップ座標系) 52 int mouse_x; // マウス座標x(スクリーン座標系) 53 int mouse_y; // マウス座標y(スクリーン座標系) 54 55 Keypad keypad; // キーボード/ゲームパッド取得用 56 57 double view_point_x; // 視点x(スクリーン座標系) 58 double view_point_y; // 視点y(スクリーン座標系) 59 60 Character target; // 注目しているキャラクタ(キャラクタ情報ウインドウ用) 61 62 PlayChart chart; // チャート 63 64 int config_reload_timer; // 「コンフィグをリロードした」表示用 65 66 static const int CONFIG_RELOAD_CHECK_INTERVAL = 40 * 5; // コンフィグ再読み込み確認 67 static const int CONFIG_RELOAD_SHOW_INTERVAL = 80; // 「コンフィグ読み込んだ」表示時間 63 68 64 69 this() … … 242 247 } 243 248 } 249 250 // configが古い場合はロードしなおす 251 if(timer % CONFIG_RELOAD_CHECK_INTERVAL == 0 && !configparser.isLatest()){ 252 configparser.update(); 253 config_reload_timer = CONFIG_RELOAD_SHOW_INTERVAL; 254 }else if(config_reload_timer > 0){ 255 config_reload_timer--; 256 } 244 257 } 245 258 … … 279 292 } 280 293 281 // 左上294 // 種類別キャラクタ数表示(左上) 282 295 for(int t=0;t<Character.TYPE.MAX;t++){ 283 296 if(t == Character.TYPE.NONE) continue; … … 286 299 } 287 300 301 // メニュー類(右下/右上) 288 302 menu.draw(); 289 303 chart_switch.draw(); … … 291 305 speed_switch.draw(); 292 306 293 string buf;307 // 時間表示(右上) 294 308 Hell_drawFont("TIME:" ~ std.string.toString(timer / 40) , getScreenWidth() - 80 , 32); 295 309 310 // チャート 296 311 if(chart_switch.getSelected() != "") chart.draw(); 297 312 313 // config_reload 314 if(config_reload_timer > 0 && timer % 10 < 5){ 315 Hell_drawFont("CONFIG RELOADED" , getScreenWidth() / 2 - 80 , getScreenHeight() / 2 316 , 2 , 255,128,0); 317 } 318 319 // fps/cpu 298 320 Hell_drawFPS(); 299 321 // Hell_update();
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)