OSDN Git Service

10e6e79ecb670d02a0513680cec5957314d78d82
[hengbandforosx/hengbandosx.git] / src / system / angband-system.h
1 #pragma once
2
3 #include <stdint.h>
4
5 class AngbandSystem {
6 public:
7     AngbandSystem(const AngbandSystem &) = delete;
8     AngbandSystem(AngbandSystem &&) = delete;
9     AngbandSystem &operator=(const AngbandSystem &) = delete;
10     AngbandSystem &operator=(AngbandSystem &&) = delete;
11     static AngbandSystem &get_instance();
12
13     uint8_t version_major{}; //!< 変愚蛮怒バージョン(メジャー番号)
14     uint8_t version_minor{}; //!< 変愚蛮怒バージョン(マイナー番号)
15     uint8_t version_patch{}; //!< 変愚蛮怒バージョン(パッチ番号)
16     uint8_t version_extra{}; //!< 変愚蛮怒バージョン(エクストラ番号)
17
18     uint8_t savefile_key{}; //!< セーブファイルエンコードキー(XOR)
19
20     void set_phase_out(bool new_status);
21     bool is_phase_out() const;
22     int get_max_range() const;
23
24 private:
25     AngbandSystem() = default;
26
27     static AngbandSystem instance;
28     bool phase_out_stat = false; // カジノ闘技場の観戦状態等に利用。NPCの処理の対象にならず自身もほとんどの行動ができない.
29 };