AM Daemon ライブラリリファレンス
CreditConfig.h
[詳解]
1 /// @file
2 /// @brief ビデオゲーム用のクレジット設定構造体 CreditConfig のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_CREDITCONFIG_H
7 #define AMDAEMON_CREDITCONFIG_H
8 
9 #include "amdaemon/env.h"
10 #include "amdaemon/IODeviceDef.h"
11 
12 #include <algorithm>
13 #include <cstdint>
14 #include <cstddef>
15 
16 namespace amdaemon
17 {
18 /// @addtogroup g_credit
19 /// @{
20 
21  /// @brief ビデオゲーム用のクレジット設定構造体。
22  /// @note memcpy 可能。
23  ///
24  /// 各設定値の詳細はビデオゲーム作成基準を参照すること。
25  ///
26  /// @internal ライブラリ実装メモ: この型を直接共有メモリに配置する。
27  struct CreditConfig
28  {
29  /// ノード別(I/Oボード別)のコインシュートの最大数。
31 
32  /// 消費クレジット設定の最大数。
33  static const std::size_t MaxGameCostCount = 8;
34 
35  /// @brief COIN CHUTE TYPE 設定値。
36  ///
37  /// COMMON とするならば true 。 INDIVIDUAL とするならば false 。
39 
40  /// @brief SERVICE TYPE 設定値。
41  ///
42  /// COMMON とするならば true 。 INDIVIDUAL とするならば false 。
44 
45  /// @brief FREE PLAY 設定が有効か否か。
46  ///
47  /// FREE PLAY 設定を有効にするならば true 。無効にするならば false 。
48  bool freePlay;
49 
50  /// @brief COIN CHUTE MULTIPLIER 設定値。
51  ///
52  /// 各コインシュートに投入されたコインを何COIN分として扱うか設定する。
53  /// 例えばUFOキャッチャーならば { 1, 5 } を設定する。
54  ///
55  /// coinChuteCommon が false の場合は 0 番目の値のみが使われる。
57 
58  /// @brief BONUS ADDER 設定値。
59  ///
60  /// 何COIN分加算されたらサービスの1COINを追加付与するか設定する。
61  /// サービス無しならば 0 を設定する。
62  std::uint32_t bonusAdder;
63 
64  /// @brief COIN TO CREDIT 設定値。
65  ///
66  /// COIN数いくつで1クレジットになるかを表す。
67  std::uint32_t coinToCredit;
68 
69  /// @brief GAME COST SETTING 設定値。
70  ///
71  /// ゲームの開始等のために支払うクレジット数を設定する。
72  /// 各要素値の意味はゲームにより異なる。
73  ///
74  /// 一般的なビデオゲームでは 0 番目にゲームスタートの必要クレジット数を設定する。
75  /// また、必要であれば 1 番目にコンティニューの必要クレジット数を設定する。
76  std::uint32_t gameCosts[MaxGameCostCount];
77 
78  /// @brief COIN AMOUNT 設定値。
79  ///
80  /// 電子マネーでコインを購入する際の単価(円単位)を表す。
81  std::uint32_t coinAmount;
82 
83  /// @brief 既定値で初期化されたインスタンスを作成する。
84  /// @return 既定値で初期化されたインスタンス。
86  {
87  CreditConfig result = { };
88 
89  std::fill_n(result.coinMultipliers, MaxCoinChuteCount, 1);
90  result.coinToCredit = 1;
91  std::fill_n(result.gameCosts, MaxGameCostCount, 1);
92  result.coinAmount = 100;
93 
94  return result;
95  }
96  };
97 
98 /// @}
99 } // namespace amdaemon
100 
101 #endif // AMDAEMON_CREDITCONFIG_H
std::uint32_t coinMultipliers[MaxCoinChuteCount]
COIN CHUTE MULTIPLIER 設定値。
Definition: CreditConfig.h:56
各種I/Oボード共通の定義を提供するヘッダ。
bool serviceCommon
SERVICE TYPE 設定値。
Definition: CreditConfig.h:43
static const std::size_t MaxGameCostCount
消費クレジット設定の最大数。
Definition: CreditConfig.h:33
ビデオゲーム用のクレジット設定構造体。
Definition: CreditConfig.h:27
Daemonライブラリの環境定義を行うヘッダ。
static CreditConfig makeDefault()
既定値で初期化されたインスタンスを作成する。
Definition: CreditConfig.h:85
std::uint32_t coinAmount
COIN AMOUNT 設定値。
Definition: CreditConfig.h:81
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
bool freePlay
FREE PLAY 設定が有効か否か。
Definition: CreditConfig.h:48
std::uint32_t coinToCredit
COIN TO CREDIT 設定値。
Definition: CreditConfig.h:67
static const std::size_t MaxIODeviceCoinSlotCount
I/Oボード1個あたりの最大コインスロット数。
Definition: IODeviceDef.h:16
std::uint32_t gameCosts[MaxGameCostCount]
GAME COST SETTING 設定値。
Definition: CreditConfig.h:76
static const std::size_t MaxCoinChuteCount
ノード別(I/Oボード別)のコインシュートの最大数。
Definition: CreditConfig.h:30
std::uint32_t bonusAdder
BONUS ADDER 設定値。
Definition: CreditConfig.h:62
bool coinChuteCommon
COIN CHUTE TYPE 設定値。
Definition: CreditConfig.h:38