OSDN Git Service

Merge pull request #646 from sikabane-works/release/3.0.0Alpha14
[hengbandforosx/hengbandosx.git] / src / main / scene-table.h
1 #pragma once
2
3 #include "system/angband.h"
4
5 #include <iterator>
6 #include <vector>
7
8 struct scene_type;
9 // シチュエーション判定関数。valueに設定した場合trueを返す。
10 typedef bool (*SCENE_DEF_FUNC)(player_type *player_ptr, scene_type *value);
11
12 struct scene_type {
13     int type; //!< シチュエーションカテゴリ
14     int val; //!< シチュエーション項目
15
16     bool update(player_type *player_ptr, scene_type *value)
17     {
18         return scene_def(player_ptr, value);
19     }
20
21     scene_type(SCENE_DEF_FUNC f)
22         : scene_def(f)
23     {
24     }
25
26 private:
27     SCENE_DEF_FUNC scene_def; //!< シチュエーション判定関数
28 };
29
30 void refresh_scene_table(player_type *player_ptr);
31 std::vector<scene_type>::iterator get_scene_table_iterator();