AM Daemon ライブラリリファレンス
|
ビデオゲームのプレイヤー別クレジット情報を保持するクラス。 [詳解]
#include <CreditUnit.h>
公開メンバ関数 | |
CreditUnit (InnerIndexHolder) | |
コンストラクタ。 [詳解] | |
std::uint32_t | getCredit () const |
現在のクレジット値を取得する。 [詳解] | |
std::uint32_t | getRemain () const |
現在のクレジット端数値を取得する。 [詳解] | |
bool | isZero () const |
現在のクレジット値およびクレジット端数値が 0 であるか否かを取得する。 [詳解] | |
std::uint32_t | getAddableCoin () const |
追加可能なコイン数を取得する。 [詳解] | |
std::uint32_t | getCoinToCredit () const |
COIN TO CREDIT 設定値を取得する。 [詳解] | |
bool | isFreePlay () const |
FREE PLAY 設定が有効であるか否かを取得する。 [詳解] | |
const wchar_t * | toString () const |
現在のクレジット値情報を文字列化する。 [詳解] | |
std::uint32_t | getGameCost (std::size_t gameCostIndex) const |
ゲームコスト設定値を取得する。 [詳解] | |
bool | isGameCostEnough (std::size_t gameCostIndex, std::size_t count=1) const |
現在のクレジット値がゲームコストを満たすか否かを取得する。 [詳解] | |
bool | payGameCost (std::size_t gameCostIndex, std::size_t count=1) |
現在のクレジット値からゲームコスト分を減算するように要求する。 [詳解] | |
ビデオゲームのプレイヤー別クレジット情報を保持するクラス。
このクラスのインスタンスをアプリ側で直接生成することはできない。 Credit クラスのメンバ関数 Credit::getPlayer から取得すること。
一部の関数は処理完了まで呼び出し元スレッドをブロックする。
|
explicit |
コンストラクタ。
std::uint32_t amdaemon::CreditUnit::getCredit | ( | ) | const |
現在のクレジット値を取得する。
std::uint32_t amdaemon::CreditUnit::getRemain | ( | ) | const |
現在のクレジット端数値を取得する。
COIN TO CREDIT 設定値以上にはならない。 COIN TO CREDIT 設定値が 1 ならば常に 0 を返す。
bool amdaemon::CreditUnit::isZero | ( | ) | const |
現在のクレジット値およびクレジット端数値が 0 であるか否かを取得する。
true | クレジット値もクレジット端数値も 0 である場合。 |
false | クレジット値もしくはクレジット端数値が 1 以上である場合。 |
std::uint32_t amdaemon::CreditUnit::getAddableCoin | ( | ) | const |
追加可能なコイン数を取得する。
現在の状態から追加可能なコイン数を返す。 ただし FREE PLAY 設定が有効である場合は 0 を返す。
主に、 EMoney クラスによる電子マネーでのコイン購入支払操作において、 購入予定のコイン数が追加可能であるか事前に調べるために用いる。
BONUS ADDER 設定等があるため、追加可能なコイン数は単純計算で算出できない。 独自に計算せず、この関数の戻り値を利用すること。
std::uint32_t amdaemon::CreditUnit::getCoinToCredit | ( | ) | const |
COIN TO CREDIT 設定値を取得する。
COIN数いくつで1クレジットになるかを表す。 FREE PLAY 設定が有効であっても 0 にはならない。
std::max(Credit().getConfig().coinToCredit, 1U) を返す。
bool amdaemon::CreditUnit::isFreePlay | ( | ) | const |
FREE PLAY 設定が有効であるか否かを取得する。
true | FREE PLAY 設定が有効である場合。 |
false | FREE PLAY 設定が無効である場合。 |
Credit().getConfig().freePlay を返す。
const wchar_t* amdaemon::CreditUnit::toString | ( | ) | const |
現在のクレジット値情報を文字列化する。
次の手順に従って文字列を生成する。 FREE PLAY 設定は考慮しない。
std::uint32_t amdaemon::CreditUnit::getGameCost | ( | std::size_t | gameCostIndex | ) | const |
ゲームコスト設定値を取得する。
[in] | gameCostIndex | ゲームコスト設定インデックス。 |
Exception | 引数 gameCostIndex に CreditConfig::MaxGameCostCount 以上の値を指定した場合。 |
Credit().getConfig().gameCosts[gameCostIndex] を返す。
bool amdaemon::CreditUnit::isGameCostEnough | ( | std::size_t | gameCostIndex, |
std::size_t | count = 1 |
||
) | const |
現在のクレジット値がゲームコストを満たすか否かを取得する。
[in] | gameCostIndex | ゲームコスト設定インデックス。 |
[in] | count | ゲームコスト減算回数。既定値は 1 。 |
true | ゲームコストを満たす場合。 |
false | ゲームコストを満たさない場合。 |
Exception |
|
下記の条件判定式の結果を返す。
ただし、 FREE PLAY 設定が有効である場合は常に true を返す。
bool amdaemon::CreditUnit::payGameCost | ( | std::size_t | gameCostIndex, |
std::size_t | count = 1 |
||
) |
現在のクレジット値からゲームコスト分を減算するように要求する。
[in] | gameCostIndex | ゲームコスト設定インデックス。 |
[in] | count | ゲームコスト減算回数。既定値は 1 。 |
true | 成功した場合。 |
false | クレジット不足等で失敗した場合。 |
Exception |
|
プレイ開始、コンティニューと連動してゲームコスト(クレジット)支払いを行いたい場合は Sequence クラスのメンバ関数 Sequence::beginPlay や Sequence::continuePlay を用いることを推奨する。 それ以外のタイミングで支払いを行いたい場合にこの関数を用いる。
事前にメンバ関数 isGameCostEnough でクレジットが足りていることを確認済みでも、 Daemonプロセス側でクレジット減算に失敗する可能性はある。 よって必ずこの関数の戻り値を確認すること。
FREE PLAY 設定が有効ならば、要求は発行されるが、クレジット減算は行われない。 その場合、要求処理自体は成功したものとして扱われる。
Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。