GS2-Experience GS2-Deploy/CDK リファレンス
エンティティ
Namespace
ネームスペース
ネームスペースは一つのプロジェクトで同じサービスを異なる用途で複数利用できるようにするための仕組みです。 GS2 のサービスは基本的にネームスペースというレイヤーがあり、ネームスペースが異なれば同じサービスでもまったく別のデータ空間として取り扱われます。
そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。
型 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|
name | string | ✓ | ~ 32文字 | ネームスペース名 | |
description | string | ~ 1024文字 | 説明文 | ||
transactionSetting | TransactionSetting | トランザクション設定 | |||
experienceCapScriptId | string | ~ 1024文字 | ランクキャップを動的に決定するスクリプト | ||
changeExperienceScript | ScriptSetting | 経験値変化したときに実行するスクリプト | |||
changeRankScript | ScriptSetting | ランク変化したときに実行するスクリプト | |||
changeRankCapScript | ScriptSetting | ランクキャップ変化したときに実行するスクリプト | |||
overflowExperienceScript | ScriptSetting | 経験値あふれしたときに実行するスクリプト | |||
logSetting | LogSetting | ログの出力設定 |
GetAttr
型 | 説明 | |
---|---|---|
Item | Namespace | 作成したネームスペース |
実装例
Type: GS2::Experience::Namespace
Properties:
Name: namespace1
Description: null
TransactionSetting: null
ExperienceCapScriptId: null
ChangeExperienceScript: null
ChangeRankScript: null
ChangeRankCapScript: null
OverflowExperienceScript: null
LogSetting:
LoggingNamespaceId: grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1
from gs2_cdk import Stack, core, experience
class SampleStack(Stack):
def __init__(self):
super().__init__()
experience.Namespace(
stack=self,
name="namespace-0001",
options=experience.NamespaceOptions(
log_setting=core.LogSetting(
logging_namespace_id='grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001',
),
),
)
print(SampleStack().yaml()) # Generate Template
class SampleStack extends \Gs2Cdk\Core\Model\Stack
{
function __construct() {
parent::__construct();
new \Gs2Cdk\Experience\Model\Namespace_(
stack: $this,
name: "namespace-0001",
options: new \Gs2Cdk\Experience\Model\Options\NamespaceOptions(
logSetting: new \Gs2Cdk\Core\Model\LogSetting(
loggingNamespaceId: "grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
),
),
);
}
}
print((new SampleStack())->yaml()); // Generate Template
class SampleStack extends io.gs2.cdk.core.model.Stack
{
public SampleStack() {
super();
new io.gs2.cdk.experience.model.Namespace(
this,
"namespace-0001",
new io.gs2.cdk.experience.model.options.NamespaceOptions() {
{
logSetting = new io.gs2.cdk.core.model.LogSetting(
"grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"
);
}
}
);
}
}
System.out.println(new SampleStack().yaml()); // Generate Template
import core from "@/gs2cdk/core";
import experience from "@/gs2cdk/experience";
class SampleStack extends core.Stack
{
public constructor() {
super();
new experience.model.Namespace(
this,
"namespace-0001",
{
logSetting: new core.LogSetting(
"grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"
)
}
);
}
}
console.log(new SampleStack().yaml()); // Generate Template
public class SampleStack : Gs2Cdk.Core.Model.Stack
{
public SampleStack() {
new Gs2Cdk.Gs2Experience.Model.Namespace(
this,
"namespace-0001",
new Gs2Cdk.Gs2Experience.Model.Options.NamespaceOptions {
logSetting = new Gs2Cdk.Core.Model.LogSetting(
"grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"
),
}
);
}
}
Debug.Log(new SampleStack().Yaml()); // Generate Template
CurrentExperienceMaster
現在有効なマスターデータ
GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。
JSONファイルを作成する方法として、マネージメントコンソール上でのマスターデータエディタを提供していますが よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。
JSONファイルの形式についてはドキュメントを参照ください。
型 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|
namespaceName | string | ✓ | ~ 32文字 | ネームスペース名 | |
settings | string | ✓ | ~ 5242880文字 | マスターデータ |
GetAttr
型 | 説明 | |
---|---|---|
Item | CurrentExperienceMaster | 更新した現在有効な経験値設定 |
実装例
Type: GS2::Experience::CurrentExperienceMaster
Properties:
NamespaceName: namespace1
Settings: {
"version": "2019-01-11",
"experienceModels": [
{
"name": "character_ssr",
"metadata": "SSR",
"defaultExperience": 0,
"defaultRankCap": 50,
"maxRankCap": 80,
"rankThreshold": {
"metadata": "CHARACTER",
"values": [
100,
200,
300,
400,
500,
600,
700,
800,
900,
1000,
1100,
1200,
1300,
1400,
1500,
1600,
1700,
1800,
1900,
2000,
2100,
2200,
2300,
2400,
2500,
2600,
2700,
2800,
2900,
3000,
3100,
3200,
3300,
3400,
3500,
3600,
3700,
3800,
3900,
4000,
4100,
4200,
4300,
4400,
4500,
4600,
4700,
4800,
4900,
5000,
5100,
5200,
5300,
5400,
5500,
5600,
5700,
5800,
5900,
6000,
6100,
6200,
6300,
6400,
6500,
6600,
6700,
6800,
6900,
7000,
7100,
7200,
7300,
7400,
7500,
7600,
7700,
7800,
7900
]
}
},
{
"name": "character_sr",
"metadata": "SR",
"defaultExperience": 0,
"defaultRankCap": 40,
"maxRankCap": 70,
"rankThreshold": {
"metadata": "CHARACTER",
"values": [
100,
200,
300,
400,
500,
600,
700,
800,
900,
1000,
1100,
1200,
1300,
1400,
1500,
1600,
1700,
1800,
1900,
2000,
2100,
2200,
2300,
2400,
2500,
2600,
2700,
2800,
2900,
3000,
3100,
3200,
3300,
3400,
3500,
3600,
3700,
3800,
3900,
4000,
4100,
4200,
4300,
4400,
4500,
4600,
4700,
4800,
4900,
5000,
5100,
5200,
5300,
5400,
5500,
5600,
5700,
5800,
5900,
6000,
6100,
6200,
6300,
6400,
6500,
6600,
6700,
6800,
6900,
7000,
7100,
7200,
7300,
7400,
7500,
7600,
7700,
7800,
7900
]
}
},
{
"name": "character_r",
"metadata": "R",
"defaultExperience": 0,
"defaultRankCap": 30,
"maxRankCap": 60,
"rankThreshold": {
"metadata": "CHARACTER",
"values": [
100,
200,
300,
400,
500,
600,
700,
800,
900,
1000,
1100,
1200,
1300,
1400,
1500,
1600,
1700,
1800,
1900,
2000,
2100,
2200,
2300,
2400,
2500,
2600,
2700,
2800,
2900,
3000,
3100,
3200,
3300,
3400,
3500,
3600,
3700,
3800,
3900,
4000,
4100,
4200,
4300,
4400,
4500,
4600,
4700,
4800,
4900,
5000,
5100,
5200,
5300,
5400,
5500,
5600,
5700,
5800,
5900,
6000,
6100,
6200,
6300,
6400,
6500,
6600,
6700,
6800,
6900,
7000,
7100,
7200,
7300,
7400,
7500,
7600,
7700,
7800,
7900
]
}
},
{
"name": "equipment",
"metadata": "EQUIPMENT",
"defaultExperience": 0,
"defaultRankCap": 30,
"maxRankCap": 50,
"rankThreshold": {
"metadata": "EQUIPMENT",
"values": [
200,
400,
600,
800,
1000,
1200,
1400,
1600,
1800,
2000,
2200,
2400,
2600,
2800,
3000,
3200,
3400,
3600,
3800,
4000,
4200,
4400,
4600,
4800,
5000,
5200,
5400,
5600,
5800,
6000,
6200,
6400,
6600,
6800,
7000,
7200,
7400,
7600,
7800,
8000,
8200,
8400,
8600,
8800,
9000,
9200,
9400,
9600,
9800
]
}
},
{
"name": "skill",
"metadata": "SKILL",
"defaultExperience": 0,
"defaultRankCap": 10,
"maxRankCap": 20,
"rankThreshold": {
"metadata": "SKILL",
"values": [
300,
600,
900,
1200,
1500,
1800,
2100,
2400,
2700,
3000,
3300,
3600,
3900,
4200,
4500,
4800,
5100,
5400,
5700
]
}
}
]
}
from gs2_cdk import Stack, core, experience
class SampleStack(Stack):
def __init__(self):
super().__init__()
experience.Namespace(
stack=self,
# 省略
).master_data(
[
experience.ExperienceModel(
name='character_ssr',
default_rank_cap=50,
max_rank_cap=80,
rank_threshold={'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
options=experience.ExperienceModelOptions(
metadata='SSR',
),
),
experience.ExperienceModel(
name='character_sr',
default_rank_cap=40,
max_rank_cap=70,
rank_threshold={'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
options=experience.ExperienceModelOptions(
metadata='SR',
),
),
experience.ExperienceModel(
name='character_r',
default_rank_cap=30,
max_rank_cap=60,
rank_threshold={'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
options=experience.ExperienceModelOptions(
metadata='R',
),
),
experience.ExperienceModel(
name='equipment',
default_rank_cap=30,
max_rank_cap=50,
rank_threshold={'metadata': 'EQUIPMENT', 'values': [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800]},
options=experience.ExperienceModelOptions(
metadata='EQUIPMENT',
),
),
experience.ExperienceModel(
name='skill',
default_rank_cap=10,
max_rank_cap=20,
rank_threshold={'metadata': 'SKILL', 'values': [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800, 5100, 5400, 5700]},
options=experience.ExperienceModelOptions(
metadata='SKILL',
),
),
],
)
print(SampleStack().yaml()) # Generate Template
class SampleStack extends \Gs2Cdk\Core\Model\Stack
{
function __construct() {
parent::__construct();
(new \Gs2Cdk\Experience\Model\Namespace_(
stack: $this,
// 省略
))->masterData(
[
new \Gs2Cdk\Experience\Model\ExperienceModel(
name:"character_ssr",
defaultRankCap:50,
maxRankCap:80,
rankThreshold:{'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
options: new \Gs2Cdk\Experience\Model\Options\ExperienceModelOptions(
metadata:"SSR",
),
),
new \Gs2Cdk\Experience\Model\ExperienceModel(
name:"character_sr",
defaultRankCap:40,
maxRankCap:70,
rankThreshold:{'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
options: new \Gs2Cdk\Experience\Model\Options\ExperienceModelOptions(
metadata:"SR",
),
),
new \Gs2Cdk\Experience\Model\ExperienceModel(
name:"character_r",
defaultRankCap:30,
maxRankCap:60,
rankThreshold:{'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
options: new \Gs2Cdk\Experience\Model\Options\ExperienceModelOptions(
metadata:"R",
),
),
new \Gs2Cdk\Experience\Model\ExperienceModel(
name:"equipment",
defaultRankCap:30,
maxRankCap:50,
rankThreshold:{'metadata': 'EQUIPMENT', 'values': [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800]},
options: new \Gs2Cdk\Experience\Model\Options\ExperienceModelOptions(
metadata:"EQUIPMENT",
),
),
new \Gs2Cdk\Experience\Model\ExperienceModel(
name:"skill",
defaultRankCap:10,
maxRankCap:20,
rankThreshold:{'metadata': 'SKILL', 'values': [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800, 5100, 5400, 5700]},
options: new \Gs2Cdk\Experience\Model\Options\ExperienceModelOptions(
metadata:"SKILL",
),
),
],
);
}
}
print((new SampleStack())->yaml()); // Generate Template
class SampleStack extends io.gs2.cdk.core.model.Stack
{
public SampleStack() {
super();
new io.gs2.cdk.experience.model.Namespace(
this,
// 省略
).masterData(
Arrays.asList(
new io.gs2.cdk.experience.model.ExperienceModel(
"character_ssr",
50L,
80L,
{'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
new io.gs2.cdk.experience.model.options.ExperienceModelOptions() {
{
metadata: "SSR";
}
}
),
new io.gs2.cdk.experience.model.ExperienceModel(
"character_sr",
40L,
70L,
{'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
new io.gs2.cdk.experience.model.options.ExperienceModelOptions() {
{
metadata: "SR";
}
}
),
new io.gs2.cdk.experience.model.ExperienceModel(
"character_r",
30L,
60L,
{'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
new io.gs2.cdk.experience.model.options.ExperienceModelOptions() {
{
metadata: "R";
}
}
),
new io.gs2.cdk.experience.model.ExperienceModel(
"equipment",
30L,
50L,
{'metadata': 'EQUIPMENT', 'values': [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800]},
new io.gs2.cdk.experience.model.options.ExperienceModelOptions() {
{
metadata: "EQUIPMENT";
}
}
),
new io.gs2.cdk.experience.model.ExperienceModel(
"skill",
10L,
20L,
{'metadata': 'SKILL', 'values': [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800, 5100, 5400, 5700]},
new io.gs2.cdk.experience.model.options.ExperienceModelOptions() {
{
metadata: "SKILL";
}
}
)
)
);
}
}
System.out.println(new SampleStack().yaml()); // Generate Template
import core from "@/gs2cdk/core";
import experience from "@/gs2cdk/experience";
class SampleStack extends core.Stack
{
public constructor() {
super();
new experience.model.Namespace(
this,
// 省略
).masterData(
[
new experience.model.ExperienceModel(
"character_ssr",
50,
80,
{'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
{
metadata: "SSR"
}
),
new experience.model.ExperienceModel(
"character_sr",
40,
70,
{'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
{
metadata: "SR"
}
),
new experience.model.ExperienceModel(
"character_r",
30,
60,
{'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
{
metadata: "R"
}
),
new experience.model.ExperienceModel(
"equipment",
30,
50,
{'metadata': 'EQUIPMENT', 'values': [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800]},
{
metadata: "EQUIPMENT"
}
),
new experience.model.ExperienceModel(
"skill",
10,
20,
{'metadata': 'SKILL', 'values': [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800, 5100, 5400, 5700]},
{
metadata: "SKILL"
}
)
]
);
}
}
console.log(new SampleStack().yaml()); // Generate Template
public class SampleStack : Gs2Cdk.Core.Model.Stack
{
public SampleStack() {
new Gs2Cdk.Gs2Experience.Model.Namespace(
this,
// 省略
).MasterData(
new [] {
new Gs2Cdk.Gs2Experience.Model.ExperienceModel(
"character_ssr",
50L,
80L,
{'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
new Gs2Cdk.Gs2Experience.Model.Options.ExperienceModelOptions {
metadata = "SSR",
}
),
new Gs2Cdk.Gs2Experience.Model.ExperienceModel(
"character_sr",
40L,
70L,
{'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
new Gs2Cdk.Gs2Experience.Model.Options.ExperienceModelOptions {
metadata = "SR",
}
),
new Gs2Cdk.Gs2Experience.Model.ExperienceModel(
"character_r",
30L,
60L,
{'metadata': 'CHARACTER', 'values': [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]},
new Gs2Cdk.Gs2Experience.Model.Options.ExperienceModelOptions {
metadata = "R",
}
),
new Gs2Cdk.Gs2Experience.Model.ExperienceModel(
"equipment",
30L,
50L,
{'metadata': 'EQUIPMENT', 'values': [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800]},
new Gs2Cdk.Gs2Experience.Model.Options.ExperienceModelOptions {
metadata = "EQUIPMENT",
}
),
new Gs2Cdk.Gs2Experience.Model.ExperienceModel(
"skill",
10L,
20L,
{'metadata': 'SKILL', 'values': [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800, 5100, 5400, 5700]},
new Gs2Cdk.Gs2Experience.Model.Options.ExperienceModelOptions {
metadata = "SKILL",
}
)
}
);
}
}
Debug.Log(new SampleStack().Yaml()); // Generate Template
AcquireActionRate
報酬加算テーブルマスター
ランクに応じて報酬の量を調整することができます。
型 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|
name | string | ✓ | ~ 128文字 | 報酬加算テーブル名 | |
rates | List<double> | ✓ | ランクごとの加算量(倍率) |
AcquireAction
型 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|
action | enum [] | ✓ | ~ 128文字 | スタンプシートを使用して実行するアクションの種類 | |
request | string | ✓ | ~ 1048576文字 | リクエストのJSON |
GitHubCheckoutSetting
型 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|
apiKeyId | string | ✓ | ~ 1024文字 | GitHub のAPIキーGRN | |
repositoryName | string | ✓ | ~ 1024文字 | リポジトリ名 | |
sourcePath | string | ✓ | ~ 1024文字 | ソースコードのファイルパス | |
referenceType | enum [‘commit_hash’, ‘branch’, ’tag’] | ✓ | ~ 128文字 | コードの取得元 | |
commitHash | string | {referenceType} == “commit_hash” | ~ 1024文字 | コミットハッシュ | |
branchName | string | {referenceType} == “branch” | ~ 1024文字 | ブランチ名 | |
tagName | string | {referenceType} == “tag” | ~ 1024文字 | タグ名 |
ScriptSetting
型 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|
triggerScriptId | string | ~ 1024文字 | スクリプトGRN | ||
doneTriggerTargetType | enum [’none’, ‘gs2_script’, ‘aws’] | ✓ | “none” | ~ 128文字 | 完了通知の通知先 |
doneTriggerScriptId | string | {doneTriggerTargetType} == “gs2_script” | ~ 1024文字 | スクリプトGRN | |
doneTriggerQueueNamespaceId | string | {doneTriggerTargetType} == “gs2_script” | ~ 1024文字 | ネームスペースGRN |
LogSetting
型 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|
loggingNamespaceId | string | ✓ | ~ 1024文字 | ネームスペースGRN |
TransactionSetting
型 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|
enableAutoRun | bool | ✓ | false | 発行したスタンプシートをサーバーサイドで自動的に実行するか | |
distributorNamespaceId | string | {enableAutoRun} | ~ 1024文字 | スタンプシートの実行に使用する GS2-Distributor ネームスペース | |
keyId | string | !{enableAutoRun} | ~ 1024文字 | スタンプシートの署名に使用する GS2-Key の暗号鍵 | |
queueNamespaceId | string | ~ 1024文字 | スタンプシートの実行に使用する GS2-JobQueue のネームスペース |