AM Daemon ライブラリリファレンス
PlayContinueParam.h
[詳解]
1 /// @file
2 /// @brief コンティニューに用いるパラメータを保持するクラス PlayContinueParam のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_PLAYCONTINUEPARAM_H
7 #define AMDAEMON_PLAYCONTINUEPARAM_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#continuePlay
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  //‾PlayContinueParam() = 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  /// - コンティニュー後プレイ分のALL.Net課金プレイ開始処理として扱われる。
92  /// - 戻り値が PlayAccountingTiming::AtBegin である場合
93  /// - コンティニュー後プレイ分のALL.Net課金プレイ開始処理として扱われる。
94  /// - このパラメータを設定した場合、メンバ関数 #setAccountingEnd によって
95  /// ALL.Net課金プレイ終了パラメータも設定しなければならない。
96  /// - 戻り値が PlayAccountingTiming::AtEnd である場合
97  /// - コンティニュー前プレイ分のALL.Net課金プレイ開始処理として扱われる。
98  /// - このパラメータを設定した場合、メンバ関数 #setAccountingEnd によって
99  /// ALL.Net課金プレイ終了パラメータも設定しなければならない。
100  void setAccountingBegin(std::uint32_t kindCode, std::uint32_t statusCode)
101  {
102  PlayParamHolder::setAccountingBegin(kindCode, statusCode);
103  }
104 
105  /// @brief ALL.Net課金プレイ終了パラメータを設定する。
106  /// @param[in] kindCode 種別コード。 0 以上 654 以下。
107  /// @param[in] statusCode 状態コード。 0 以上 99 以下。
108  /// @param[in] itemCount 商品数。 0 以上 255 以下。 0 ならば課金しない。
109  /// @see AccountingUnit#endPlay
110  ///
111  /// @exception Exception
112  /// - 引数 kindCode に 654 より大きい値を指定した場合。
113  /// - 引数 statusCode に 99 より大きい値を指定した場合。
114  /// - 引数 itemCount に 255 より大きい値を指定した場合。
115  ///
116  /// このパラメータを設定するとALL.Net課金プレイ終了処理が行われるようになる。
117  ///
118  /// Sequence クラスのメンバ関数 Sequence#getPlayAccountingTiming の戻り値によって
119  /// 下記のような違いがある。
120  ///
121  /// - 戻り値が PlayAccountingTiming::Normal である場合
122  /// - コンティニュー前プレイ分のALL.Net課金プレイ終了処理として扱われる。
123  /// - プレイ開始時や前回のコンティニュー時に課金プレイを開始済みである場合、
124  /// 必ずこのパラメータを設定しなければならない。
125  /// - 課金プレイ中ではない場合、このパラメータは無視される。
126  /// - 戻り値が PlayAccountingTiming::AtBegin である場合
127  /// - コンティニュー後プレイ分のALL.Net課金プレイ終了処理として扱われる。
128  /// - このパラメータを設定した場合、メンバ関数 #setAccountingBegin によって
129  /// ALL.Net課金プレイ開始パラメータも設定しなければならない。
130  /// - 戻り値が PlayAccountingTiming::AtEnd である場合
131  /// - コンティニュー前プレイ分のALL.Net課金プレイ終了処理として扱われる。
132  /// - このパラメータを設定した場合、メンバ関数 #setAccountingBegin によって
133  /// ALL.Net課金プレイ開始パラメータも設定しなければならない。
135  std::uint32_t kindCode,
136  std::uint32_t statusCode,
137  std::uint32_t itemCount)
138  {
139  PlayParamHolder::setAccountingEnd(kindCode, statusCode, itemCount);
140  }
141 
142  private:
143  /// @brief 内部パラメータを取得する。
144  /// @return 内部パラメータ。
145  /// @note ライブラリ内部で用いられる。アプリ側から利用する必要はない。
146  const InnerPlayParam& getInnerParam() const final override
147  {
149  }
150  };
151 
152 /// @}
153 } // namespace amdaemon
154 
155 #endif // AMDAEMON_PLAYCONTINUEPARAM_H
PlayContinueParam(PlayContinueParam &&src)
ムーブコンストラクタ。
Definition: PlayContinueParam.h:33
void setGameCost(std::size_t gameCostIndex, std::size_t count=1)
ゲームコストパラメータを設定する。
Definition: PlayContinueParam.h:71
void setAccountingBegin(std::uint32_t kindCode, std::uint32_t statusCode)
ALL.Net課金プレイ開始パラメータを設定する。
void setAccountingEnd(std::uint32_t kindCode, std::uint32_t statusCode, std::uint32_t itemCount)
ALL.Net課金プレイ終了パラメータを設定する。
Definition: PlayContinueParam.h:134
Definition: AccessCode.h:202
Daemonライブラリの環境定義を行うヘッダ。
PlayContinueParam(const PlayContinueParam &src)
コピーコンストラクタ。
Definition: PlayContinueParam.h:29
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
virtual const InnerPlayParam & getInnerParam() const
内部パラメータを取得する。
プレイ状態変更に用いるパラメータを保持する基底クラス PlayParamHolder のヘッダ。
プレイ状態変更に用いるパラメータを保持する基底クラス。
Definition: PlayParamHolder.h:32
コンティニューに用いるパラメータを保持するクラス。
Definition: PlayContinueParam.h:21
PlayContinueParam()
コンストラクタ。
Definition: PlayContinueParam.h:25
PlayContinueParam & operator=(PlayContinueParam &&r)
ムーブ代入演算子のオーバロード。
Definition: PlayContinueParam.h:47
PlayContinueParam & operator=(const PlayContinueParam &r)
コピー代入演算子のオーバロード。
Definition: PlayContinueParam.h:38
PlayParamHolder & operator=(const PlayParamHolder &r)
コピー代入演算子のオーバロード。
void setAccountingEnd(std::uint32_t kindCode, std::uint32_t statusCode, std::uint32_t itemCount)
ALL.Net課金プレイ終了パラメータを設定する。
void setGameCost(std::size_t gameCostIndex, std::size_t count=1)
ゲームコストパラメータを設定する。
void setAccountingBegin(std::uint32_t kindCode, std::uint32_t statusCode)
ALL.Net課金プレイ開始パラメータを設定する。
Definition: PlayContinueParam.h:100