AM Daemon ライブラリリファレンス
PlayBeginParam.h
[詳解]
1 /// @file
2 /// @brief プレイ開始に用いるパラメータを保持するクラス PlayBeginParam のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_PLAYBEGINPARAM_H
7 #define AMDAEMON_PLAYBEGINPARAM_H
8 
9 #include "amdaemon/env.h"
11 
12 #include <utility>
13 
14 namespace amdaemon
15 {
16 /// @addtogroup g_sequence
17 /// @{
18 
19  /// @brief プレイ開始に用いるパラメータを保持するクラス。
20  /// @see Sequence#beginPlay
22  {
23  public:
24  /// コンストラクタ。
26 
27  /// @brief コピーコンストラクタ。
28  /// @param[in] src コピー元。
30 
31  /// @brief ムーブコンストラクタ。
32  /// @param[in] src ムーブ元。
34 
35  /// @brief コピー代入演算子のオーバロード。
36  /// @param[in] r 右辺値。
37  /// @return 自身の参照。
39  {
41  return *this;
42  }
43 
44  /// @brief ムーブ代入演算子のオーバロード。
45  /// @param[in] r 右辺値。
46  /// @return 自身の参照。
48  {
49  PlayParamHolder::operator=(std::move(r));
50  return *this;
51  }
52 
53  // 下記は暗黙の定義を用いる。
54  //‾PlayBeginParam() = default;
55 
56  /// @brief ゲームコストパラメータを設定する。
57  /// @param[in] gameCostIndex ゲームコスト設定インデックス。
58  /// @param[in] count ゲームコスト減算回数。既定値は 1 。
59  /// @see CreditUnit#payGameCost
60  ///
61  /// @exception Exception
62  /// - 引数 gameCostIndex に CreditConfig::MaxGameCostCount 以上の値を指定した場合。
63  /// - 引数 count に 0 以下もしくは 99 より大きい値を指定した場合。
64  ///
65  /// このパラメータを設定するとプレイ開始用のゲームコスト(クレジット)支払いが
66  /// 行われるようになる。
67  ///
68  /// 引数 count については、
69  /// CreditUnit クラスのメンバ関数 CreditUnit#payGameCost の説明を参照すること。
70  /// 通常は省略して構わない。
71  void setGameCost(std::size_t gameCostIndex, std::size_t count = 1)
72  {
73  PlayParamHolder::setGameCost(gameCostIndex, count);
74  }
75 
76  /// @brief ALL.Net課金プレイ開始パラメータを設定する。
77  /// @param[in] kindCode 種別コード。 0 以上 654 以下。
78  /// @param[in] statusCode 状態コード。 0 以上 99 以下。
79  /// @see AccountingUnit#beginPlay
80  ///
81  /// @exception Exception
82  /// - 引数 kindCode に 654 より大きい値を指定した場合。
83  /// - 引数 statusCode に 99 より大きい値を指定した場合。
84  ///
85  /// このパラメータを設定するとALL.Net課金プレイ開始処理が行われるようになる。
86  ///
87  /// Sequence クラスのメンバ関数 Sequence#getPlayAccountingTiming の戻り値によって
88  /// 下記のような違いがある。
89  ///
90  /// - 戻り値が PlayAccountingTiming::Normal である場合
91  /// - 特記事項なし。
92  /// - 戻り値が PlayAccountingTiming::AtBegin である場合
93  /// - このパラメータを設定した場合、メンバ関数 #setAccountingEnd によって
94  /// ALL.Net課金プレイ終了パラメータも設定しなければならない。
95  /// - 戻り値が PlayAccountingTiming::AtEnd である場合
96  /// - このパラメータは無視される。
97  void setAccountingBegin(std::uint32_t kindCode, std::uint32_t statusCode)
98  {
99  PlayParamHolder::setAccountingBegin(kindCode, statusCode);
100  }
101 
102  /// @brief ALL.Net課金プレイ終了パラメータを設定する。
103  /// @param[in] kindCode 種別コード。 0 以上 654 以下。
104  /// @param[in] statusCode 状態コード。 0 以上 99 以下。
105  /// @param[in] itemCount 商品数。 0 以上 255 以下。 0 ならば課金しない。
106  /// @see AccountingUnit#endPlay
107  ///
108  /// @exception Exception
109  /// - 引数 kindCode に 654 より大きい値を指定した場合。
110  /// - 引数 statusCode に 99 より大きい値を指定した場合。
111  /// - 引数 itemCount に 255 より大きい値を指定した場合。
112  ///
113  /// このパラメータを設定するとALL.Net課金プレイ終了処理が行われるようになる。
114  ///
115  /// Sequence クラスのメンバ関数 Sequence#getPlayAccountingTiming の戻り値によって
116  /// 下記のような違いがある。
117  ///
118  /// - 戻り値が PlayAccountingTiming::Normal である場合
119  /// - このパラメータは無視される。
120  /// - 戻り値が PlayAccountingTiming::AtBegin である場合
121  /// - このパラメータを設定した場合、メンバ関数 #setAccountingBegin によって
122  /// ALL.Net課金プレイ開始パラメータも設定しなければならない。
123  /// - 戻り値が PlayAccountingTiming::AtEnd である場合
124  /// - このパラメータは無視される。
126  std::uint32_t kindCode,
127  std::uint32_t statusCode,
128  std::uint32_t itemCount)
129  {
130  PlayParamHolder::setAccountingEnd(kindCode, statusCode, itemCount);
131  }
132 
133  /// @brief Aimeプレイログ送信用のUID値パラメータを設定する。
134  /// @param[in] aimeId Aime UID値。
135  /// @see Aime#sendLog
136  ///
137  /// @exception Exception
138  /// 引数 aimeId に無効なUID値を指定した場合。
139  ///
140  /// このパラメータを設定するとAimeプレイログが送信されるようになる。
141  ///
142  /// プレイ開始時に指定したUID値を用いて、
143  /// コンティニュー時やプレイ終了時のAimeプレイログ送信も行われる。
144  void setAimeId(AimeId aimeId)
145  {
147  }
148 
149  private:
150  /// @brief 内部パラメータを取得する。
151  /// @return 内部パラメータ。
152  /// @note ライブラリ内部で用いられる。アプリ側から利用する必要はない。
153  const InnerPlayParam& getInnerParam() const final override
154  {
156  }
157  };
158 
159 /// @}
160 } // namespace amdaemon
161 
162 #endif // AMDAEMON_PLAYBEGINPARAM_H
AimeのUID値を保持する構造体。
Definition: AimeId.h:27
void setAccountingBegin(std::uint32_t kindCode, std::uint32_t statusCode)
ALL.Net課金プレイ開始パラメータを設定する。
void setAimeId(AimeId aimeId)
Aimeプレイログ送信用のUID値パラメータを設定する。
PlayBeginParam()
コンストラクタ。
Definition: PlayBeginParam.h:25
void setAccountingEnd(std::uint32_t kindCode, std::uint32_t statusCode, std::uint32_t itemCount)
ALL.Net課金プレイ終了パラメータを設定する。
Definition: PlayBeginParam.h:125
Definition: AccessCode.h:202
void setGameCost(std::size_t gameCostIndex, std::size_t count=1)
ゲームコストパラメータを設定する。
Definition: PlayBeginParam.h:71
Daemonライブラリの環境定義を行うヘッダ。
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
virtual const InnerPlayParam & getInnerParam() const
内部パラメータを取得する。
プレイ状態変更に用いるパラメータを保持する基底クラス PlayParamHolder のヘッダ。
PlayBeginParam & operator=(PlayBeginParam &&r)
ムーブ代入演算子のオーバロード。
Definition: PlayBeginParam.h:47
void setAccountingBegin(std::uint32_t kindCode, std::uint32_t statusCode)
ALL.Net課金プレイ開始パラメータを設定する。
Definition: PlayBeginParam.h:97
プレイ状態変更に用いるパラメータを保持する基底クラス。
Definition: PlayParamHolder.h:32
PlayBeginParam(PlayBeginParam &&src)
ムーブコンストラクタ。
Definition: PlayBeginParam.h:33
PlayParamHolder & operator=(const PlayParamHolder &r)
コピー代入演算子のオーバロード。
void setAccountingEnd(std::uint32_t kindCode, std::uint32_t statusCode, std::uint32_t itemCount)
ALL.Net課金プレイ終了パラメータを設定する。
プレイ開始に用いるパラメータを保持するクラス。
Definition: PlayBeginParam.h:21
void setAimeId(AimeId aimeId)
Aimeプレイログ送信用のUID値パラメータを設定する。
Definition: PlayBeginParam.h:144
void setGameCost(std::size_t gameCostIndex, std::size_t count=1)
ゲームコストパラメータを設定する。
PlayBeginParam & operator=(const PlayBeginParam &r)
コピー代入演算子のオーバロード。
Definition: PlayBeginParam.h:38
PlayBeginParam(const PlayBeginParam &src)
コピーコンストラクタ。
Definition: PlayBeginParam.h:29