AM Daemon ライブラリリファレンス
Player.h
[詳解]
1 /// @file
2 /// @brief プレイヤーに紐付く情報をまとめて提供するMonostateクラス Player のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_PLAYER_H
7 #define AMDAEMON_PLAYER_H
8 
9 #include "amdaemon/env.h"
12 #include "amdaemon/PlayEndParam.h"
13 #include "amdaemon/PlayErrorId.h"
14 #include "amdaemon/AimeId.h"
15 #include "amdaemon/InputUnit.h"
16 #include "amdaemon/OutputUnit.h"
17 #include "amdaemon/CreditUnit.h"
19 
20 #include <cstddef>
21 
22 namespace amdaemon
23 {
24 /// @addtogroup g_player
25 /// @{
26 
27  /// @brief プレイヤーに紐付く情報をまとめて提供するMonostateクラス。
28  ///
29  /// プレイヤーに紐付く各種インスタンスをひとまとめにしたクラス。
30  /// 実際のインスタンスは Input クラスや Credit クラス等が保持している。
31  ///
32  /// このクラス自体はプレイヤーインデックスしか保持していない。
33  /// そのためほとんどコスト無しでコピー可能である。
34  class Player
35  {
36  public:
37  /// @brief コンストラクタ。
38  /// @param[in] index プレイヤーインデックス。
39  ///
40  /// @exception Exception
41  /// 引数 index に有効プレイヤー数以上の値を渡した場合。
42  /// 有効プレイヤー数は Core クラスのメンバ関数 Core#getPlayerCount で取得できる。
43  explicit Player(std::size_t index);
44 
45  // 下記は暗黙の定義を用いる。
46  //Player(const Player&) = default;
47  //‾Player() = default;
48  //Player& operator=(const Player&) = default;
49 
50  /// @brief プレイヤーインデックスを取得する。
51  /// @return プレイヤーインデックス。
52  std::size_t getIndex() const
53  {
54  return _index;
55  }
56 
57  /// @brief プレイ開始処理を行う。
58  /// @param[in] param プレイ開始処理パラメータ。
59  /// @retval true 成功した場合。
60  /// @retval false 失敗した場合。
61  /// @see Sequence#beginPlay(std::size_t, const PlayBeginParam&)
62  ///
63  /// @exception Exception
64  /// - プレイヤーが既にプレイ中である場合。
65  /// - ゲームテストモード中である場合。
66  /// - 引数 param に不正な値を指定した場合。
67  ///
68  /// Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
69  bool beginPlay(const PlayBeginParam& param = PlayBeginParam());
70 
71  /// @brief プレイ開始処理を行う。
72  /// @param[in] param プレイ開始処理パラメータ。
73  /// @param[out] errorId 処理失敗時のエラーID設定先。
74  /// @retval true 成功した場合。
75  /// @retval false 失敗した場合。
76  /// @see Sequence#beginPlay(std::size_t, const PlayBeginParam&, PlayErrorId&)
77  ///
78  /// @exception Exception
79  /// - プレイヤーが既にプレイ中である場合。
80  /// - ゲームテストモード中である場合。
81  /// - 引数 param に不正な値を指定した場合。
82  ///
83  /// Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
84  bool beginPlay(const PlayBeginParam& param, PlayErrorId& errorId);
85 
86  /// @brief コンティニュー処理を行う。
87  /// @param[in] param コンティニュー処理パラメータ。
88  /// @retval true 成功した場合。
89  /// @retval false 失敗した場合。
90  /// @see Sequence#continuePlay(std::size_t, const PlayContinueParam&)
91  ///
92  /// @exception Exception
93  /// - プレイヤーがプレイ中ではない場合。
94  /// - ゲームテストモード中である場合。
95  /// - 引数 param に不正な値を指定した場合。
96  ///
97  /// Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
98  bool continuePlay(const PlayContinueParam& param = PlayContinueParam());
99 
100  /// @brief コンティニュー処理を行う。
101  /// @param[in] param コンティニュー処理パラメータ。
102  /// @param[out] errorId 処理失敗時のエラーID設定先。
103  /// @retval true 成功した場合。
104  /// @retval false 失敗した場合。
105  /// @see Sequence#continuePlay(std::size_t, const PlayContinueParam&, PlayErrorId&)
106  ///
107  /// @exception Exception
108  /// - プレイヤーがプレイ中ではない場合。
109  /// - ゲームテストモード中である場合。
110  /// - 引数 param に不正な値を指定した場合。
111  ///
112  /// Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
113  bool continuePlay(const PlayContinueParam& param, PlayErrorId& errorId);
114 
115  /// @brief プレイ終了処理を行う。
116  /// @param[in] param プレイ終了処理パラメータ。
117  /// @retval true 成功した場合。
118  /// @retval false 失敗した場合。
119  /// @see Sequence#endPlay(std::size_t, const PlayEndParam&)
120  ///
121  /// @exception Exception
122  /// - プレイヤーが既にプレイ中ではない場合。
123  /// - ゲームテストモード中である場合。
124  /// - 引数 param に不正な値を指定した場合。
125  ///
126  /// Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
127  bool endPlay(const PlayEndParam& param = PlayEndParam());
128 
129  /// @brief プレイ終了処理を行う。
130  /// @param[in] param プレイ終了処理パラメータ。
131  /// @param[out] errorId 処理失敗時のエラーID設定先。
132  /// @retval true 成功した場合。
133  /// @retval false 失敗した場合。
134  /// @see Sequence#endPlay(std::size_t, const PlayEndParam&, PlayErrorId&)
135  ///
136  /// @exception Exception
137  /// - プレイヤーが既にプレイ中ではない場合。
138  /// - ゲームテストモード中である場合。
139  /// - 引数 param に不正な値を指定した場合。
140  ///
141  /// Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
142  bool endPlay(const PlayEndParam& param, PlayErrorId& errorId);
143 
144  /// @brief プレイ中であるか否かを取得する。
145  /// @retval true プレイ中である場合。
146  /// @retval false プレイ中ではない場合。
147  /// @see Sequence#isPlaying
148  bool isPlaying() const;
149 
150  /// @brief ALL.Net課金プレイ中であるか否かを取得する。
151  /// @retval true ALL.Net課金プレイ中である場合。
152  /// @retval false ALL.Net課金プレイ中ではない場合。
153  /// @see Sequence#isAccountingPlaying
154  ///
155  /// Sequence クラスのメンバ関数 Sequence#getPlayAccountingTiming の戻り値が
156  /// PlayAccountingTiming::Normal であり、なおかつメンバ関数 #beginPlay や
157  /// #continuePlay でALL.Net課金プレイを開始済みである場合に true を返すようになる。
158  ///
159  /// 上記メンバ関数の戻り値が PlayAccountingTiming::Normal 以外である場合や、
160  /// AccountingUnit クラスのメンバ関数 AccountingUnit#beginPlay を直接呼び出して
161  /// 課金プレイを開始した場合、この関数が true を返すことはない。
162  bool isAccountingPlaying() const;
163 
164  /// @brief プレイ中のプレイヤーに紐付いているAimeのUID値を取得する。
165  /// @return AimeのUID値。紐付いていないかプレイ中でない場合は不正値。
166  /// @see Sequence#getPlayingAimeId
167  AimeId getPlayingAimeId() const;
168 
169  /// @brief ID付けされた入力情報インスタンスを取得する。
170  /// @return ID付けされた入力情報インスタンス。
171  /// @see Input#getPlayer(std::size_t) const
172  const InputUnit& getInputUnit() const;
173 
174  /// @brief ID付けされた出力情報インスタンスを取得する。
175  /// @return ID付けされた出力情報インスタンス。
176  /// @see Output#getPlayer(std::size_t)
178 
179  /// @copydoc getOutputUnit
180  const OutputUnit& getOutputUnit() const;
181 
182  /// @brief クレジット情報インスタンスを取得する。
183  /// @return クレジット情報インスタンス。
184  /// @see Credit#getPlayer(std::size_t)
186 
187  /// @copydoc getCreditUnit
188  const CreditUnit& getCreditUnit() const;
189 
190  /// @brief ALL.Net課金処理インスタンスを取得する。
191  /// @return ALL.Net課金処理インスタンス。
192  /// @see allnet::Accounting#getPlayer(std::size_t)
194 
195  /// @copydoc getAllnetAccountingUnit
196  const ::amdaemon::allnet::AccountingUnit& getAllnetAccountingUnit() const;
197 
198  private:
199  std::size_t _index; ///< プレイヤーインデックス。
200  };
201 
202 /// @}
203 } // namespace amdaemon
204 
205 #endif // AMDAEMON_PLAYER_H
bool beginPlay(const PlayBeginParam &param=PlayBeginParam())
プレイ開始処理を行う。
AimeのUID値を保持する構造体。
Definition: AimeId.h:27
プレイヤーに紐付く情報をまとめて提供するMonostateクラス。
Definition: Player.h:34
CreditUnit & getCreditUnit()
クレジット情報インスタンスを取得する。
カテゴリ単位のID付けされた出力処理を行うクラス。
Definition: OutputUnit.h:52
AimeのUID値を保持する構造体 AimeId のヘッダ。
Player(std::size_t index)
コンストラクタ。
::amdaemon::allnet::AccountingUnit & getAllnetAccountingUnit()
ALL.Net課金処理インスタンスを取得する。
プレイ終了に用いるパラメータを保持するクラス PlayEndParam のヘッダ。
プレイ開始に用いるパラメータを保持するクラス PlayBeginParam のヘッダ。
Daemonライブラリの環境定義を行うヘッダ。
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
std::size_t getIndex() const
プレイヤーインデックスを取得する。
Definition: Player.h:52
ビデオゲームのプレイヤー別クレジット情報を保持するクラス CreditUnit のヘッダ。
プレイヤー単位のALL.Net課金処理を提供するクラス AccountingUnit のヘッダ。
bool isPlaying() const
プレイ中であるか否かを取得する。
OutputUnit & getOutputUnit()
ID付けされた出力情報インスタンスを取得する。
bool continuePlay(const PlayContinueParam &param=PlayContinueParam())
コンティニュー処理を行う。
ビデオゲームのプレイヤー別クレジット情報を保持するクラス。
Definition: CreditUnit.h:37
コンティニューに用いるパラメータを保持するクラス。
Definition: PlayContinueParam.h:21
const InputUnit & getInputUnit() const
ID付けされた入力情報インスタンスを取得する。
プレイ終了に用いるパラメータを保持するクラス。
Definition: PlayEndParam.h:21
プレイ状態変更処理失敗時のエラー内容を表す列挙 PlayErrorId のヘッダ。
カテゴリ単位のID付けされた入力情報を提供するクラス InputUnit のヘッダ。
カテゴリ単位のID付けされた入力情報を提供するクラス。
Definition: InputUnit.h:50
プレイ開始に用いるパラメータを保持するクラス。
Definition: PlayBeginParam.h:21
PlayErrorId
プレイ状態変更処理失敗時のエラー内容を表す列挙。
Definition: PlayErrorId.h:17
プレイヤー単位のALL.Net課金処理を提供するクラス。
Definition: AccountingUnit.h:32
カテゴリ単位のID付けされた出力処理を行うクラス OutputUnit のヘッダ。
bool isAccountingPlaying() const
ALL.Net課金プレイ中であるか否かを取得する。
コンティニューに用いるパラメータを保持するクラス PlayContinueParam のヘッダ。
bool endPlay(const PlayEndParam &param=PlayEndParam())
プレイ終了処理を行う。
AimeId getPlayingAimeId() const
プレイ中のプレイヤーに紐付いているAimeのUID値を取得する。