diff --git a/development/api/Nekoyume.Action.ActionBase.html b/development/api/Nekoyume.Action.ActionBase.html index 6a77919a65..dd72af31ec 100644 --- a/development/api/Nekoyume.Action.ActionBase.html +++ b/development/api/Nekoyume.Action.ActionBase.html @@ -193,40 +193,6 @@

Fields -

- - - -

- GoldCurrencyMock - -

- -
-
- -
-
protected static readonly Currency GoldCurrencyMock
-
- - - - -

Field Value

-
-
Currency
-
-
- - - - - - - - -

Properties

@@ -235,7 +201,7 @@

Properties

PlainValue - +

Serializes values bound to an action, which is held by properties @@ -279,44 +245,11 @@

Methods

- - -

- CheckActionAvailable(long, IActionContext) - -

- -
-
- -
-
protected void CheckActionAvailable(long startedIndex, IActionContext ctx)
-
- -

Parameters

-
-
startedIndex long
-
-
ctx IActionContext
-
-
- - - - - - - - - - - -

CheckObsolete(long, IActionContext) - +

@@ -349,7 +282,7 @@

Parameters

CheckPermission(IActionContext) - +

@@ -380,7 +313,7 @@

Parameters

Execute(IActionContext) - +

Executes the main game logic of an action. This should be @@ -465,7 +398,7 @@

GetSignerAndOtherAddressesHex(IActionContext, params Address[]) - +

returns "[Signer Address, AvatarState Address, ...]"

@@ -504,7 +437,7 @@

Returns

LoadPlainValue(IValue) - +

Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue @@ -543,51 +476,11 @@

Parameters

- - -

- LogError(IActionContext, string, params object[]) - -

- -
-
- -
-
protected IWorld LogError(IActionContext context, string message, params object[] values)
-
- -

Parameters

-
-
context IActionContext
-
-
message string
-
-
values object[]
-
-
- -

Returns

-
-
IWorld
-
-
- - - - - - - - - - -

TryGetAdminState(IActionContext, out AdminState) - +

@@ -621,42 +514,6 @@

Returns

- - -

- UseV100291Sheets(long) - -

- -
-
- -
-
protected bool UseV100291Sheets(long blockIndex)
-
- -

Parameters

-
-
blockIndex long
-
-
- -

Returns

-
-
bool
-
-
- - - - - - - - - - - diff --git a/development/api/Nekoyume.Action.ActivateCollection.html b/development/api/Nekoyume.Action.ActivateCollection.html index bb5a7b4f81..05f5dc37c4 100644 --- a/development/api/Nekoyume.Action.ActivateCollection.html +++ b/development/api/Nekoyume.Action.ActivateCollection.html @@ -138,15 +138,9 @@

GameAction.LoadPlainValue(IValue)

-
- ActionBase.GoldCurrencyMock -
ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[])
-
- ActionBase.LogError(IActionContext, string, params object[]) -
ActionBase.TryGetAdminState(IActionContext, out AdminState)
@@ -156,12 +150,6 @@

ActionBase.CheckObsolete(long, IActionContext)

-
- ActionBase.UseV100291Sheets(long) -
-
- ActionBase.CheckActionAvailable(long, IActionContext) -
object.Equals(object)
diff --git a/development/api/Nekoyume.Action.AddRedeemCode.html b/development/api/Nekoyume.Action.AddRedeemCode.html index 0a22cb8733..8b1feb7874 100644 --- a/development/api/Nekoyume.Action.AddRedeemCode.html +++ b/development/api/Nekoyume.Action.AddRedeemCode.html @@ -140,15 +140,9 @@

GameAction.LoadPlainValue(IValue)

-
- ActionBase.GoldCurrencyMock -
ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[])
-
- ActionBase.LogError(IActionContext, string, params object[]) -
ActionBase.TryGetAdminState(IActionContext, out AdminState)
@@ -158,12 +152,6 @@

ActionBase.CheckObsolete(long, IActionContext)

-
- ActionBase.UseV100291Sheets(long) -
-
- ActionBase.CheckActionAvailable(long, IActionContext) -
object.Equals(object)
diff --git a/development/api/Nekoyume.Action.AdventureBoss.ClaimAdventureBossReward.html b/development/api/Nekoyume.Action.AdventureBoss.ClaimAdventureBossReward.html index ea64037647..14c851979d 100644 --- a/development/api/Nekoyume.Action.AdventureBoss.ClaimAdventureBossReward.html +++ b/development/api/Nekoyume.Action.AdventureBoss.ClaimAdventureBossReward.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) -
- ActionBase.GoldCurrencyMock -
ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[])
-
- ActionBase.LogError(IActionContext, string, params object[]) -
ActionBase.TryGetAdminState(IActionContext, out AdminState)
@@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) -
- ActionBase.UseV100291Sheets(long) -
-
- ActionBase.CheckActionAvailable(long, IActionContext) -
object.Equals(object)
diff --git a/development/api/Nekoyume.Action.AdventureBoss.ExploreAdventureBoss.html b/development/api/Nekoyume.Action.AdventureBoss.ExploreAdventureBoss.html index 714a656663..620a93dca7 100644 --- a/development/api/Nekoyume.Action.AdventureBoss.ExploreAdventureBoss.html +++ b/development/api/Nekoyume.Action.AdventureBoss.ExploreAdventureBoss.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) -
- ActionBase.GoldCurrencyMock -
ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[])
-
- ActionBase.LogError(IActionContext, string, params object[]) -
ActionBase.TryGetAdminState(IActionContext, out AdminState)
@@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) -
- ActionBase.UseV100291Sheets(long) -
-
- ActionBase.CheckActionAvailable(long, IActionContext) -
object.Equals(object)
diff --git a/development/api/Nekoyume.Action.AdventureBoss.SweepAdventureBoss.html b/development/api/Nekoyume.Action.AdventureBoss.SweepAdventureBoss.html index 8975145ead..44ccf6c4dc 100644 --- a/development/api/Nekoyume.Action.AdventureBoss.SweepAdventureBoss.html +++ b/development/api/Nekoyume.Action.AdventureBoss.SweepAdventureBoss.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) -
- ActionBase.GoldCurrencyMock -
ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[])
-
- ActionBase.LogError(IActionContext, string, params object[]) -
ActionBase.TryGetAdminState(IActionContext, out AdminState)
@@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) -
- ActionBase.UseV100291Sheets(long) -
-
- ActionBase.CheckActionAvailable(long, IActionContext) -
object.Equals(object)
diff --git a/development/api/Nekoyume.Action.AdventureBoss.UnlockFloor.html b/development/api/Nekoyume.Action.AdventureBoss.UnlockFloor.html index 6d2d4b01d4..553fc8954d 100644 --- a/development/api/Nekoyume.Action.AdventureBoss.UnlockFloor.html +++ b/development/api/Nekoyume.Action.AdventureBoss.UnlockFloor.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) -
- ActionBase.GoldCurrencyMock -
ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[])
-
- ActionBase.LogError(IActionContext, string, params object[]) -
ActionBase.TryGetAdminState(IActionContext, out AdminState)
@@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) -
- ActionBase.UseV100291Sheets(long) -
-
- ActionBase.CheckActionAvailable(long, IActionContext) -
object.Equals(object)
diff --git a/development/api/Nekoyume.Action.AdventureBoss.Wanted.html b/development/api/Nekoyume.Action.AdventureBoss.Wanted.html index 4411eef74f..8f0656bac9 100644 --- a/development/api/Nekoyume.Action.AdventureBoss.Wanted.html +++ b/development/api/Nekoyume.Action.AdventureBoss.Wanted.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) -
- ActionBase.GoldCurrencyMock -
ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[])
-
- ActionBase.LogError(IActionContext, string, params object[]) -
ActionBase.TryGetAdminState(IActionContext, out AdminState)
@@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) -
- ActionBase.UseV100291Sheets(long) -
-
- ActionBase.CheckActionAvailable(long, IActionContext) -
object.Equals(object)
diff --git a/development/api/Nekoyume.Action.ApprovePledge.html b/development/api/Nekoyume.Action.ApprovePledge.html index 0c2cf821a8..eb12a820fc 100644 --- a/development/api/Nekoyume.Action.ApprovePledge.html +++ b/development/api/Nekoyume.Action.ApprovePledge.html @@ -128,15 +128,9 @@

Inherited Members
-
- ActionBase.GoldCurrencyMock -
ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[])
-
- ActionBase.LogError(IActionContext, string, params object[]) -
ActionBase.TryGetAdminState(IActionContext, out AdminState)
@@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) -
- ActionBase.UseV100291Sheets(long) -
-
- ActionBase.CheckActionAvailable(long, IActionContext) -
object.Equals(object)
diff --git a/development/api/Nekoyume.Action.AuraSummon.html b/development/api/Nekoyume.Action.AuraSummon.html index 85ed2f8705..a158270408 100644 --- a/development/api/Nekoyume.Action.AuraSummon.html +++ b/development/api/Nekoyume.Action.AuraSummon.html @@ -140,15 +140,9 @@

GameAction.LoadPlainValue(IValue) -
- ActionBase.GoldCurrencyMock -
ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[])
-
- ActionBase.LogError(IActionContext, string, params object[]) -
ActionBase.TryGetAdminState(IActionContext, out AdminState)
@@ -158,12 +152,6 @@

ActionBase.CheckObsolete(long, IActionContext) -
- ActionBase.UseV100291Sheets(long) -
-
- ActionBase.CheckActionAvailable(long, IActionContext) -
object.Equals(object)
diff --git a/development/api/Nekoyume.Action.BattleArena.html b/development/api/Nekoyume.Action.BattleArena.html index 795b7a3546..f87df1afd6 100644 --- a/development/api/Nekoyume.Action.BattleArena.html +++ b/development/api/Nekoyume.Action.BattleArena.html @@ -142,15 +142,9 @@

GameAction.LoadPlainValue(IValue) -
- ActionBase.GoldCurrencyMock -
ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[])
-
- ActionBase.LogError(IActionContext, string, params object[]) -
ActionBase.TryGetAdminState(IActionContext, out AdminState)
@@ -160,12 +154,6 @@

ActionBase.CheckObsolete(long, IActionContext) -
- ActionBase.UseV100291Sheets(long) -
-
- ActionBase.CheckActionAvailable(long, IActionContext) -
object.Equals(object)
diff --git a/development/api/Nekoyume.Action.BurnAsset.html b/development/api/Nekoyume.Action.BurnAsset.html index 51c1807378..1bc1397a5e 100644 --- a/development/api/Nekoyume.Action.BurnAsset.html +++ b/development/api/Nekoyume.Action.BurnAsset.html @@ -128,15 +128,9 @@

Inherited Members
-
- ActionBase.GoldCurrencyMock -
ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[])
-
- ActionBase.LogError(IActionContext, string, params object[]) -
ActionBase.TryGetAdminState(IActionContext, out AdminState)
@@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Buy.html b/development/api/Nekoyume.Action.Buy.html index a2fffaf2fe..1c11ad96de 100644 --- a/development/api/Nekoyume.Action.Buy.html +++ b/development/api/Nekoyume.Action.Buy.html @@ -143,15 +143,9 @@

- - @@ -161,12 +155,6 @@

- - diff --git a/development/api/Nekoyume.Action.Buy7.html b/development/api/Nekoyume.Action.Buy7.html index ab54e8142c..1bfae043ce 100644 --- a/development/api/Nekoyume.Action.Buy7.html +++ b/development/api/Nekoyume.Action.Buy7.html @@ -142,15 +142,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -160,12 +154,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.BuyMultiple.html b/development/api/Nekoyume.Action.BuyMultiple.html index 057ce317fd..82ced2aa69 100644 --- a/development/api/Nekoyume.Action.BuyMultiple.html +++ b/development/api/Nekoyume.Action.BuyMultiple.html @@ -146,15 +146,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -164,12 +158,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.BuyProduct.html b/development/api/Nekoyume.Action.BuyProduct.html index a7ea6b3435..dd4ad66db2 100644 --- a/development/api/Nekoyume.Action.BuyProduct.html +++ b/development/api/Nekoyume.Action.BuyProduct.html @@ -138,15 +138,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -156,12 +150,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.CancelProductRegistration.html b/development/api/Nekoyume.Action.CancelProductRegistration.html index 308d1949a8..51a1f23df2 100644 --- a/development/api/Nekoyume.Action.CancelProductRegistration.html +++ b/development/api/Nekoyume.Action.CancelProductRegistration.html @@ -138,15 +138,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -156,12 +150,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ChargeActionPoint.html b/development/api/Nekoyume.Action.ChargeActionPoint.html index bc0f279b80..b973ba3880 100644 --- a/development/api/Nekoyume.Action.ChargeActionPoint.html +++ b/development/api/Nekoyume.Action.ChargeActionPoint.html @@ -145,15 +145,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -163,12 +157,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ClaimItems.html b/development/api/Nekoyume.Action.ClaimItems.html index d738b8f00a..8a3a2b5d48 100644 --- a/development/api/Nekoyume.Action.ClaimItems.html +++ b/development/api/Nekoyume.Action.ClaimItems.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ClaimRaidReward.html b/development/api/Nekoyume.Action.ClaimRaidReward.html index 8617c7f653..48cf1520c7 100644 --- a/development/api/Nekoyume.Action.ClaimRaidReward.html +++ b/development/api/Nekoyume.Action.ClaimRaidReward.html @@ -140,15 +140,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -158,12 +152,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ClaimStakeReward.html b/development/api/Nekoyume.Action.ClaimStakeReward.html index 427fb0cdfa..0ff4bc677f 100644 --- a/development/api/Nekoyume.Action.ClaimStakeReward.html +++ b/development/api/Nekoyume.Action.ClaimStakeReward.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ClaimWordBossKillReward.html b/development/api/Nekoyume.Action.ClaimWordBossKillReward.html index 838d0f91f2..a82951d451 100644 --- a/development/api/Nekoyume.Action.ClaimWordBossKillReward.html +++ b/development/api/Nekoyume.Action.ClaimWordBossKillReward.html @@ -140,15 +140,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -158,12 +152,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.CombinationConsumable.html b/development/api/Nekoyume.Action.CombinationConsumable.html index 6ef1ede2a0..52cae09cff 100644 --- a/development/api/Nekoyume.Action.CombinationConsumable.html +++ b/development/api/Nekoyume.Action.CombinationConsumable.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.CombinationConsumable5.html b/development/api/Nekoyume.Action.CombinationConsumable5.html index 02d98362e0..41cd1132a9 100644 --- a/development/api/Nekoyume.Action.CombinationConsumable5.html +++ b/development/api/Nekoyume.Action.CombinationConsumable5.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.CombinationEquipment.html b/development/api/Nekoyume.Action.CombinationEquipment.html index fe152a80bd..fddcbcee3b 100644 --- a/development/api/Nekoyume.Action.CombinationEquipment.html +++ b/development/api/Nekoyume.Action.CombinationEquipment.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.CreateAvatar.html b/development/api/Nekoyume.Action.CreateAvatar.html index e34c26f83f..bf522866e6 100644 --- a/development/api/Nekoyume.Action.CreateAvatar.html +++ b/development/api/Nekoyume.Action.CreateAvatar.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.CreatePendingActivation.html b/development/api/Nekoyume.Action.CreatePendingActivation.html index 1199d86ed8..104b8f8e77 100644 --- a/development/api/Nekoyume.Action.CreatePendingActivation.html +++ b/development/api/Nekoyume.Action.CreatePendingActivation.html @@ -133,15 +133,9 @@

Inherited Members
- - @@ -151,12 +145,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.CreatePendingActivations.html b/development/api/Nekoyume.Action.CreatePendingActivations.html index 58370909ac..a24d7f057d 100644 --- a/development/api/Nekoyume.Action.CreatePendingActivations.html +++ b/development/api/Nekoyume.Action.CreatePendingActivations.html @@ -133,15 +133,9 @@

Inherited Members
- - @@ -151,12 +145,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.CreatePledge.html b/development/api/Nekoyume.Action.CreatePledge.html index f2b5741758..c66aba0a52 100644 --- a/development/api/Nekoyume.Action.CreatePledge.html +++ b/development/api/Nekoyume.Action.CreatePledge.html @@ -128,15 +128,9 @@

Inherited Members
- - @@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.CustomEquipmentCraft.CustomEquipmentCraft.html b/development/api/Nekoyume.Action.CustomEquipmentCraft.CustomEquipmentCraft.html index b6e08143f3..06076013cd 100644 --- a/development/api/Nekoyume.Action.CustomEquipmentCraft.CustomEquipmentCraft.html +++ b/development/api/Nekoyume.Action.CustomEquipmentCraft.CustomEquipmentCraft.html @@ -129,15 +129,9 @@

Inherited Members
- - @@ -147,12 +141,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.DailyReward.html b/development/api/Nekoyume.Action.DailyReward.html index 0fb51b670d..2bc4e4ec37 100644 --- a/development/api/Nekoyume.Action.DailyReward.html +++ b/development/api/Nekoyume.Action.DailyReward.html @@ -142,15 +142,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -160,12 +154,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.DailyReward2.html b/development/api/Nekoyume.Action.DailyReward2.html index 6fa7f9161f..b3fd66d5f0 100644 --- a/development/api/Nekoyume.Action.DailyReward2.html +++ b/development/api/Nekoyume.Action.DailyReward2.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.EndPledge.html b/development/api/Nekoyume.Action.EndPledge.html index e51ce1ea88..5931470494 100644 --- a/development/api/Nekoyume.Action.EndPledge.html +++ b/development/api/Nekoyume.Action.EndPledge.html @@ -128,15 +128,9 @@

Inherited Members
- - @@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.EventConsumableItemCrafts.html b/development/api/Nekoyume.Action.EventConsumableItemCrafts.html index c8713d6ca2..727c90aabc 100644 --- a/development/api/Nekoyume.Action.EventConsumableItemCrafts.html +++ b/development/api/Nekoyume.Action.EventConsumableItemCrafts.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.EventDungeonBattle.html b/development/api/Nekoyume.Action.EventDungeonBattle.html index 76237fb8f0..751080d66f 100644 --- a/development/api/Nekoyume.Action.EventDungeonBattle.html +++ b/development/api/Nekoyume.Action.EventDungeonBattle.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.EventMaterialItemCrafts.html b/development/api/Nekoyume.Action.EventMaterialItemCrafts.html index c7c4fc72a6..5656eb9f45 100644 --- a/development/api/Nekoyume.Action.EventMaterialItemCrafts.html +++ b/development/api/Nekoyume.Action.EventMaterialItemCrafts.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.GameAction.html b/development/api/Nekoyume.Action.GameAction.html index eb2be15a25..ba22a4d402 100644 --- a/development/api/Nekoyume.Action.GameAction.html +++ b/development/api/Nekoyume.Action.GameAction.html @@ -210,18 +210,12 @@

Inherited Members
- - @@ -231,12 +225,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Garages.BulkUnloadFromGarages.html b/development/api/Nekoyume.Action.Garages.BulkUnloadFromGarages.html index 8670e0d6c7..9084f00ea6 100644 --- a/development/api/Nekoyume.Action.Garages.BulkUnloadFromGarages.html +++ b/development/api/Nekoyume.Action.Garages.BulkUnloadFromGarages.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Garages.DeliverToOthersGarages.html b/development/api/Nekoyume.Action.Garages.DeliverToOthersGarages.html index a95e9fcbc5..f4ec6af4bd 100644 --- a/development/api/Nekoyume.Action.Garages.DeliverToOthersGarages.html +++ b/development/api/Nekoyume.Action.Garages.DeliverToOthersGarages.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Garages.LoadIntoMyGarages.html b/development/api/Nekoyume.Action.Garages.LoadIntoMyGarages.html index 9578bb3f0d..99710b9178 100644 --- a/development/api/Nekoyume.Action.Garages.LoadIntoMyGarages.html +++ b/development/api/Nekoyume.Action.Garages.LoadIntoMyGarages.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Garages.UnloadFromMyGarages.html b/development/api/Nekoyume.Action.Garages.UnloadFromMyGarages.html index 707cdc7713..8b86519f6e 100644 --- a/development/api/Nekoyume.Action.Garages.UnloadFromMyGarages.html +++ b/development/api/Nekoyume.Action.Garages.UnloadFromMyGarages.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Grinding.html b/development/api/Nekoyume.Action.Grinding.html index d6dfafc52f..d4be472b36 100644 --- a/development/api/Nekoyume.Action.Grinding.html +++ b/development/api/Nekoyume.Action.Grinding.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Guild.AcceptGuildApplication.html b/development/api/Nekoyume.Action.Guild.AcceptGuildApplication.html index 7659e2e70a..67c2faabd5 100644 --- a/development/api/Nekoyume.Action.Guild.AcceptGuildApplication.html +++ b/development/api/Nekoyume.Action.Guild.AcceptGuildApplication.html @@ -127,15 +127,9 @@

Inherited Members
- - @@ -145,12 +139,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Guild.ApplyGuild.html b/development/api/Nekoyume.Action.Guild.ApplyGuild.html index 0710a8e8a5..6bb4a3cebf 100644 --- a/development/api/Nekoyume.Action.Guild.ApplyGuild.html +++ b/development/api/Nekoyume.Action.Guild.ApplyGuild.html @@ -127,15 +127,9 @@

Inherited Members
- - @@ -145,12 +139,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Guild.BanGuildMember.html b/development/api/Nekoyume.Action.Guild.BanGuildMember.html index ea271d4906..0a743cf429 100644 --- a/development/api/Nekoyume.Action.Guild.BanGuildMember.html +++ b/development/api/Nekoyume.Action.Guild.BanGuildMember.html @@ -127,15 +127,9 @@

Inherited Members
- - @@ -145,12 +139,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Guild.CancelGuildApplication.html b/development/api/Nekoyume.Action.Guild.CancelGuildApplication.html index 8a28c54f9b..baa235a9b6 100644 --- a/development/api/Nekoyume.Action.Guild.CancelGuildApplication.html +++ b/development/api/Nekoyume.Action.Guild.CancelGuildApplication.html @@ -127,15 +127,9 @@

Inherited Members
- - @@ -145,12 +139,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Guild.MakeGuild.html b/development/api/Nekoyume.Action.Guild.MakeGuild.html index 66a236e539..ac23027582 100644 --- a/development/api/Nekoyume.Action.Guild.MakeGuild.html +++ b/development/api/Nekoyume.Action.Guild.MakeGuild.html @@ -128,15 +128,9 @@

Inherited Members
- - @@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Guild.Migration.MigratePledgeToGuild.html b/development/api/Nekoyume.Action.Guild.Migration.MigratePledgeToGuild.html index 4e76a9cdc2..65b69e2106 100644 --- a/development/api/Nekoyume.Action.Guild.Migration.MigratePledgeToGuild.html +++ b/development/api/Nekoyume.Action.Guild.Migration.MigratePledgeToGuild.html @@ -130,15 +130,9 @@

Inherited Members
- - @@ -148,12 +142,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Guild.QuitGuild.html b/development/api/Nekoyume.Action.Guild.QuitGuild.html index 3a4ce23c9b..0d7322cc0e 100644 --- a/development/api/Nekoyume.Action.Guild.QuitGuild.html +++ b/development/api/Nekoyume.Action.Guild.QuitGuild.html @@ -127,15 +127,9 @@

Inherited Members
- - @@ -145,12 +139,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Guild.RejectGuildApplication.html b/development/api/Nekoyume.Action.Guild.RejectGuildApplication.html index a6b6081a5d..99d1e69ca7 100644 --- a/development/api/Nekoyume.Action.Guild.RejectGuildApplication.html +++ b/development/api/Nekoyume.Action.Guild.RejectGuildApplication.html @@ -127,15 +127,9 @@

Inherited Members
- - @@ -145,12 +139,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Guild.RemoveGuild.html b/development/api/Nekoyume.Action.Guild.RemoveGuild.html index 14579e86bc..dc366c104e 100644 --- a/development/api/Nekoyume.Action.Guild.RemoveGuild.html +++ b/development/api/Nekoyume.Action.Guild.RemoveGuild.html @@ -128,15 +128,9 @@

Inherited Members
- - @@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Guild.UnbanGuildMember.html b/development/api/Nekoyume.Action.Guild.UnbanGuildMember.html index 903116e75e..548e0fa419 100644 --- a/development/api/Nekoyume.Action.Guild.UnbanGuildMember.html +++ b/development/api/Nekoyume.Action.Guild.UnbanGuildMember.html @@ -127,15 +127,9 @@

Inherited Members
- - @@ -145,12 +139,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.HackAndSlash.html b/development/api/Nekoyume.Action.HackAndSlash.html index a3826eac3c..5cfbacaf35 100644 --- a/development/api/Nekoyume.Action.HackAndSlash.html +++ b/development/api/Nekoyume.Action.HackAndSlash.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.HackAndSlashRandomBuff.html b/development/api/Nekoyume.Action.HackAndSlashRandomBuff.html index c16b4ea470..8096581aec 100644 --- a/development/api/Nekoyume.Action.HackAndSlashRandomBuff.html +++ b/development/api/Nekoyume.Action.HackAndSlashRandomBuff.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.HackAndSlashSweep.html b/development/api/Nekoyume.Action.HackAndSlashSweep.html index 96176b20d1..7e02a1eb49 100644 --- a/development/api/Nekoyume.Action.HackAndSlashSweep.html +++ b/development/api/Nekoyume.Action.HackAndSlashSweep.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.InitializeStates.html b/development/api/Nekoyume.Action.InitializeStates.html index 3b4e12ad73..30bfda2d31 100644 --- a/development/api/Nekoyume.Action.InitializeStates.html +++ b/development/api/Nekoyume.Action.InitializeStates.html @@ -155,15 +155,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -173,12 +167,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.IssueToken.html b/development/api/Nekoyume.Action.IssueToken.html index e33bbc4114..a559657e76 100644 --- a/development/api/Nekoyume.Action.IssueToken.html +++ b/development/api/Nekoyume.Action.IssueToken.html @@ -128,15 +128,9 @@

Inherited Members
- - @@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.IssueTokensFromGarage.html b/development/api/Nekoyume.Action.IssueTokensFromGarage.html index 1f6906f32f..b056d81701 100644 --- a/development/api/Nekoyume.Action.IssueTokensFromGarage.html +++ b/development/api/Nekoyume.Action.IssueTokensFromGarage.html @@ -128,15 +128,9 @@

Inherited Members
- - @@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ItemEnhancement.html b/development/api/Nekoyume.Action.ItemEnhancement.html index 03689739f4..fdb1e7f27f 100644 --- a/development/api/Nekoyume.Action.ItemEnhancement.html +++ b/development/api/Nekoyume.Action.ItemEnhancement.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ItemEnhancement10.html b/development/api/Nekoyume.Action.ItemEnhancement10.html index 7328b8c679..13e31ed833 100644 --- a/development/api/Nekoyume.Action.ItemEnhancement10.html +++ b/development/api/Nekoyume.Action.ItemEnhancement10.html @@ -142,15 +142,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -160,12 +154,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ItemEnhancement11.html b/development/api/Nekoyume.Action.ItemEnhancement11.html index 0dcebaf424..64d5f95496 100644 --- a/development/api/Nekoyume.Action.ItemEnhancement11.html +++ b/development/api/Nekoyume.Action.ItemEnhancement11.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ItemEnhancement12.html b/development/api/Nekoyume.Action.ItemEnhancement12.html index 9af2986375..59146c04dc 100644 --- a/development/api/Nekoyume.Action.ItemEnhancement12.html +++ b/development/api/Nekoyume.Action.ItemEnhancement12.html @@ -142,15 +142,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -160,12 +154,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ItemEnhancement13.html b/development/api/Nekoyume.Action.ItemEnhancement13.html index 77b8e5e7e6..0c8df8f135 100644 --- a/development/api/Nekoyume.Action.ItemEnhancement13.html +++ b/development/api/Nekoyume.Action.ItemEnhancement13.html @@ -142,15 +142,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -160,12 +154,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ItemEnhancement7.html b/development/api/Nekoyume.Action.ItemEnhancement7.html index e97f0180ff..18c3f81b04 100644 --- a/development/api/Nekoyume.Action.ItemEnhancement7.html +++ b/development/api/Nekoyume.Action.ItemEnhancement7.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ItemEnhancement9.html b/development/api/Nekoyume.Action.ItemEnhancement9.html index 386128c9e0..1fcc45c118 100644 --- a/development/api/Nekoyume.Action.ItemEnhancement9.html +++ b/development/api/Nekoyume.Action.ItemEnhancement9.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.JoinArena.html b/development/api/Nekoyume.Action.JoinArena.html index c397d38719..8bffa44d58 100644 --- a/development/api/Nekoyume.Action.JoinArena.html +++ b/development/api/Nekoyume.Action.JoinArena.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.JoinArena1.html b/development/api/Nekoyume.Action.JoinArena1.html index 4e77762be4..a614789d1a 100644 --- a/development/api/Nekoyume.Action.JoinArena1.html +++ b/development/api/Nekoyume.Action.JoinArena1.html @@ -142,15 +142,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -160,12 +154,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.JoinArena3.html b/development/api/Nekoyume.Action.JoinArena3.html index eb28cd0fc9..a47a181b7d 100644 --- a/development/api/Nekoyume.Action.JoinArena3.html +++ b/development/api/Nekoyume.Action.JoinArena3.html @@ -142,15 +142,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -160,12 +154,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.MigrateAgentAvatar.html b/development/api/Nekoyume.Action.MigrateAgentAvatar.html index 53d71776ef..f27bfa0ef7 100644 --- a/development/api/Nekoyume.Action.MigrateAgentAvatar.html +++ b/development/api/Nekoyume.Action.MigrateAgentAvatar.html @@ -128,15 +128,9 @@

Inherited Members
- - @@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.MigrateFee.html b/development/api/Nekoyume.Action.MigrateFee.html index b19470f5a1..132d8477e4 100644 --- a/development/api/Nekoyume.Action.MigrateFee.html +++ b/development/api/Nekoyume.Action.MigrateFee.html @@ -128,15 +128,9 @@

Inherited Members
- - @@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.MigrateMonsterCollection.html b/development/api/Nekoyume.Action.MigrateMonsterCollection.html index 34be11997d..9569c73a23 100644 --- a/development/api/Nekoyume.Action.MigrateMonsterCollection.html +++ b/development/api/Nekoyume.Action.MigrateMonsterCollection.html @@ -132,15 +132,9 @@

Inherited Members
- - @@ -150,12 +144,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.MigrationActivatedAccountsState.html b/development/api/Nekoyume.Action.MigrationActivatedAccountsState.html index ee5e9f471b..cac025c30c 100644 --- a/development/api/Nekoyume.Action.MigrationActivatedAccountsState.html +++ b/development/api/Nekoyume.Action.MigrationActivatedAccountsState.html @@ -140,15 +140,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -158,12 +152,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.MintAssets.html b/development/api/Nekoyume.Action.MintAssets.html index ec08ad6b0a..865b981760 100644 --- a/development/api/Nekoyume.Action.MintAssets.html +++ b/development/api/Nekoyume.Action.MintAssets.html @@ -128,15 +128,9 @@

Inherited Members
- - @@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.PatchTableSheet.html b/development/api/Nekoyume.Action.PatchTableSheet.html index 5a2cb9b9c1..98bbe8a78c 100644 --- a/development/api/Nekoyume.Action.PatchTableSheet.html +++ b/development/api/Nekoyume.Action.PatchTableSheet.html @@ -147,15 +147,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -165,12 +159,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.PetEnhancement.html b/development/api/Nekoyume.Action.PetEnhancement.html index 6aae5cfeb1..ca115d99c1 100644 --- a/development/api/Nekoyume.Action.PetEnhancement.html +++ b/development/api/Nekoyume.Action.PetEnhancement.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.PrepareRewardAssets.html b/development/api/Nekoyume.Action.PrepareRewardAssets.html index 8c062ec9bf..c6e8cbdec8 100644 --- a/development/api/Nekoyume.Action.PrepareRewardAssets.html +++ b/development/api/Nekoyume.Action.PrepareRewardAssets.html @@ -129,15 +129,9 @@

Inherited Members
- - @@ -147,12 +141,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Raid.html b/development/api/Nekoyume.Action.Raid.html index 7385041590..92ace5689b 100644 --- a/development/api/Nekoyume.Action.Raid.html +++ b/development/api/Nekoyume.Action.Raid.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RankingBattle.html b/development/api/Nekoyume.Action.RankingBattle.html index 50aed80eb9..e874abfa83 100644 --- a/development/api/Nekoyume.Action.RankingBattle.html +++ b/development/api/Nekoyume.Action.RankingBattle.html @@ -143,15 +143,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -161,12 +155,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RankingBattle11.html b/development/api/Nekoyume.Action.RankingBattle11.html index 21aae8d3c1..7a69129e73 100644 --- a/development/api/Nekoyume.Action.RankingBattle11.html +++ b/development/api/Nekoyume.Action.RankingBattle11.html @@ -142,15 +142,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -160,12 +154,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RapidCombination.html b/development/api/Nekoyume.Action.RapidCombination.html index 1ae16b085a..44742b46d5 100644 --- a/development/api/Nekoyume.Action.RapidCombination.html +++ b/development/api/Nekoyume.Action.RapidCombination.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RapidCombination0.html b/development/api/Nekoyume.Action.RapidCombination0.html index ebd7e5084d..ddeefb7def 100644 --- a/development/api/Nekoyume.Action.RapidCombination0.html +++ b/development/api/Nekoyume.Action.RapidCombination0.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RapidCombination5.html b/development/api/Nekoyume.Action.RapidCombination5.html index 0ad3e0bffb..55d6119d9b 100644 --- a/development/api/Nekoyume.Action.RapidCombination5.html +++ b/development/api/Nekoyume.Action.RapidCombination5.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.ReRegisterProduct.html b/development/api/Nekoyume.Action.ReRegisterProduct.html index bb19efd239..31f80aed71 100644 --- a/development/api/Nekoyume.Action.ReRegisterProduct.html +++ b/development/api/Nekoyume.Action.ReRegisterProduct.html @@ -138,15 +138,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -156,12 +150,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RedeemCode.html b/development/api/Nekoyume.Action.RedeemCode.html index bdad0bc6ae..fa01c18c39 100644 --- a/development/api/Nekoyume.Action.RedeemCode.html +++ b/development/api/Nekoyume.Action.RedeemCode.html @@ -143,15 +143,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -161,12 +155,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RedeemCode2.html b/development/api/Nekoyume.Action.RedeemCode2.html index 9da623a80e..3a586b8896 100644 --- a/development/api/Nekoyume.Action.RedeemCode2.html +++ b/development/api/Nekoyume.Action.RedeemCode2.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RegisterProduct.html b/development/api/Nekoyume.Action.RegisterProduct.html index 84d10aa1dd..5181a5b9c8 100644 --- a/development/api/Nekoyume.Action.RegisterProduct.html +++ b/development/api/Nekoyume.Action.RegisterProduct.html @@ -138,15 +138,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -156,12 +150,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RegisterProduct0.html b/development/api/Nekoyume.Action.RegisterProduct0.html index 68ece6ed34..d1cb5fc6d7 100644 --- a/development/api/Nekoyume.Action.RegisterProduct0.html +++ b/development/api/Nekoyume.Action.RegisterProduct0.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RenewAdminState.html b/development/api/Nekoyume.Action.RenewAdminState.html index 7486790389..ed08a05a49 100644 --- a/development/api/Nekoyume.Action.RenewAdminState.html +++ b/development/api/Nekoyume.Action.RenewAdminState.html @@ -143,15 +143,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -161,12 +155,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RequestPledge.html b/development/api/Nekoyume.Action.RequestPledge.html index 790183db3f..e7cd054028 100644 --- a/development/api/Nekoyume.Action.RequestPledge.html +++ b/development/api/Nekoyume.Action.RequestPledge.html @@ -128,15 +128,9 @@

Inherited Members
- - @@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RetrieveAvatarAssets.html b/development/api/Nekoyume.Action.RetrieveAvatarAssets.html index 9adb7a0b27..23bcb37087 100644 --- a/development/api/Nekoyume.Action.RetrieveAvatarAssets.html +++ b/development/api/Nekoyume.Action.RetrieveAvatarAssets.html @@ -129,15 +129,9 @@

Inherited Members
- - @@ -147,12 +141,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RewardGold.html b/development/api/Nekoyume.Action.RewardGold.html index a0d8f5f678..a60fcfe855 100644 --- a/development/api/Nekoyume.Action.RewardGold.html +++ b/development/api/Nekoyume.Action.RewardGold.html @@ -131,15 +131,9 @@

Inherited Members
- - @@ -149,12 +143,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RuneEnhancement.html b/development/api/Nekoyume.Action.RuneEnhancement.html index 8da5273462..5fe4733143 100644 --- a/development/api/Nekoyume.Action.RuneEnhancement.html +++ b/development/api/Nekoyume.Action.RuneEnhancement.html @@ -140,15 +140,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -158,12 +152,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.RuneSummon.html b/development/api/Nekoyume.Action.RuneSummon.html index 812c6133f6..1c17826301 100644 --- a/development/api/Nekoyume.Action.RuneSummon.html +++ b/development/api/Nekoyume.Action.RuneSummon.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.SecureMiningReward.html b/development/api/Nekoyume.Action.SecureMiningReward.html index da5eec84eb..75297fc897 100644 --- a/development/api/Nekoyume.Action.SecureMiningReward.html +++ b/development/api/Nekoyume.Action.SecureMiningReward.html @@ -129,15 +129,9 @@

Inherited Members
- - @@ -147,12 +141,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Sell.html b/development/api/Nekoyume.Action.Sell.html index b5c9a7e744..7e7976c264 100644 --- a/development/api/Nekoyume.Action.Sell.html +++ b/development/api/Nekoyume.Action.Sell.html @@ -142,15 +142,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -160,12 +154,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Sell6.html b/development/api/Nekoyume.Action.Sell6.html index b8bd114f51..489527c766 100644 --- a/development/api/Nekoyume.Action.Sell6.html +++ b/development/api/Nekoyume.Action.Sell6.html @@ -141,15 +141,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -159,12 +153,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.SellCancellation.html b/development/api/Nekoyume.Action.SellCancellation.html index 2054bb2953..fd205093f4 100644 --- a/development/api/Nekoyume.Action.SellCancellation.html +++ b/development/api/Nekoyume.Action.SellCancellation.html @@ -146,15 +146,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -164,12 +158,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Stake.html b/development/api/Nekoyume.Action.Stake.html index c52187e0ff..7b17f7c5e4 100644 --- a/development/api/Nekoyume.Action.Stake.html +++ b/development/api/Nekoyume.Action.Stake.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.Stake2.html b/development/api/Nekoyume.Action.Stake2.html index 752fef440b..c860ab9dc4 100644 --- a/development/api/Nekoyume.Action.Stake2.html +++ b/development/api/Nekoyume.Action.Stake2.html @@ -140,15 +140,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -158,12 +152,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.TransferAsset.html b/development/api/Nekoyume.Action.TransferAsset.html index 88f790aead..d398ffb62b 100644 --- a/development/api/Nekoyume.Action.TransferAsset.html +++ b/development/api/Nekoyume.Action.TransferAsset.html @@ -134,15 +134,9 @@

Inherited Members
- - @@ -152,12 +146,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.TransferAssets.html b/development/api/Nekoyume.Action.TransferAssets.html index 29d7f32e10..0f3369aa88 100644 --- a/development/api/Nekoyume.Action.TransferAssets.html +++ b/development/api/Nekoyume.Action.TransferAssets.html @@ -134,15 +134,9 @@

Inherited Members
- - @@ -152,12 +146,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.UnlockCombinationSlot.html b/development/api/Nekoyume.Action.UnlockCombinationSlot.html index 7fee4a7ab2..e31dc04267 100644 --- a/development/api/Nekoyume.Action.UnlockCombinationSlot.html +++ b/development/api/Nekoyume.Action.UnlockCombinationSlot.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.UnlockEquipmentRecipe.html b/development/api/Nekoyume.Action.UnlockEquipmentRecipe.html index f67de460be..28fcfd1fe8 100644 --- a/development/api/Nekoyume.Action.UnlockEquipmentRecipe.html +++ b/development/api/Nekoyume.Action.UnlockEquipmentRecipe.html @@ -139,15 +139,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -157,12 +151,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.UnlockRuneSlot.html b/development/api/Nekoyume.Action.UnlockRuneSlot.html index 8388754b97..c2ad57b131 100644 --- a/development/api/Nekoyume.Action.UnlockRuneSlot.html +++ b/development/api/Nekoyume.Action.UnlockRuneSlot.html @@ -140,15 +140,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -158,12 +152,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.UnlockWorld.html b/development/api/Nekoyume.Action.UnlockWorld.html index 5e71e8bec1..5b831c4f1b 100644 --- a/development/api/Nekoyume.Action.UnlockWorld.html +++ b/development/api/Nekoyume.Action.UnlockWorld.html @@ -140,15 +140,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -158,12 +152,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.Action.UpdateSell.html b/development/api/Nekoyume.Action.UpdateSell.html index 2539b9427d..fa12c9ecac 100644 --- a/development/api/Nekoyume.Action.UpdateSell.html +++ b/development/api/Nekoyume.Action.UpdateSell.html @@ -142,15 +142,9 @@

GameAction.LoadPlainValue(IValue) - - @@ -160,12 +154,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/Nekoyume.PolicyAction.Tx.Begin.AutoJoinGuild.html b/development/api/Nekoyume.PolicyAction.Tx.Begin.AutoJoinGuild.html index 9852279e06..a6dcba8d6c 100644 --- a/development/api/Nekoyume.PolicyAction.Tx.Begin.AutoJoinGuild.html +++ b/development/api/Nekoyume.PolicyAction.Tx.Begin.AutoJoinGuild.html @@ -128,15 +128,9 @@

Inherited Members
- - @@ -146,12 +140,6 @@

ActionBase.CheckObsolete(long, IActionContext) - - diff --git a/development/api/toc.pdf b/development/api/toc.pdf index 1e041721f4..c92aee7043 100644 Binary files a/development/api/toc.pdf and b/development/api/toc.pdf differ diff --git a/development/articles/currencies/toc.pdf b/development/articles/currencies/toc.pdf index 678d5ca14e..ad5ef9b8cd 100644 Binary files a/development/articles/currencies/toc.pdf and b/development/articles/currencies/toc.pdf differ diff --git a/development/articles/system/avatar/toc.pdf b/development/articles/system/avatar/toc.pdf index a3214dabb4..203db82869 100644 Binary files a/development/articles/system/avatar/toc.pdf and b/development/articles/system/avatar/toc.pdf differ diff --git a/development/articles/system/toc.pdf b/development/articles/system/toc.pdf index dcf45a171f..546f7ee1df 100644 Binary files a/development/articles/system/toc.pdf and b/development/articles/system/toc.pdf differ diff --git a/development/articles/toc.pdf b/development/articles/toc.pdf index 24b76364eb..8d2676bda2 100644 Binary files a/development/articles/toc.pdf and b/development/articles/toc.pdf differ diff --git a/development/contributing/documentation/toc.pdf b/development/contributing/documentation/toc.pdf index 919e738dbf..8b85931fbd 100644 Binary files a/development/contributing/documentation/toc.pdf and b/development/contributing/documentation/toc.pdf differ diff --git a/development/contributing/toc.pdf b/development/contributing/toc.pdf index 46cb1c7617..fc5fe5eaf5 100644 Binary files a/development/contributing/toc.pdf and b/development/contributing/toc.pdf differ diff --git a/development/index.json b/development/index.json index 3e4aeceb2c..b0d89356ec 100644 --- a/development/index.json +++ b/development/index.json @@ -77,7 +77,7 @@ "api/Nekoyume.Action.ActionBase.html": { "href": "api/Nekoyume.Action.ActionBase.html", "title": "Class ActionBase | Lib9c", - "keywords": "Class ActionBase Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] public abstract class ActionBase : IAction Inheritance object ActionBase Implements IAction Derived ApprovePledge BurnAsset CreatePendingActivation CreatePendingActivations CreatePledge CustomEquipmentCraft EndPledge GameAction AcceptGuildApplication ApplyGuild BanGuildMember CancelGuildApplication MakeGuild MigratePledgeToGuild QuitGuild RejectGuildApplication RemoveGuild UnbanGuildMember IssueToken IssueTokensFromGarage MigrateAgentAvatar MigrateFee MigrateMonsterCollection MintAssets PrepareRewardAssets RequestPledge RetrieveAvatarAssets RewardGold SecureMiningReward TransferAsset TransferAssets ValidatorSetOperate AutoJoinGuild Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields GoldCurrencyMock protected static readonly Currency GoldCurrencyMock Field Value Currency Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public abstract IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods CheckActionAvailable(long, IActionContext) protected void CheckActionAvailable(long startedIndex, IActionContext ctx) Parameters startedIndex long ctx IActionContext CheckObsolete(long, IActionContext) protected void CheckObsolete(long obsoleteIndex, IActionContext ctx) Parameters obsoleteIndex long ctx IActionContext CheckPermission(IActionContext) protected void CheckPermission(IActionContext ctx) Parameters ctx IActionContext Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public abstract IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetSignerAndOtherAddressesHex(IActionContext, params Address[]) returns \"[Signer Address, AvatarState Address, ...]\" protected string GetSignerAndOtherAddressesHex(IActionContext ctx, params Address[] addresses) Parameters ctx IActionContext addresses Address[] Returns string LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public abstract void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue LogError(IActionContext, string, params object[]) protected IWorld LogError(IActionContext context, string message, params object[] values) Parameters context IActionContext message string values object[] Returns IWorld TryGetAdminState(IActionContext, out AdminState) protected bool TryGetAdminState(IActionContext ctx, out AdminState state) Parameters ctx IActionContext state AdminState Returns bool UseV100291Sheets(long) protected bool UseV100291Sheets(long blockIndex) Parameters blockIndex long Returns bool" + "keywords": "Class ActionBase Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] public abstract class ActionBase : IAction Inheritance object ActionBase Implements IAction Derived ApprovePledge BurnAsset CreatePendingActivation CreatePendingActivations CreatePledge CustomEquipmentCraft EndPledge GameAction AcceptGuildApplication ApplyGuild BanGuildMember CancelGuildApplication MakeGuild MigratePledgeToGuild QuitGuild RejectGuildApplication RemoveGuild UnbanGuildMember IssueToken IssueTokensFromGarage MigrateAgentAvatar MigrateFee MigrateMonsterCollection MintAssets PrepareRewardAssets RequestPledge RetrieveAvatarAssets RewardGold SecureMiningReward TransferAsset TransferAssets ValidatorSetOperate AutoJoinGuild Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public abstract IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods CheckObsolete(long, IActionContext) protected void CheckObsolete(long obsoleteIndex, IActionContext ctx) Parameters obsoleteIndex long ctx IActionContext CheckPermission(IActionContext) protected void CheckPermission(IActionContext ctx) Parameters ctx IActionContext Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public abstract IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetSignerAndOtherAddressesHex(IActionContext, params Address[]) returns \"[Signer Address, AvatarState Address, ...]\" protected string GetSignerAndOtherAddressesHex(IActionContext ctx, params Address[] addresses) Parameters ctx IActionContext addresses Address[] Returns string LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public abstract void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue TryGetAdminState(IActionContext, out AdminState) protected bool TryGetAdminState(IActionContext ctx, out AdminState state) Parameters ctx IActionContext state AdminState Returns bool" }, "api/Nekoyume.Action.ActionContextExtensions.html": { "href": "api/Nekoyume.Action.ActionContextExtensions.html", @@ -107,7 +107,7 @@ "api/Nekoyume.Action.ActivateCollection.html": { "href": "api/Nekoyume.Action.ActivateCollection.html", "title": "Class ActivateCollection | Lib9c", - "keywords": "Class ActivateCollection Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"activate_collection\")] public class ActivateCollection : GameAction, IAction Inheritance object ActionBase GameAction ActivateCollection Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address CollectionData public List<(int collectionId, List materials)> CollectionData Field Value List<(int collectionId, List materials)> Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class ActivateCollection Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"activate_collection\")] public class ActivateCollection : GameAction, IAction Inheritance object ActionBase GameAction ActivateCollection Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address CollectionData public List<(int collectionId, List materials)> CollectionData Field Value List<(int collectionId, List materials)> Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.ActivatedAccountsDoesNotExistsException.html": { "href": "api/Nekoyume.Action.ActivatedAccountsDoesNotExistsException.html", @@ -122,7 +122,7 @@ "api/Nekoyume.Action.AddRedeemCode.html": { "href": "api/Nekoyume.Action.AddRedeemCode.html", "title": "Class AddRedeemCode | Lib9c", - "keywords": "Class AddRedeemCode Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"add_redeem_code\")] public class AddRedeemCode : GameAction, IAction, IAddRedeemCodeV1 Inheritance object ActionBase GameAction AddRedeemCode Implements IAction IAddRedeemCodeV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields redeemCsv public string redeemCsv Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class AddRedeemCode Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"add_redeem_code\")] public class AddRedeemCode : GameAction, IAction, IAddRedeemCodeV1 Inheritance object ActionBase GameAction AddRedeemCode Implements IAction IAddRedeemCodeV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields redeemCsv public string redeemCsv Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.AddressExtension.html": { "href": "api/Nekoyume.Action.AddressExtension.html", @@ -137,27 +137,27 @@ "api/Nekoyume.Action.AdventureBoss.ClaimAdventureBossReward.html": { "href": "api/Nekoyume.Action.AdventureBoss.ClaimAdventureBossReward.html", "title": "Class ClaimAdventureBossReward | Lib9c", - "keywords": "Class ClaimAdventureBossReward Namespace Nekoyume.Action.AdventureBoss Assembly Lib9c.dll [Serializable] [ActionType(\"claim_adventure_boss_reward\")] public class ClaimAdventureBossReward : GameAction, IAction Inheritance object ActionBase GameAction ClaimAdventureBossReward Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address TypeIdentifier public const string TypeIdentifier = \"claim_adventure_boss_reward\" Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class ClaimAdventureBossReward Namespace Nekoyume.Action.AdventureBoss Assembly Lib9c.dll [Serializable] [ActionType(\"claim_adventure_boss_reward\")] public class ClaimAdventureBossReward : GameAction, IAction Inheritance object ActionBase GameAction ClaimAdventureBossReward Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address TypeIdentifier public const string TypeIdentifier = \"claim_adventure_boss_reward\" Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.AdventureBoss.ExploreAdventureBoss.html": { "href": "api/Nekoyume.Action.AdventureBoss.ExploreAdventureBoss.html", "title": "Class ExploreAdventureBoss | Lib9c", - "keywords": "Class ExploreAdventureBoss Namespace Nekoyume.Action.AdventureBoss Assembly Lib9c.dll [Serializable] [ActionType(\"explore_adventure_boss\")] public class ExploreAdventureBoss : GameAction, IAction Inheritance object ActionBase GameAction ExploreAdventureBoss Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Costumes public List Costumes Field Value List Equipments public List Equipments Field Value List Foods public List Foods Field Value List RuneInfos public List RuneInfos Field Value List Season public int Season Field Value int StageBuffId public int? StageBuffId Field Value int? TypeIdentifier public const string TypeIdentifier = \"explore_adventure_boss\" Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class ExploreAdventureBoss Namespace Nekoyume.Action.AdventureBoss Assembly Lib9c.dll [Serializable] [ActionType(\"explore_adventure_boss\")] public class ExploreAdventureBoss : GameAction, IAction Inheritance object ActionBase GameAction ExploreAdventureBoss Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Costumes public List Costumes Field Value List Equipments public List Equipments Field Value List Foods public List Foods Field Value List RuneInfos public List RuneInfos Field Value List Season public int Season Field Value int StageBuffId public int? StageBuffId Field Value int? TypeIdentifier public const string TypeIdentifier = \"explore_adventure_boss\" Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.AdventureBoss.SweepAdventureBoss.html": { "href": "api/Nekoyume.Action.AdventureBoss.SweepAdventureBoss.html", "title": "Class SweepAdventureBoss | Lib9c", - "keywords": "Class SweepAdventureBoss Namespace Nekoyume.Action.AdventureBoss Assembly Lib9c.dll [Serializable] [ActionType(\"sweep_adventure_boss\")] public class SweepAdventureBoss : GameAction, IAction Inheritance object ActionBase GameAction SweepAdventureBoss Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Costumes public List Costumes Field Value List Equipments public List Equipments Field Value List RuneInfos public List RuneInfos Field Value List Season public int Season Field Value int TypeIdentifier public const string TypeIdentifier = \"sweep_adventure_boss\" Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class SweepAdventureBoss Namespace Nekoyume.Action.AdventureBoss Assembly Lib9c.dll [Serializable] [ActionType(\"sweep_adventure_boss\")] public class SweepAdventureBoss : GameAction, IAction Inheritance object ActionBase GameAction SweepAdventureBoss Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Costumes public List Costumes Field Value List Equipments public List Equipments Field Value List RuneInfos public List RuneInfos Field Value List Season public int Season Field Value int TypeIdentifier public const string TypeIdentifier = \"sweep_adventure_boss\" Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.AdventureBoss.UnlockFloor.html": { "href": "api/Nekoyume.Action.AdventureBoss.UnlockFloor.html", "title": "Class UnlockFloor | Lib9c", - "keywords": "Class UnlockFloor Namespace Nekoyume.Action.AdventureBoss Assembly Lib9c.dll [Serializable] [ActionType(\"unlock_floor\")] public class UnlockFloor : GameAction, IAction Inheritance object ActionBase GameAction UnlockFloor Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address GoldenDustId public const int GoldenDustId = 600201 Field Value int OpeningFloor public const int OpeningFloor = 5 Field Value int Season public int Season Field Value int TotalFloor public const int TotalFloor = 20 Field Value int TypeIdentifier public const string TypeIdentifier = \"unlock_floor\" Field Value string UseNcg public bool UseNcg Field Value bool Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class UnlockFloor Namespace Nekoyume.Action.AdventureBoss Assembly Lib9c.dll [Serializable] [ActionType(\"unlock_floor\")] public class UnlockFloor : GameAction, IAction Inheritance object ActionBase GameAction UnlockFloor Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address GoldenDustId public const int GoldenDustId = 600201 Field Value int OpeningFloor public const int OpeningFloor = 5 Field Value int Season public int Season Field Value int TotalFloor public const int TotalFloor = 20 Field Value int TypeIdentifier public const string TypeIdentifier = \"unlock_floor\" Field Value string UseNcg public bool UseNcg Field Value bool Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.AdventureBoss.Wanted.html": { "href": "api/Nekoyume.Action.AdventureBoss.Wanted.html", "title": "Class Wanted | Lib9c", - "keywords": "Class Wanted Namespace Nekoyume.Action.AdventureBoss Assembly Lib9c.dll [Serializable] [ActionType(\"wanted\")] public class Wanted : GameAction, IAction Inheritance object ActionBase GameAction Wanted Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Bounty public FungibleAssetValue Bounty Field Value FungibleAssetValue Season public int Season Field Value int TypeIdentifier public const string TypeIdentifier = \"wanted\" Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class Wanted Namespace Nekoyume.Action.AdventureBoss Assembly Lib9c.dll [Serializable] [ActionType(\"wanted\")] public class Wanted : GameAction, IAction Inheritance object ActionBase GameAction Wanted Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Bounty public FungibleAssetValue Bounty Field Value FungibleAssetValue Season public int Season Field Value int TypeIdentifier public const string TypeIdentifier = \"wanted\" Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.AdventureBoss.html": { "href": "api/Nekoyume.Action.AdventureBoss.html", @@ -202,7 +202,7 @@ "api/Nekoyume.Action.ApprovePledge.html": { "href": "api/Nekoyume.Action.ApprovePledge.html", "title": "Class ApprovePledge | Lib9c", - "keywords": "Class ApprovePledge Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"approve_pledge\")] public class ApprovePledge : ActionBase, IAction Inheritance object ActionBase ApprovePledge Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ApprovePledge() public ApprovePledge() Fields PatronAddress public Address PatronAddress Field Value Address TypeIdentifier public const string TypeIdentifier = \"approve_pledge\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class ApprovePledge Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"approve_pledge\")] public class ApprovePledge : ActionBase, IAction Inheritance object ActionBase ApprovePledge Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ApprovePledge() public ApprovePledge() Fields PatronAddress public Address PatronAddress Field Value Address TypeIdentifier public const string TypeIdentifier = \"approve_pledge\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.ArenaNotEndedException.html": { "href": "api/Nekoyume.Action.ArenaNotEndedException.html", @@ -222,7 +222,7 @@ "api/Nekoyume.Action.AuraSummon.html": { "href": "api/Nekoyume.Action.AuraSummon.html", "title": "Class AuraSummon | Lib9c", - "keywords": "Class AuraSummon Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"aura_summon\")] public class AuraSummon : GameAction, IAction, IAuraSummonV1 Inheritance object ActionBase GameAction AuraSummon Implements IAction IAuraSummonV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors AuraSummon() public AuraSummon() AuraSummon(Address, int, int) public AuraSummon(Address avatarAddress, int groupId, int summonCount) Parameters avatarAddress Address groupId int summonCount int Fields AvatarAddress public Address AvatarAddress Field Value Address AvatarAddressKey public const string AvatarAddressKey = \"aa\" Field Value string GroupId public int GroupId Field Value int GroupIdKey public const string GroupIdKey = \"gid\" Field Value string SummonCount public int SummonCount Field Value int SummonCountKey public const string SummonCountKey = \"sc\" Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods AddAndUnlockOption(AgentState, Equipment, IRandom, Row, EquipmentItemOptionSheet, SkillSheet) public static void AddAndUnlockOption(AgentState agentState, Equipment equipment, IRandom random, EquipmentItemSubRecipeSheetV2.Row subRecipe, EquipmentItemOptionSheet optionSheet, SkillSheet skillSheet) Parameters agentState AgentState equipment Equipment random IRandom subRecipe EquipmentItemSubRecipeSheetV2.Row optionSheet EquipmentItemOptionSheet skillSheet SkillSheet Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary SimulateSummon(string, AgentState, EquipmentItemRecipeSheet, EquipmentItemSheet, EquipmentItemSubRecipeSheetV2, EquipmentItemOptionSheet, SkillSheet, Row, int, IRandom, long) public static IEnumerable<(int, Equipment)> SimulateSummon(string addressesHex, AgentState agentState, EquipmentItemRecipeSheet recipeSheet, EquipmentItemSheet equipmentItemSheet, EquipmentItemSubRecipeSheetV2 equipmentItemSubRecipeSheetV2, EquipmentItemOptionSheet optionSheet, SkillSheet skillSheet, SummonSheet.Row summonRow, int summonCount, IRandom random, long blockIndex) Parameters addressesHex string agentState AgentState recipeSheet EquipmentItemRecipeSheet equipmentItemSheet EquipmentItemSheet equipmentItemSubRecipeSheetV2 EquipmentItemSubRecipeSheetV2 optionSheet EquipmentItemOptionSheet skillSheet SkillSheet summonRow SummonSheet.Row summonCount int random IRandom blockIndex long Returns IEnumerable<(int, Equipment)>" + "keywords": "Class AuraSummon Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"aura_summon\")] public class AuraSummon : GameAction, IAction, IAuraSummonV1 Inheritance object ActionBase GameAction AuraSummon Implements IAction IAuraSummonV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors AuraSummon() public AuraSummon() AuraSummon(Address, int, int) public AuraSummon(Address avatarAddress, int groupId, int summonCount) Parameters avatarAddress Address groupId int summonCount int Fields AvatarAddress public Address AvatarAddress Field Value Address AvatarAddressKey public const string AvatarAddressKey = \"aa\" Field Value string GroupId public int GroupId Field Value int GroupIdKey public const string GroupIdKey = \"gid\" Field Value string SummonCount public int SummonCount Field Value int SummonCountKey public const string SummonCountKey = \"sc\" Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods AddAndUnlockOption(AgentState, Equipment, IRandom, Row, EquipmentItemOptionSheet, SkillSheet) public static void AddAndUnlockOption(AgentState agentState, Equipment equipment, IRandom random, EquipmentItemSubRecipeSheetV2.Row subRecipe, EquipmentItemOptionSheet optionSheet, SkillSheet skillSheet) Parameters agentState AgentState equipment Equipment random IRandom subRecipe EquipmentItemSubRecipeSheetV2.Row optionSheet EquipmentItemOptionSheet skillSheet SkillSheet Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary SimulateSummon(string, AgentState, EquipmentItemRecipeSheet, EquipmentItemSheet, EquipmentItemSubRecipeSheetV2, EquipmentItemOptionSheet, SkillSheet, Row, int, IRandom, long) public static IEnumerable<(int, Equipment)> SimulateSummon(string addressesHex, AgentState agentState, EquipmentItemRecipeSheet recipeSheet, EquipmentItemSheet equipmentItemSheet, EquipmentItemSubRecipeSheetV2 equipmentItemSubRecipeSheetV2, EquipmentItemOptionSheet optionSheet, SkillSheet skillSheet, SummonSheet.Row summonRow, int summonCount, IRandom random, long blockIndex) Parameters addressesHex string agentState AgentState recipeSheet EquipmentItemRecipeSheet equipmentItemSheet EquipmentItemSheet equipmentItemSubRecipeSheetV2 EquipmentItemSubRecipeSheetV2 optionSheet EquipmentItemOptionSheet skillSheet SkillSheet summonRow SummonSheet.Row summonCount int random IRandom blockIndex long Returns IEnumerable<(int, Equipment)>" }, "api/Nekoyume.Action.AvatarIndexAlreadyUsedException.html": { "href": "api/Nekoyume.Action.AvatarIndexAlreadyUsedException.html", @@ -242,17 +242,17 @@ "api/Nekoyume.Action.BattleArena.html": { "href": "api/Nekoyume.Action.BattleArena.html", "title": "Class BattleArena | Lib9c", - "keywords": "Class BattleArena Namespace Nekoyume.Action Assembly Lib9c.dll Introduce at https://github.com/planetarium/lib9c/pull/2229 Changed at https://github.com/planetarium/lib9c/pull/2242 [Serializable] [ActionType(\"battle_arena15\")] public class BattleArena : GameAction, IAction, IBattleArenaV1 Inheritance object ActionBase GameAction BattleArena Implements IAction IBattleArenaV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields HpIncreasingModifier public const int HpIncreasingModifier = 5 Field Value int PurchasedCountKey public const string PurchasedCountKey = \"purchased_count_during_interval\" Field Value string championshipId public int championshipId Field Value int costumes public List costumes Field Value List enemyAvatarAddress public Address enemyAvatarAddress Field Value Address equipments public List equipments Field Value List myAvatarAddress public Address myAvatarAddress Field Value Address round public int round Field Value int runeInfos public List runeInfos Field Value List ticket public int ticket Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class BattleArena Namespace Nekoyume.Action Assembly Lib9c.dll Introduce at https://github.com/planetarium/lib9c/pull/2229 Changed at https://github.com/planetarium/lib9c/pull/2242 [Serializable] [ActionType(\"battle_arena15\")] public class BattleArena : GameAction, IAction, IBattleArenaV1 Inheritance object ActionBase GameAction BattleArena Implements IAction IBattleArenaV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields HpIncreasingModifier public const int HpIncreasingModifier = 5 Field Value int PurchasedCountKey public const string PurchasedCountKey = \"purchased_count_during_interval\" Field Value string championshipId public int championshipId Field Value int costumes public List costumes Field Value List enemyAvatarAddress public Address enemyAvatarAddress Field Value Address equipments public List equipments Field Value List myAvatarAddress public Address myAvatarAddress Field Value Address round public int round Field Value int runeInfos public List runeInfos Field Value List ticket public int ticket Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.BurnAsset.html": { "href": "api/Nekoyume.Action.BurnAsset.html", "title": "Class BurnAsset | Lib9c", - "keywords": "Class BurnAsset Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"burn_asset\")] public class BurnAsset : ActionBase, IAction Inheritance object ActionBase BurnAsset Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors BurnAsset() public BurnAsset() BurnAsset(Address, FungibleAssetValue, string) public BurnAsset(Address owner, FungibleAssetValue amount, string memo) Parameters owner Address amount FungibleAssetValue memo string Fields TypeIdentifier public const string TypeIdentifier = \"burn_asset\" Field Value string Properties Amount public FungibleAssetValue Amount { get; } Property Value FungibleAssetValue Memo public string Memo { get; } Property Value string Owner public Address Owner { get; } Property Value Address PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class BurnAsset Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"burn_asset\")] public class BurnAsset : ActionBase, IAction Inheritance object ActionBase BurnAsset Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors BurnAsset() public BurnAsset() BurnAsset(Address, FungibleAssetValue, string) public BurnAsset(Address owner, FungibleAssetValue amount, string memo) Parameters owner Address amount FungibleAssetValue memo string Fields TypeIdentifier public const string TypeIdentifier = \"burn_asset\" Field Value string Properties Amount public FungibleAssetValue Amount { get; } Property Value FungibleAssetValue Memo public string Memo { get; } Property Value string Owner public Address Owner { get; } Property Value Address PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.Buy.html": { "href": "api/Nekoyume.Action.Buy.html", "title": "Class Buy | Lib9c", - "keywords": "Class Buy Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/1164 [Serializable] [ActionObsolete(8324909)] [ActionType(\"buy12\")] public class Buy : GameAction, IBuy5, IAction, IBuyV2 Inheritance object ActionBase GameAction Buy Implements IBuy5 IAction IBuyV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ErrorCodeDuplicateSell public const int ErrorCodeDuplicateSell = 10 Field Value int ErrorCodeFailedLoadingState public const int ErrorCodeFailedLoadingState = 1 Field Value int ErrorCodeInsufficientBalance public const int ErrorCodeInsufficientBalance = 4 Field Value int ErrorCodeInvalidAddress public const int ErrorCodeInvalidAddress = 5 Field Value int ErrorCodeInvalidItemType public const int ErrorCodeInvalidItemType = 9 Field Value int ErrorCodeInvalidOrderId public const int ErrorCodeInvalidOrderId = 7 Field Value int ErrorCodeInvalidPrice public const int ErrorCodeInvalidPrice = 6 Field Value int ErrorCodeInvalidTradableId public const int ErrorCodeInvalidTradableId = 8 Field Value int ErrorCodeItemDoesNotExist public const int ErrorCodeItemDoesNotExist = 2 Field Value int ErrorCodeShopItemExpired public const int ErrorCodeShopItemExpired = 3 Field Value int TaxRate public const int TaxRate = 8 Field Value int errors public List<(Guid orderId, int errorCode)> errors Field Value List<(Guid orderId, int errorCode)> purchaseInfos public IEnumerable purchaseInfos Field Value IEnumerable Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary buyerAvatarAddress public Address buyerAvatarAddress { get; set; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class Buy Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/1164 [Serializable] [ActionObsolete(8324909)] [ActionType(\"buy12\")] public class Buy : GameAction, IBuy5, IAction, IBuyV2 Inheritance object ActionBase GameAction Buy Implements IBuy5 IAction IBuyV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ErrorCodeDuplicateSell public const int ErrorCodeDuplicateSell = 10 Field Value int ErrorCodeFailedLoadingState public const int ErrorCodeFailedLoadingState = 1 Field Value int ErrorCodeInsufficientBalance public const int ErrorCodeInsufficientBalance = 4 Field Value int ErrorCodeInvalidAddress public const int ErrorCodeInvalidAddress = 5 Field Value int ErrorCodeInvalidItemType public const int ErrorCodeInvalidItemType = 9 Field Value int ErrorCodeInvalidOrderId public const int ErrorCodeInvalidOrderId = 7 Field Value int ErrorCodeInvalidPrice public const int ErrorCodeInvalidPrice = 6 Field Value int ErrorCodeInvalidTradableId public const int ErrorCodeInvalidTradableId = 8 Field Value int ErrorCodeItemDoesNotExist public const int ErrorCodeItemDoesNotExist = 2 Field Value int ErrorCodeShopItemExpired public const int ErrorCodeShopItemExpired = 3 Field Value int TaxRate public const int TaxRate = 8 Field Value int errors public List<(Guid orderId, int errorCode)> errors Field Value List<(Guid orderId, int errorCode)> purchaseInfos public IEnumerable purchaseInfos Field Value IEnumerable Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary buyerAvatarAddress public Address buyerAvatarAddress { get; set; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.Buy7.BuyerMultipleResult.html": { "href": "api/Nekoyume.Action.Buy7.BuyerMultipleResult.html", @@ -282,7 +282,7 @@ "api/Nekoyume.Action.Buy7.html": { "href": "api/Nekoyume.Action.Buy7.html", "title": "Class Buy7 | Lib9c", - "keywords": "Class Buy7 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"buy7\")] public class Buy7 : GameAction, IBuy5, IAction, IBuyV2 Inheritance object ActionBase GameAction Buy7 Implements IBuy5 IAction IBuyV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ErrorCodeFailedLoadingState public const int ErrorCodeFailedLoadingState = 1 Field Value int ErrorCodeInsufficientBalance public const int ErrorCodeInsufficientBalance = 4 Field Value int ErrorCodeInvalidAddress public const int ErrorCodeInvalidAddress = 5 Field Value int ErrorCodeInvalidPrice public const int ErrorCodeInvalidPrice = 6 Field Value int ErrorCodeItemDoesNotExist public const int ErrorCodeItemDoesNotExist = 2 Field Value int ErrorCodeShopItemExpired public const int ErrorCodeShopItemExpired = 3 Field Value int TaxRate public const int TaxRate = 8 Field Value int buyerMultipleResult public Buy7.BuyerMultipleResult buyerMultipleResult Field Value Buy7.BuyerMultipleResult purchaseInfos public IEnumerable purchaseInfos Field Value IEnumerable sellerMultipleResult public Buy7.SellerMultipleResult sellerMultipleResult Field Value Buy7.SellerMultipleResult Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary buyerAvatarAddress public Address buyerAvatarAddress { get; set; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class Buy7 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"buy7\")] public class Buy7 : GameAction, IBuy5, IAction, IBuyV2 Inheritance object ActionBase GameAction Buy7 Implements IBuy5 IAction IBuyV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ErrorCodeFailedLoadingState public const int ErrorCodeFailedLoadingState = 1 Field Value int ErrorCodeInsufficientBalance public const int ErrorCodeInsufficientBalance = 4 Field Value int ErrorCodeInvalidAddress public const int ErrorCodeInvalidAddress = 5 Field Value int ErrorCodeInvalidPrice public const int ErrorCodeInvalidPrice = 6 Field Value int ErrorCodeItemDoesNotExist public const int ErrorCodeItemDoesNotExist = 2 Field Value int ErrorCodeShopItemExpired public const int ErrorCodeShopItemExpired = 3 Field Value int TaxRate public const int TaxRate = 8 Field Value int buyerMultipleResult public Buy7.BuyerMultipleResult buyerMultipleResult Field Value Buy7.BuyerMultipleResult purchaseInfos public IEnumerable purchaseInfos Field Value IEnumerable sellerMultipleResult public Buy7.SellerMultipleResult sellerMultipleResult Field Value Buy7.SellerMultipleResult Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary buyerAvatarAddress public Address buyerAvatarAddress { get; set; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.BuyMultiple.BuyerResult.html": { "href": "api/Nekoyume.Action.BuyMultiple.BuyerResult.html", @@ -307,37 +307,37 @@ "api/Nekoyume.Action.BuyMultiple.html": { "href": "api/Nekoyume.Action.BuyMultiple.html", "title": "Class BuyMultiple | Lib9c", - "keywords": "Class BuyMultiple Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at https://github.com/planetarium/lib9c/pull/331 Updated at many pull requests Obsoleted at https://github.com/planetarium/lib9c/pull/487 Updated at many pull requests Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionObsolete(7000000)] [ActionType(\"buy_multiple\")] public class BuyMultiple : GameAction, IAction, IBuyMultipleV1 Inheritance object ActionBase GameAction BuyMultiple Implements IAction IBuyMultipleV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ERROR_CODE_FAILED_LOADING_STATE public const int ERROR_CODE_FAILED_LOADING_STATE = 1 Field Value int ERROR_CODE_INSUFFICIENT_BALANCE public const int ERROR_CODE_INSUFFICIENT_BALANCE = 4 Field Value int ERROR_CODE_ITEM_DOES_NOT_EXIST public const int ERROR_CODE_ITEM_DOES_NOT_EXIST = 2 Field Value int ERROR_CODE_SHOPITEM_EXPIRED public const int ERROR_CODE_SHOPITEM_EXPIRED = 3 Field Value int buyerAvatarAddress public Address buyerAvatarAddress Field Value Address buyerResult public BuyMultiple.BuyerResult buyerResult Field Value BuyMultiple.BuyerResult purchaseInfos public IEnumerable purchaseInfos Field Value IEnumerable sellerResult public BuyMultiple.SellerResult sellerResult Field Value BuyMultiple.SellerResult Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class BuyMultiple Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at https://github.com/planetarium/lib9c/pull/331 Updated at many pull requests Obsoleted at https://github.com/planetarium/lib9c/pull/487 Updated at many pull requests Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionObsolete(7000000)] [ActionType(\"buy_multiple\")] public class BuyMultiple : GameAction, IAction, IBuyMultipleV1 Inheritance object ActionBase GameAction BuyMultiple Implements IAction IBuyMultipleV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ERROR_CODE_FAILED_LOADING_STATE public const int ERROR_CODE_FAILED_LOADING_STATE = 1 Field Value int ERROR_CODE_INSUFFICIENT_BALANCE public const int ERROR_CODE_INSUFFICIENT_BALANCE = 4 Field Value int ERROR_CODE_ITEM_DOES_NOT_EXIST public const int ERROR_CODE_ITEM_DOES_NOT_EXIST = 2 Field Value int ERROR_CODE_SHOPITEM_EXPIRED public const int ERROR_CODE_SHOPITEM_EXPIRED = 3 Field Value int buyerAvatarAddress public Address buyerAvatarAddress Field Value Address buyerResult public BuyMultiple.BuyerResult buyerResult Field Value BuyMultiple.BuyerResult purchaseInfos public IEnumerable purchaseInfos Field Value IEnumerable sellerResult public BuyMultiple.SellerResult sellerResult Field Value BuyMultiple.SellerResult Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.BuyProduct.html": { "href": "api/Nekoyume.Action.BuyProduct.html", "title": "Class BuyProduct | Lib9c", - "keywords": "Class BuyProduct Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"buy_product3\")] public class BuyProduct : GameAction, IAction Inheritance object ActionBase GameAction BuyProduct Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Capacity public const int Capacity = 20 Field Value int ProductInfos public IEnumerable ProductInfos Field Value IEnumerable Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class BuyProduct Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"buy_product3\")] public class BuyProduct : GameAction, IAction Inheritance object ActionBase GameAction BuyProduct Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Capacity public const int Capacity = 20 Field Value int ProductInfos public IEnumerable ProductInfos Field Value IEnumerable Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.CancelProductRegistration.html": { "href": "api/Nekoyume.Action.CancelProductRegistration.html", "title": "Class CancelProductRegistration | Lib9c", - "keywords": "Class CancelProductRegistration Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"cancel_product_registration2\")] public class CancelProductRegistration : GameAction, IAction Inheritance object ActionBase GameAction CancelProductRegistration Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Capacity public const int Capacity = 100 Field Value int ChargeAp public bool ChargeAp Field Value bool CostAp public const int CostAp = 5 Field Value int ProductInfos public List ProductInfos Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Cancel(ProductsState, IProductInfo, IWorld, AvatarState, IActionContext) public static IWorld Cancel(ProductsState productsState, IProductInfo productInfo, IWorld states, AvatarState avatarState, IActionContext context) Parameters productsState ProductsState productInfo IProductInfo states IWorld avatarState AvatarState context IActionContext Returns IWorld Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class CancelProductRegistration Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"cancel_product_registration2\")] public class CancelProductRegistration : GameAction, IAction Inheritance object ActionBase GameAction CancelProductRegistration Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Capacity public const int Capacity = 100 Field Value int ChargeAp public bool ChargeAp Field Value bool CostAp public const int CostAp = 5 Field Value int ProductInfos public List ProductInfos Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Cancel(ProductsState, IProductInfo, IWorld, AvatarState, IActionContext) public static IWorld Cancel(ProductsState productsState, IProductInfo productInfo, IWorld states, AvatarState avatarState, IActionContext context) Parameters productsState ProductsState productInfo IProductInfo states IWorld avatarState AvatarState context IActionContext Returns IWorld Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.ChargeActionPoint.html": { "href": "api/Nekoyume.Action.ChargeActionPoint.html", "title": "Class ChargeActionPoint | Lib9c", - "keywords": "Class ChargeActionPoint Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/430 Updated at https://github.com/planetarium/lib9c/pull/474 Updated at https://github.com/planetarium/lib9c/pull/602 Updated at https://github.com/planetarium/lib9c/pull/861 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"charge_action_point3\")] public class ChargeActionPoint : GameAction, IAction, IChargeActionPointV1 Inheritance object ActionBase GameAction ChargeActionPoint Implements IAction IChargeActionPointV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class ChargeActionPoint Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/430 Updated at https://github.com/planetarium/lib9c/pull/474 Updated at https://github.com/planetarium/lib9c/pull/602 Updated at https://github.com/planetarium/lib9c/pull/861 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"charge_action_point3\")] public class ChargeActionPoint : GameAction, IAction, IChargeActionPointV1 Inheritance object ActionBase GameAction ChargeActionPoint Implements IAction IChargeActionPointV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.ClaimItems.html": { "href": "api/Nekoyume.Action.ClaimItems.html", "title": "Class ClaimItems | Lib9c", - "keywords": "Class ClaimItems Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"claim_items\")] public class ClaimItems : GameAction, IAction, IClaimItems Inheritance object ActionBase GameAction ClaimItems Implements IAction IClaimItems Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ClaimItems() public ClaimItems() ClaimItems(IReadOnlyList<(Address, IReadOnlyList)>, string) public ClaimItems(IReadOnlyList<(Address, IReadOnlyList)> claimData, string memo = null) Parameters claimData IReadOnlyList<(Address address, IReadOnlyList fungibleAssetValues)> memo string Fields Memo public string Memo Field Value string Properties ClaimData public IReadOnlyList<(Address address, IReadOnlyList fungibleAssetValues)> ClaimData { get; } Property Value IReadOnlyList<(Address address, IReadOnlyList fungibleAssetValues)> PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class ClaimItems Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"claim_items\")] public class ClaimItems : GameAction, IAction, IClaimItems Inheritance object ActionBase GameAction ClaimItems Implements IAction IClaimItems Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ClaimItems() public ClaimItems() ClaimItems(IReadOnlyList<(Address, IReadOnlyList)>, string) public ClaimItems(IReadOnlyList<(Address, IReadOnlyList)> claimData, string memo = null) Parameters claimData IReadOnlyList<(Address address, IReadOnlyList fungibleAssetValues)> memo string Fields Memo public string Memo Field Value string Properties ClaimData public IReadOnlyList<(Address address, IReadOnlyList fungibleAssetValues)> ClaimData { get; } Property Value IReadOnlyList<(Address address, IReadOnlyList fungibleAssetValues)> PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.ClaimRaidReward.html": { "href": "api/Nekoyume.Action.ClaimRaidReward.html", "title": "Class ClaimRaidReward | Lib9c", - "keywords": "Class ClaimRaidReward Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"claim_raid_reward\")] public class ClaimRaidReward : GameAction, IAction, IClaimRaidRewardV1 Inheritance object ActionBase GameAction ClaimRaidReward Implements IAction IClaimRaidRewardV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ClaimRaidReward() public ClaimRaidReward() ClaimRaidReward(Address) public ClaimRaidReward(Address avatarAddress) Parameters avatarAddress Address Fields AvatarAddress public Address AvatarAddress Field Value Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class ClaimRaidReward Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"claim_raid_reward\")] public class ClaimRaidReward : GameAction, IAction, IClaimRaidRewardV1 Inheritance object ActionBase GameAction ClaimRaidReward Implements IAction IClaimRaidRewardV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ClaimRaidReward() public ClaimRaidReward() ClaimRaidReward(Address) public ClaimRaidReward(Address avatarAddress) Parameters avatarAddress Address Fields AvatarAddress public Address AvatarAddress Field Value Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.ClaimStakeReward.html": { "href": "api/Nekoyume.Action.ClaimStakeReward.html", "title": "Class ClaimStakeReward | Lib9c", - "keywords": "Class ClaimStakeReward Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2097 [ActionType(\"claim_stake_reward9\")] public class ClaimStakeReward : GameAction, IClaimStakeReward, IAction, IClaimStakeRewardV1 Inheritance object ActionBase GameAction ClaimStakeReward Implements IClaimStakeReward IAction IClaimStakeRewardV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ClaimStakeReward() public ClaimStakeReward() ClaimStakeReward(Address) public ClaimStakeReward(Address avatarAddress) Parameters avatarAddress Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class ClaimStakeReward Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2097 [ActionType(\"claim_stake_reward9\")] public class ClaimStakeReward : GameAction, IClaimStakeReward, IAction, IClaimStakeRewardV1 Inheritance object ActionBase GameAction ClaimStakeReward Implements IClaimStakeReward IAction IClaimStakeRewardV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ClaimStakeReward() public ClaimStakeReward() ClaimStakeReward(Address) public ClaimStakeReward(Address avatarAddress) Parameters avatarAddress Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.ClaimStakeReward2.html": { "href": "api/Nekoyume.Action.ClaimStakeReward2.html", @@ -352,12 +352,12 @@ "api/Nekoyume.Action.ClaimWordBossKillReward.html": { "href": "api/Nekoyume.Action.ClaimWordBossKillReward.html", "title": "Class ClaimWordBossKillReward | Lib9c", - "keywords": "Class ClaimWordBossKillReward Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"claim_world_boss_kill_reward\")] public class ClaimWordBossKillReward : GameAction, IAction, IClaimWordBossKillRewardV1 Inheritance object ActionBase GameAction ClaimWordBossKillReward Implements IAction IClaimWordBossKillRewardV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class ClaimWordBossKillReward Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"claim_world_boss_kill_reward\")] public class ClaimWordBossKillReward : GameAction, IAction, IClaimWordBossKillRewardV1 Inheritance object ActionBase GameAction ClaimWordBossKillReward Implements IAction IClaimWordBossKillRewardV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.CombinationConsumable.html": { "href": "api/Nekoyume.Action.CombinationConsumable.html", "title": "Class CombinationConsumable | Lib9c", - "keywords": "Class CombinationConsumable Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"combination_consumable9\")] public class CombinationConsumable : GameAction, IAction, ICombinationConsumableV1 Inheritance object ActionBase GameAction CombinationConsumable Implements IAction ICombinationConsumableV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddressKey public const string AvatarAddressKey = \"a\" Field Value string RecipeIdKey public const string RecipeIdKey = \"r\" Field Value string SlotIndexKey public const string SlotIndexKey = \"s\" Field Value string avatarAddress public Address avatarAddress Field Value Address recipeId public int recipeId Field Value int slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class CombinationConsumable Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"combination_consumable9\")] public class CombinationConsumable : GameAction, IAction, ICombinationConsumableV1 Inheritance object ActionBase GameAction CombinationConsumable Implements IAction ICombinationConsumableV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddressKey public const string AvatarAddressKey = \"a\" Field Value string RecipeIdKey public const string RecipeIdKey = \"r\" Field Value string SlotIndexKey public const string SlotIndexKey = \"s\" Field Value string avatarAddress public Address avatarAddress Field Value Address recipeId public int recipeId Field Value int slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.CombinationConsumable5.ResultModel.html": { "href": "api/Nekoyume.Action.CombinationConsumable5.ResultModel.html", @@ -367,12 +367,12 @@ "api/Nekoyume.Action.CombinationConsumable5.html": { "href": "api/Nekoyume.Action.CombinationConsumable5.html", "title": "Class CombinationConsumable5 | Lib9c", - "keywords": "Class CombinationConsumable5 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"combination_consumable5\")] public class CombinationConsumable5 : GameAction, IAction, ICombinationConsumableV1 Inheritance object ActionBase GameAction CombinationConsumable5 Implements IAction ICombinationConsumableV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address recipeId public int recipeId Field Value int slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class CombinationConsumable5 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"combination_consumable5\")] public class CombinationConsumable5 : GameAction, IAction, ICombinationConsumableV1 Inheritance object ActionBase GameAction CombinationConsumable5 Implements IAction ICombinationConsumableV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address recipeId public int recipeId Field Value int slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.CombinationEquipment.html": { "href": "api/Nekoyume.Action.CombinationEquipment.html", "title": "Class CombinationEquipment | Lib9c", - "keywords": "Class CombinationEquipment Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"combination_equipment17\")] public class CombinationEquipment : GameAction, IAction, ICombinationEquipmentV4 Inheritance object ActionBase GameAction CombinationEquipment Implements IAction ICombinationEquipmentV4 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddressKey public const string AvatarAddressKey = \"a\" Field Value string BasicSubRecipeHammerPoint public const int BasicSubRecipeHammerPoint = 1 Field Value int PayByCrystalKey public const string PayByCrystalKey = \"p\" Field Value string PetIdKey public const string PetIdKey = \"pid\" Field Value string RecipeIdKey public const string RecipeIdKey = \"r\" Field Value string SlotIndexKey public const string SlotIndexKey = \"s\" Field Value string SpecialSubRecipeHammerPoint public const int SpecialSubRecipeHammerPoint = 2 Field Value int SubRecipeIdKey public const string SubRecipeIdKey = \"i\" Field Value string UseHammerPointKey public const string UseHammerPointKey = \"h\" Field Value string avatarAddress public Address avatarAddress Field Value Address payByCrystal public bool payByCrystal Field Value bool petId public int? petId Field Value int? recipeId public int recipeId Field Value int slotIndex public int slotIndex Field Value int subRecipeId public int? subRecipeId Field Value int? useHammerPoint public bool useHammerPoint Field Value bool Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods AddAndUnlockOption(AgentState, PetState, Equipment, IRandom, Row, EquipmentItemOptionSheet, PetOptionSheet, SkillSheet) public static void AddAndUnlockOption(AgentState agentState, PetState petState, Equipment equipment, IRandom random, EquipmentItemSubRecipeSheetV2.Row subRecipe, EquipmentItemOptionSheet optionSheet, PetOptionSheet petOptionSheet, SkillSheet skillSheet) Parameters agentState AgentState petState PetState equipment Equipment random IRandom subRecipe EquipmentItemSubRecipeSheetV2.Row optionSheet EquipmentItemOptionSheet petOptionSheet PetOptionSheet skillSheet SkillSheet AddSkillOption(AgentState, Equipment, IRandom, Row, EquipmentItemOptionSheet, SkillSheet) public static void AddSkillOption(AgentState agentState, Equipment equipment, IRandom random, EquipmentItemSubRecipeSheetV2.Row subRecipe, EquipmentItemOptionSheet optionSheet, SkillSheet skillSheet) Parameters agentState AgentState equipment Equipment random IRandom subRecipe EquipmentItemSubRecipeSheetV2.Row optionSheet EquipmentItemOptionSheet skillSheet SkillSheet Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetSkill(Row, SkillSheet, IRandom) public static Skill GetSkill(EquipmentItemOptionSheet.Row row, SkillSheet skillSheet, IRandom random) Parameters row EquipmentItemOptionSheet.Row skillSheet SkillSheet random IRandom Returns Skill LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class CombinationEquipment Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"combination_equipment17\")] public class CombinationEquipment : GameAction, IAction, ICombinationEquipmentV4 Inheritance object ActionBase GameAction CombinationEquipment Implements IAction ICombinationEquipmentV4 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddressKey public const string AvatarAddressKey = \"a\" Field Value string BasicSubRecipeHammerPoint public const int BasicSubRecipeHammerPoint = 1 Field Value int PayByCrystalKey public const string PayByCrystalKey = \"p\" Field Value string PetIdKey public const string PetIdKey = \"pid\" Field Value string RecipeIdKey public const string RecipeIdKey = \"r\" Field Value string SlotIndexKey public const string SlotIndexKey = \"s\" Field Value string SpecialSubRecipeHammerPoint public const int SpecialSubRecipeHammerPoint = 2 Field Value int SubRecipeIdKey public const string SubRecipeIdKey = \"i\" Field Value string UseHammerPointKey public const string UseHammerPointKey = \"h\" Field Value string avatarAddress public Address avatarAddress Field Value Address payByCrystal public bool payByCrystal Field Value bool petId public int? petId Field Value int? recipeId public int recipeId Field Value int slotIndex public int slotIndex Field Value int subRecipeId public int? subRecipeId Field Value int? useHammerPoint public bool useHammerPoint Field Value bool Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods AddAndUnlockOption(AgentState, PetState, Equipment, IRandom, Row, EquipmentItemOptionSheet, PetOptionSheet, SkillSheet) public static void AddAndUnlockOption(AgentState agentState, PetState petState, Equipment equipment, IRandom random, EquipmentItemSubRecipeSheetV2.Row subRecipe, EquipmentItemOptionSheet optionSheet, PetOptionSheet petOptionSheet, SkillSheet skillSheet) Parameters agentState AgentState petState PetState equipment Equipment random IRandom subRecipe EquipmentItemSubRecipeSheetV2.Row optionSheet EquipmentItemOptionSheet petOptionSheet PetOptionSheet skillSheet SkillSheet AddSkillOption(AgentState, Equipment, IRandom, Row, EquipmentItemOptionSheet, SkillSheet) public static void AddSkillOption(AgentState agentState, Equipment equipment, IRandom random, EquipmentItemSubRecipeSheetV2.Row subRecipe, EquipmentItemOptionSheet optionSheet, SkillSheet skillSheet) Parameters agentState AgentState equipment Equipment random IRandom subRecipe EquipmentItemSubRecipeSheetV2.Row optionSheet EquipmentItemOptionSheet skillSheet SkillSheet Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetSkill(Row, SkillSheet, IRandom) public static Skill GetSkill(EquipmentItemOptionSheet.Row row, SkillSheet skillSheet, IRandom random) Parameters row EquipmentItemOptionSheet.Row skillSheet SkillSheet random IRandom Returns Skill LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.CombinationEquipment5.html": { "href": "api/Nekoyume.Action.CombinationEquipment5.html", @@ -427,22 +427,22 @@ "api/Nekoyume.Action.CreateAvatar.html": { "href": "api/Nekoyume.Action.CreateAvatar.html", "title": "Class CreateAvatar | Lib9c", - "keywords": "Class CreateAvatar Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"create_avatar11\")] public class CreateAvatar : GameAction, IAction, ICreateAvatarV2 Inheritance object ActionBase GameAction CreateAvatar Implements IAction ICreateAvatarV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields DeriveFormat public const string DeriveFormat = \"avatar-state-{0}\" Field Value string ear public int ear Field Value int hair public int hair Field Value int index public int index Field Value int lens public int lens Field Value int name public string name Field Value string tail public int tail Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods AddItem(ItemSheet, CreateAvatarItemSheet, AvatarState, IRandom) public static void AddItem(ItemSheet itemSheet, CreateAvatarItemSheet createAvatarItemSheet, AvatarState avatarState, IRandom random) Parameters itemSheet ItemSheet createAvatarItemSheet CreateAvatarItemSheet avatarState AvatarState random IRandom CreateAvatarState(string, Address, IActionContext, MaterialItemSheet, Address) public static AvatarState CreateAvatarState(string name, Address avatarAddress, IActionContext ctx, MaterialItemSheet materialItemSheet, Address rankingMapAddress) Parameters name string avatarAddress Address ctx IActionContext materialItemSheet MaterialItemSheet rankingMapAddress Address Returns AvatarState Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary MintAsset(CreateAvatarFavSheet, AvatarState, IWorld, IActionContext) public static IWorld MintAsset(CreateAvatarFavSheet favSheet, AvatarState avatarState, IWorld states, IActionContext context) Parameters favSheet CreateAvatarFavSheet avatarState AvatarState states IWorld context IActionContext Returns IWorld" + "keywords": "Class CreateAvatar Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"create_avatar11\")] public class CreateAvatar : GameAction, IAction, ICreateAvatarV2 Inheritance object ActionBase GameAction CreateAvatar Implements IAction ICreateAvatarV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields DeriveFormat public const string DeriveFormat = \"avatar-state-{0}\" Field Value string ear public int ear Field Value int hair public int hair Field Value int index public int index Field Value int lens public int lens Field Value int name public string name Field Value string tail public int tail Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods AddItem(ItemSheet, CreateAvatarItemSheet, AvatarState, IRandom) public static void AddItem(ItemSheet itemSheet, CreateAvatarItemSheet createAvatarItemSheet, AvatarState avatarState, IRandom random) Parameters itemSheet ItemSheet createAvatarItemSheet CreateAvatarItemSheet avatarState AvatarState random IRandom CreateAvatarState(string, Address, IActionContext, MaterialItemSheet, Address) public static AvatarState CreateAvatarState(string name, Address avatarAddress, IActionContext ctx, MaterialItemSheet materialItemSheet, Address rankingMapAddress) Parameters name string avatarAddress Address ctx IActionContext materialItemSheet MaterialItemSheet rankingMapAddress Address Returns AvatarState Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary MintAsset(CreateAvatarFavSheet, AvatarState, IWorld, IActionContext) public static IWorld MintAsset(CreateAvatarFavSheet favSheet, AvatarState avatarState, IWorld states, IActionContext context) Parameters favSheet CreateAvatarFavSheet avatarState AvatarState states IWorld context IActionContext Returns IWorld" }, "api/Nekoyume.Action.CreatePendingActivation.html": { "href": "api/Nekoyume.Action.CreatePendingActivation.html", "title": "Class CreatePendingActivation | Lib9c", - "keywords": "Class CreatePendingActivation Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at Initial commit(2e645be18a4e2caea031c347f00777fbad5dbcc6) Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"create_pending_activation\")] [ActionObsolete(7200000)] public class CreatePendingActivation : ActionBase, IAction, ICreatePendingActivationV1 Inheritance object ActionBase CreatePendingActivation Implements IAction ICreatePendingActivationV1 Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors CreatePendingActivation() public CreatePendingActivation() CreatePendingActivation(PendingActivationState) public CreatePendingActivation(PendingActivationState activationKey) Parameters activationKey PendingActivationState Properties PendingActivation public PendingActivationState PendingActivation { get; } Property Value PendingActivationState PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class CreatePendingActivation Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at Initial commit(2e645be18a4e2caea031c347f00777fbad5dbcc6) Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"create_pending_activation\")] [ActionObsolete(7200000)] public class CreatePendingActivation : ActionBase, IAction, ICreatePendingActivationV1 Inheritance object ActionBase CreatePendingActivation Implements IAction ICreatePendingActivationV1 Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors CreatePendingActivation() public CreatePendingActivation() CreatePendingActivation(PendingActivationState) public CreatePendingActivation(PendingActivationState activationKey) Parameters activationKey PendingActivationState Properties PendingActivation public PendingActivationState PendingActivation { get; } Property Value PendingActivationState PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.CreatePendingActivations.html": { "href": "api/Nekoyume.Action.CreatePendingActivations.html", "title": "Class CreatePendingActivations | Lib9c", - "keywords": "Class CreatePendingActivations Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/746 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"create_pending_activations\")] [ActionObsolete(7200000)] public class CreatePendingActivations : ActionBase, IAction, ICreatePendingActivationsV1 Inheritance object ActionBase CreatePendingActivations Implements IAction ICreatePendingActivationsV1 Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors CreatePendingActivations() public CreatePendingActivations() CreatePendingActivations(IEnumerable) public CreatePendingActivations(IEnumerable states) Parameters states IEnumerable Properties PendingActivations public IList<(byte[] Address, byte[] Nonce, byte[] PublicKey)> PendingActivations { get; } Property Value IList<(byte[] Address, byte[] Nonce, byte[] PublicKey)> PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class CreatePendingActivations Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/746 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"create_pending_activations\")] [ActionObsolete(7200000)] public class CreatePendingActivations : ActionBase, IAction, ICreatePendingActivationsV1 Inheritance object ActionBase CreatePendingActivations Implements IAction ICreatePendingActivationsV1 Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors CreatePendingActivations() public CreatePendingActivations() CreatePendingActivations(IEnumerable) public CreatePendingActivations(IEnumerable states) Parameters states IEnumerable Properties PendingActivations public IList<(byte[] Address, byte[] Nonce, byte[] PublicKey)> PendingActivations { get; } Property Value IList<(byte[] Address, byte[] Nonce, byte[] PublicKey)> PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.CreatePledge.html": { "href": "api/Nekoyume.Action.CreatePledge.html", "title": "Class CreatePledge | Lib9c", - "keywords": "Class CreatePledge Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"create_pledge\")] public class CreatePledge : ActionBase, IAction Inheritance object ActionBase CreatePledge Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AgentAddresses public IEnumerable<(Address, Address)> AgentAddresses Field Value IEnumerable<(Address, Address)> Mead public int Mead Field Value int PatronAddress public Address PatronAddress Field Value Address TypeIdentifier public const string TypeIdentifier = \"create_pledge\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class CreatePledge Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"create_pledge\")] public class CreatePledge : ActionBase, IAction Inheritance object ActionBase CreatePledge Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AgentAddresses public IEnumerable<(Address, Address)> AgentAddresses Field Value IEnumerable<(Address, Address)> Mead public int Mead Field Value int PatronAddress public Address PatronAddress Field Value Address TypeIdentifier public const string TypeIdentifier = \"create_pledge\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.CustomEquipmentCraft.CustomCraftData.html": { "href": "api/Nekoyume.Action.CustomEquipmentCraft.CustomCraftData.html", @@ -452,7 +452,7 @@ "api/Nekoyume.Action.CustomEquipmentCraft.CustomEquipmentCraft.html": { "href": "api/Nekoyume.Action.CustomEquipmentCraft.CustomEquipmentCraft.html", "title": "Class CustomEquipmentCraft | Lib9c", - "keywords": "Class CustomEquipmentCraft Namespace Nekoyume.Action.CustomEquipmentCraft Assembly Lib9c.dll [Serializable] [ActionType(\"custom_equipment_craft\")] public class CustomEquipmentCraft : ActionBase, IAction Inheritance object ActionBase CustomEquipmentCraft Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address CraftList public List CraftList Field Value List RandomIconId public const int RandomIconId = 0 Field Value int TypeIdentifier public const string TypeIdentifier = \"custom_equipment_craft\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class CustomEquipmentCraft Namespace Nekoyume.Action.CustomEquipmentCraft Assembly Lib9c.dll [Serializable] [ActionType(\"custom_equipment_craft\")] public class CustomEquipmentCraft : ActionBase, IAction Inheritance object ActionBase CustomEquipmentCraft Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address CraftList public List CraftList Field Value List RandomIconId public const int RandomIconId = 0 Field Value int TypeIdentifier public const string TypeIdentifier = \"custom_equipment_craft\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.CustomEquipmentCraft.html": { "href": "api/Nekoyume.Action.CustomEquipmentCraft.html", @@ -462,7 +462,7 @@ "api/Nekoyume.Action.DailyReward.html": { "href": "api/Nekoyume.Action.DailyReward.html", "title": "Class DailyReward | Lib9c", - "keywords": "Class DailyReward Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/1828 Updated at https://github.com/planetarium/lib9c/pull/1828 [Serializable] [ActionType(\"daily_reward7\")] public class DailyReward : GameAction, IAction, IDailyRewardV1 Inheritance object ActionBase GameAction DailyReward Implements IAction IDailyRewardV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ActionPointMax public const int ActionPointMax = 120 Field Value int AvatarAddressKey public const string AvatarAddressKey = \"a\" Field Value string DailyRewardInterval public const long DailyRewardInterval = 2550 Field Value long DailyRuneRewardAmount public const int DailyRuneRewardAmount = 1 Field Value int avatarAddress public Address avatarAddress Field Value Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class DailyReward Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/1828 Updated at https://github.com/planetarium/lib9c/pull/1828 [Serializable] [ActionType(\"daily_reward7\")] public class DailyReward : GameAction, IAction, IDailyRewardV1 Inheritance object ActionBase GameAction DailyReward Implements IAction IDailyRewardV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ActionPointMax public const int ActionPointMax = 120 Field Value int AvatarAddressKey public const string AvatarAddressKey = \"a\" Field Value string DailyRewardInterval public const long DailyRewardInterval = 2550 Field Value long DailyRuneRewardAmount public const int DailyRuneRewardAmount = 1 Field Value int avatarAddress public Address avatarAddress Field Value Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.DailyReward2.DailyRewardResult.html": { "href": "api/Nekoyume.Action.DailyReward2.DailyRewardResult.html", @@ -472,7 +472,7 @@ "api/Nekoyume.Action.DailyReward2.html": { "href": "api/Nekoyume.Action.DailyReward2.html", "title": "Class DailyReward2 | Lib9c", - "keywords": "Class DailyReward2 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"daily_reward2\")] public class DailyReward2 : GameAction, IAction, IDailyRewardV1 Inheritance object ActionBase GameAction DailyReward2 Implements IAction IDailyRewardV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address dailyRewardResult public DailyReward2.DailyRewardResult dailyRewardResult Field Value DailyReward2.DailyRewardResult Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class DailyReward2 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"daily_reward2\")] public class DailyReward2 : GameAction, IAction, IDailyRewardV1 Inheritance object ActionBase GameAction DailyReward2 Implements IAction IDailyRewardV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address dailyRewardResult public DailyReward2.DailyRewardResult dailyRewardResult Field Value DailyReward2.DailyRewardResult Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.DuplicateCostumeException.html": { "href": "api/Nekoyume.Action.DuplicateCostumeException.html", @@ -497,7 +497,7 @@ "api/Nekoyume.Action.EndPledge.html": { "href": "api/Nekoyume.Action.EndPledge.html", "title": "Class EndPledge | Lib9c", - "keywords": "Class EndPledge Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"end_pledge\")] public class EndPledge : ActionBase, IAction Inheritance object ActionBase EndPledge Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors EndPledge() public EndPledge() Fields AgentAddress public Address AgentAddress Field Value Address TypeIdentifier public const string TypeIdentifier = \"end_pledge\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class EndPledge Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"end_pledge\")] public class EndPledge : ActionBase, IAction Inheritance object ActionBase EndPledge Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors EndPledge() public EndPledge() Fields AgentAddress public Address AgentAddress Field Value Address TypeIdentifier public const string TypeIdentifier = \"end_pledge\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.EquipmentLevelExceededException.html": { "href": "api/Nekoyume.Action.EquipmentLevelExceededException.html", @@ -512,17 +512,17 @@ "api/Nekoyume.Action.EventConsumableItemCrafts.html": { "href": "api/Nekoyume.Action.EventConsumableItemCrafts.html", "title": "Class EventConsumableItemCrafts | Lib9c", - "keywords": "Class EventConsumableItemCrafts Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"event_consumable_item_crafts2\")] public class EventConsumableItemCrafts : GameAction, IAction, IEventConsumableItemCraftsV1 Inheritance object ActionBase GameAction EventConsumableItemCrafts Implements IAction IEventConsumableItemCraftsV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address EventConsumableItemRecipeId public int EventConsumableItemRecipeId Field Value int EventScheduleId public int EventScheduleId Field Value int SlotIndex public int SlotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class EventConsumableItemCrafts Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"event_consumable_item_crafts2\")] public class EventConsumableItemCrafts : GameAction, IAction, IEventConsumableItemCraftsV1 Inheritance object ActionBase GameAction EventConsumableItemCrafts Implements IAction IEventConsumableItemCraftsV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address EventConsumableItemRecipeId public int EventConsumableItemRecipeId Field Value int EventScheduleId public int EventScheduleId Field Value int SlotIndex public int SlotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.EventDungeonBattle.html": { "href": "api/Nekoyume.Action.EventDungeonBattle.html", "title": "Class EventDungeonBattle | Lib9c", - "keywords": "Class EventDungeonBattle Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"event_dungeon_battle6\")] public class EventDungeonBattle : GameAction, IAction, IEventDungeonBattleV2 Inheritance object ActionBase GameAction EventDungeonBattle Implements IAction IEventDungeonBattleV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address BuyTicketIfNeeded public bool BuyTicketIfNeeded Field Value bool Costumes public List Costumes Field Value List Equipments public List Equipments Field Value List EventDungeonId public int EventDungeonId Field Value int EventDungeonStageId public int EventDungeonStageId Field Value int EventScheduleId public int EventScheduleId Field Value int Foods public List Foods Field Value List PlayCount public const int PlayCount = 1 Field Value int RuneInfos public List RuneInfos Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class EventDungeonBattle Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"event_dungeon_battle6\")] public class EventDungeonBattle : GameAction, IAction, IEventDungeonBattleV2 Inheritance object ActionBase GameAction EventDungeonBattle Implements IAction IEventDungeonBattleV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address BuyTicketIfNeeded public bool BuyTicketIfNeeded Field Value bool Costumes public List Costumes Field Value List Equipments public List Equipments Field Value List EventDungeonId public int EventDungeonId Field Value int EventDungeonStageId public int EventDungeonStageId Field Value int EventScheduleId public int EventScheduleId Field Value int Foods public List Foods Field Value List PlayCount public const int PlayCount = 1 Field Value int RuneInfos public List RuneInfos Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.EventMaterialItemCrafts.html": { "href": "api/Nekoyume.Action.EventMaterialItemCrafts.html", "title": "Class EventMaterialItemCrafts | Lib9c", - "keywords": "Class EventMaterialItemCrafts Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"event_material_item_crafts2\")] public class EventMaterialItemCrafts : GameAction, IAction, IEventMaterialItemCraftsV1 Inheritance object ActionBase GameAction EventMaterialItemCrafts Implements IAction IEventMaterialItemCraftsV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address EventMaterialItemRecipeId public int EventMaterialItemRecipeId Field Value int EventScheduleId public int EventScheduleId Field Value int MaterialsToUse public Dictionary MaterialsToUse Field Value Dictionary Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class EventMaterialItemCrafts Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"event_material_item_crafts2\")] public class EventMaterialItemCrafts : GameAction, IAction, IEventMaterialItemCraftsV1 Inheritance object ActionBase GameAction EventMaterialItemCrafts Implements IAction IEventMaterialItemCraftsV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address EventMaterialItemRecipeId public int EventMaterialItemRecipeId Field Value int EventScheduleId public int EventScheduleId Field Value int MaterialsToUse public Dictionary MaterialsToUse Field Value Dictionary Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.Exceptions.AdventureBoss.AlreadyClaimedException.html": { "href": "api/Nekoyume.Action.Exceptions.AdventureBoss.AlreadyClaimedException.html", @@ -642,17 +642,17 @@ "api/Nekoyume.Action.GameAction.html": { "href": "api/Nekoyume.Action.GameAction.html", "title": "Class GameAction | Lib9c", - "keywords": "Class GameAction Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] public abstract class GameAction : ActionBase, IAction Inheritance object ActionBase GameAction Implements IAction Derived ActivateCollection AddRedeemCode ClaimAdventureBossReward ExploreAdventureBoss SweepAdventureBoss UnlockFloor Wanted AuraSummon BattleArena Buy Buy7 BuyMultiple BuyProduct CancelProductRegistration ChargeActionPoint ClaimItems ClaimRaidReward ClaimStakeReward ClaimWordBossKillReward CombinationConsumable CombinationConsumable5 CombinationEquipment IssueCoupons RedeemCoupon TransferCoupons CreateAvatar DailyReward DailyReward2 EventConsumableItemCrafts EventDungeonBattle EventMaterialItemCrafts BulkUnloadFromGarages DeliverToOthersGarages LoadIntoMyGarages UnloadFromMyGarages Grinding HackAndSlash HackAndSlashRandomBuff HackAndSlashSweep InitializeStates ItemEnhancement ItemEnhancement10 ItemEnhancement11 ItemEnhancement12 ItemEnhancement13 ItemEnhancement7 ItemEnhancement9 JoinArena JoinArena1 JoinArena3 MigrationActivatedAccountsState PatchTableSheet PetEnhancement Raid RankingBattle RankingBattle11 RapidCombination RapidCombination0 RapidCombination5 ReRegisterProduct RedeemCode RedeemCode2 RegisterProduct RegisterProduct0 RenewAdminState RuneEnhancement RuneSummon Sell Sell6 SellCancellation Stake Stake2 UnlockCombinationSlot UnlockEquipmentRecipe UnlockRuneSlot UnlockWorld UpdateSell Inherited Members ActionBase.GoldCurrencyMock ActionBase.Execute(IActionContext) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors GameAction() protected GameAction() Properties Id public Guid Id { get; } Property Value Guid PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override sealed IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) PlainValueInternal protected abstract IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override sealed void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue LoadPlainValueInternal(IImmutableDictionary) protected abstract void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class GameAction Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] public abstract class GameAction : ActionBase, IAction Inheritance object ActionBase GameAction Implements IAction Derived ActivateCollection AddRedeemCode ClaimAdventureBossReward ExploreAdventureBoss SweepAdventureBoss UnlockFloor Wanted AuraSummon BattleArena Buy Buy7 BuyMultiple BuyProduct CancelProductRegistration ChargeActionPoint ClaimItems ClaimRaidReward ClaimStakeReward ClaimWordBossKillReward CombinationConsumable CombinationConsumable5 CombinationEquipment IssueCoupons RedeemCoupon TransferCoupons CreateAvatar DailyReward DailyReward2 EventConsumableItemCrafts EventDungeonBattle EventMaterialItemCrafts BulkUnloadFromGarages DeliverToOthersGarages LoadIntoMyGarages UnloadFromMyGarages Grinding HackAndSlash HackAndSlashRandomBuff HackAndSlashSweep InitializeStates ItemEnhancement ItemEnhancement10 ItemEnhancement11 ItemEnhancement12 ItemEnhancement13 ItemEnhancement7 ItemEnhancement9 JoinArena JoinArena1 JoinArena3 MigrationActivatedAccountsState PatchTableSheet PetEnhancement Raid RankingBattle RankingBattle11 RapidCombination RapidCombination0 RapidCombination5 ReRegisterProduct RedeemCode RedeemCode2 RegisterProduct RegisterProduct0 RenewAdminState RuneEnhancement RuneSummon Sell Sell6 SellCancellation Stake Stake2 UnlockCombinationSlot UnlockEquipmentRecipe UnlockRuneSlot UnlockWorld UpdateSell Inherited Members ActionBase.Execute(IActionContext) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors GameAction() protected GameAction() Properties Id public Guid Id { get; } Property Value Guid PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override sealed IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) PlainValueInternal protected abstract IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override sealed void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue LoadPlainValueInternal(IImmutableDictionary) protected abstract void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.Garages.BulkUnloadFromGarages.html": { "href": "api/Nekoyume.Action.Garages.BulkUnloadFromGarages.html", "title": "Class BulkUnloadFromGarages | Lib9c", - "keywords": "Class BulkUnloadFromGarages Namespace Nekoyume.Action.Garages Assembly Lib9c.dll [ActionType(\"bulk_unload_from_garages\")] public class BulkUnloadFromGarages : GameAction, IBulkUnloadFromGaragesV1, IAction Inheritance object ActionBase GameAction BulkUnloadFromGarages Implements IBulkUnloadFromGaragesV1 IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors BulkUnloadFromGarages() public BulkUnloadFromGarages() BulkUnloadFromGarages(IReadOnlyList<(Address recipientAvatarAddress, IEnumerable<(Address balanceAddress, FungibleAssetValue value)>? fungibleAssetValues, IEnumerable<(HashDigest fungibleId, int count)>? fungibleIdAndCounts, string? memo)>) public BulkUnloadFromGarages(IReadOnlyList<(Address recipientAvatarAddress, IEnumerable<(Address balanceAddress, FungibleAssetValue value)>? fungibleAssetValues, IEnumerable<(HashDigest fungibleId, int count)>? fungibleIdAndCounts, string? memo)> unloadData) Parameters unloadData IReadOnlyList<(Address recipientAvatarAddress, IEnumerable<(Address balanceAddress, FungibleAssetValue value)> fungibleAssetValues, IEnumerable<(HashDigest fungibleId, int count)> fungibleIdAndCounts, string memo)> Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary UnloadData public IReadOnlyList<(Address recipientAvatarAddress, IOrderedEnumerable<(Address balanceAddress, FungibleAssetValue value)>? fungibleAssetValues, IOrderedEnumerable<(HashDigest fungibleId, int count)>? fungibleIdAndCounts, string? memo)> UnloadData { get; } Property Value IReadOnlyList<(Address recipientAvatarAddress, IOrderedEnumerable<(Address balanceAddress, FungibleAssetValue value)> fungibleAssetValues, IOrderedEnumerable<(HashDigest fungibleId, int count)> fungibleIdAndCounts, string memo)> Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class BulkUnloadFromGarages Namespace Nekoyume.Action.Garages Assembly Lib9c.dll [ActionType(\"bulk_unload_from_garages\")] public class BulkUnloadFromGarages : GameAction, IBulkUnloadFromGaragesV1, IAction Inheritance object ActionBase GameAction BulkUnloadFromGarages Implements IBulkUnloadFromGaragesV1 IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors BulkUnloadFromGarages() public BulkUnloadFromGarages() BulkUnloadFromGarages(IReadOnlyList<(Address recipientAvatarAddress, IEnumerable<(Address balanceAddress, FungibleAssetValue value)>? fungibleAssetValues, IEnumerable<(HashDigest fungibleId, int count)>? fungibleIdAndCounts, string? memo)>) public BulkUnloadFromGarages(IReadOnlyList<(Address recipientAvatarAddress, IEnumerable<(Address balanceAddress, FungibleAssetValue value)>? fungibleAssetValues, IEnumerable<(HashDigest fungibleId, int count)>? fungibleIdAndCounts, string? memo)> unloadData) Parameters unloadData IReadOnlyList<(Address recipientAvatarAddress, IEnumerable<(Address balanceAddress, FungibleAssetValue value)> fungibleAssetValues, IEnumerable<(HashDigest fungibleId, int count)> fungibleIdAndCounts, string memo)> Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary UnloadData public IReadOnlyList<(Address recipientAvatarAddress, IOrderedEnumerable<(Address balanceAddress, FungibleAssetValue value)>? fungibleAssetValues, IOrderedEnumerable<(HashDigest fungibleId, int count)>? fungibleIdAndCounts, string? memo)> UnloadData { get; } Property Value IReadOnlyList<(Address recipientAvatarAddress, IOrderedEnumerable<(Address balanceAddress, FungibleAssetValue value)> fungibleAssetValues, IOrderedEnumerable<(HashDigest fungibleId, int count)> fungibleIdAndCounts, string memo)> Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.Garages.DeliverToOthersGarages.html": { "href": "api/Nekoyume.Action.Garages.DeliverToOthersGarages.html", "title": "Class DeliverToOthersGarages | Lib9c", - "keywords": "Class DeliverToOthersGarages Namespace Nekoyume.Action.Garages Assembly Lib9c.dll [ActionType(\"deliver_to_others_garages\")] public class DeliverToOthersGarages : GameAction, IDeliverToOthersGaragesV1, IAction Inheritance object ActionBase GameAction DeliverToOthersGarages Implements IDeliverToOthersGaragesV1 IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors DeliverToOthersGarages() public DeliverToOthersGarages() DeliverToOthersGarages(Address, IEnumerable?, IEnumerable<(HashDigest fungibleId, int count)>?, string?) public DeliverToOthersGarages(Address recipientAgentAddr, IEnumerable? fungibleAssetValues, IEnumerable<(HashDigest fungibleId, int count)>? fungibleIdAndCounts, string? memo) Parameters recipientAgentAddr Address fungibleAssetValues IEnumerable fungibleIdAndCounts IEnumerable<(HashDigest fungibleId, int count)> memo string Properties FungibleAssetValues public IOrderedEnumerable? FungibleAssetValues { get; } Property Value IOrderedEnumerable FungibleIdAndCounts public IOrderedEnumerable<(HashDigest fungibleId, int count)>? FungibleIdAndCounts { get; } Property Value IOrderedEnumerable<(HashDigest fungibleId, int count)> Memo public string? Memo { get; } Property Value string PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary RecipientAgentAddr public Address RecipientAgentAddr { get; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class DeliverToOthersGarages Namespace Nekoyume.Action.Garages Assembly Lib9c.dll [ActionType(\"deliver_to_others_garages\")] public class DeliverToOthersGarages : GameAction, IDeliverToOthersGaragesV1, IAction Inheritance object ActionBase GameAction DeliverToOthersGarages Implements IDeliverToOthersGaragesV1 IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors DeliverToOthersGarages() public DeliverToOthersGarages() DeliverToOthersGarages(Address, IEnumerable?, IEnumerable<(HashDigest fungibleId, int count)>?, string?) public DeliverToOthersGarages(Address recipientAgentAddr, IEnumerable? fungibleAssetValues, IEnumerable<(HashDigest fungibleId, int count)>? fungibleIdAndCounts, string? memo) Parameters recipientAgentAddr Address fungibleAssetValues IEnumerable fungibleIdAndCounts IEnumerable<(HashDigest fungibleId, int count)> memo string Properties FungibleAssetValues public IOrderedEnumerable? FungibleAssetValues { get; } Property Value IOrderedEnumerable FungibleIdAndCounts public IOrderedEnumerable<(HashDigest fungibleId, int count)>? FungibleIdAndCounts { get; } Property Value IOrderedEnumerable<(HashDigest fungibleId, int count)> Memo public string? Memo { get; } Property Value string PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary RecipientAgentAddr public Address RecipientAgentAddr { get; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.Garages.GarageUtils.html": { "href": "api/Nekoyume.Action.Garages.GarageUtils.html", @@ -662,12 +662,12 @@ "api/Nekoyume.Action.Garages.LoadIntoMyGarages.html": { "href": "api/Nekoyume.Action.Garages.LoadIntoMyGarages.html", "title": "Class LoadIntoMyGarages | Lib9c", - "keywords": "Class LoadIntoMyGarages Namespace Nekoyume.Action.Garages Assembly Lib9c.dll [ActionType(\"load_into_my_garages\")] public class LoadIntoMyGarages : GameAction, ILoadIntoMyGaragesV1, IAction Inheritance object ActionBase GameAction LoadIntoMyGarages Implements ILoadIntoMyGaragesV1 IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors LoadIntoMyGarages() public LoadIntoMyGarages() LoadIntoMyGarages(IEnumerable<(Address balanceAddr, FungibleAssetValue value)>?, Address?, IEnumerable<(HashDigest fungibleId, int count)>?, string?) public LoadIntoMyGarages(IEnumerable<(Address balanceAddr, FungibleAssetValue value)>? fungibleAssetValues, Address? avatarAddr, IEnumerable<(HashDigest fungibleId, int count)>? fungibleIdAndCounts, string? memo) Parameters fungibleAssetValues IEnumerable<(Address balanceAddr, FungibleAssetValue value)> avatarAddr Address? fungibleIdAndCounts IEnumerable<(HashDigest fungibleId, int count)> memo string Properties AvatarAddr This address should belong to one of the signer's avatars. If the avatar state is v1, there is no separate inventory, so it should be execute another action first to migrate the avatar state to v2. And then, the inventory address will be set. public Address? AvatarAddr { get; } Property Value Address? FungibleAssetValues public IOrderedEnumerable<(Address balanceAddr, FungibleAssetValue value)>? FungibleAssetValues { get; } Property Value IOrderedEnumerable<(Address balanceAddr, FungibleAssetValue value)> FungibleIdAndCounts public IOrderedEnumerable<(HashDigest fungibleId, int count)>? FungibleIdAndCounts { get; } Property Value IOrderedEnumerable<(HashDigest fungibleId, int count)> Memo public string? Memo { get; } Property Value string PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class LoadIntoMyGarages Namespace Nekoyume.Action.Garages Assembly Lib9c.dll [ActionType(\"load_into_my_garages\")] public class LoadIntoMyGarages : GameAction, ILoadIntoMyGaragesV1, IAction Inheritance object ActionBase GameAction LoadIntoMyGarages Implements ILoadIntoMyGaragesV1 IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors LoadIntoMyGarages() public LoadIntoMyGarages() LoadIntoMyGarages(IEnumerable<(Address balanceAddr, FungibleAssetValue value)>?, Address?, IEnumerable<(HashDigest fungibleId, int count)>?, string?) public LoadIntoMyGarages(IEnumerable<(Address balanceAddr, FungibleAssetValue value)>? fungibleAssetValues, Address? avatarAddr, IEnumerable<(HashDigest fungibleId, int count)>? fungibleIdAndCounts, string? memo) Parameters fungibleAssetValues IEnumerable<(Address balanceAddr, FungibleAssetValue value)> avatarAddr Address? fungibleIdAndCounts IEnumerable<(HashDigest fungibleId, int count)> memo string Properties AvatarAddr This address should belong to one of the signer's avatars. If the avatar state is v1, there is no separate inventory, so it should be execute another action first to migrate the avatar state to v2. And then, the inventory address will be set. public Address? AvatarAddr { get; } Property Value Address? FungibleAssetValues public IOrderedEnumerable<(Address balanceAddr, FungibleAssetValue value)>? FungibleAssetValues { get; } Property Value IOrderedEnumerable<(Address balanceAddr, FungibleAssetValue value)> FungibleIdAndCounts public IOrderedEnumerable<(HashDigest fungibleId, int count)>? FungibleIdAndCounts { get; } Property Value IOrderedEnumerable<(HashDigest fungibleId, int count)> Memo public string? Memo { get; } Property Value string PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.Garages.UnloadFromMyGarages.html": { "href": "api/Nekoyume.Action.Garages.UnloadFromMyGarages.html", "title": "Class UnloadFromMyGarages | Lib9c", - "keywords": "Class UnloadFromMyGarages Namespace Nekoyume.Action.Garages Assembly Lib9c.dll [ActionType(\"unload_from_my_garages\")] public class UnloadFromMyGarages : GameAction, IUnloadFromMyGaragesV1, IAction Inheritance object ActionBase GameAction UnloadFromMyGarages Implements IUnloadFromMyGaragesV1 IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors UnloadFromMyGarages() public UnloadFromMyGarages() UnloadFromMyGarages(Address, IEnumerable<(Address balanceAddr, FungibleAssetValue value)>?, IEnumerable<(HashDigest fungibleId, int count)>?, string?) public UnloadFromMyGarages(Address recipientAvatarAddr, IEnumerable<(Address balanceAddr, FungibleAssetValue value)>? fungibleAssetValues, IEnumerable<(HashDigest fungibleId, int count)>? fungibleIdAndCounts, string? memo) Parameters recipientAvatarAddr Address fungibleAssetValues IEnumerable<(Address balanceAddr, FungibleAssetValue value)> fungibleIdAndCounts IEnumerable<(HashDigest fungibleId, int count)> memo string Properties FungibleAssetValues public IOrderedEnumerable<(Address balanceAddr, FungibleAssetValue value)>? FungibleAssetValues { get; } Property Value IOrderedEnumerable<(Address balanceAddr, FungibleAssetValue value)> FungibleIdAndCounts public IOrderedEnumerable<(HashDigest fungibleId, int count)>? FungibleIdAndCounts { get; } Property Value IOrderedEnumerable<(HashDigest fungibleId, int count)> Memo public string? Memo { get; } Property Value string PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary RecipientAvatarAddr If the avatar state is v1, there is no separate inventory, so it should be execute another action first to migrate the avatar state to v2. And then, the inventory address will be set. public Address RecipientAvatarAddr { get; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class UnloadFromMyGarages Namespace Nekoyume.Action.Garages Assembly Lib9c.dll [ActionType(\"unload_from_my_garages\")] public class UnloadFromMyGarages : GameAction, IUnloadFromMyGaragesV1, IAction Inheritance object ActionBase GameAction UnloadFromMyGarages Implements IUnloadFromMyGaragesV1 IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors UnloadFromMyGarages() public UnloadFromMyGarages() UnloadFromMyGarages(Address, IEnumerable<(Address balanceAddr, FungibleAssetValue value)>?, IEnumerable<(HashDigest fungibleId, int count)>?, string?) public UnloadFromMyGarages(Address recipientAvatarAddr, IEnumerable<(Address balanceAddr, FungibleAssetValue value)>? fungibleAssetValues, IEnumerable<(HashDigest fungibleId, int count)>? fungibleIdAndCounts, string? memo) Parameters recipientAvatarAddr Address fungibleAssetValues IEnumerable<(Address balanceAddr, FungibleAssetValue value)> fungibleIdAndCounts IEnumerable<(HashDigest fungibleId, int count)> memo string Properties FungibleAssetValues public IOrderedEnumerable<(Address balanceAddr, FungibleAssetValue value)>? FungibleAssetValues { get; } Property Value IOrderedEnumerable<(Address balanceAddr, FungibleAssetValue value)> FungibleIdAndCounts public IOrderedEnumerable<(HashDigest fungibleId, int count)>? FungibleIdAndCounts { get; } Property Value IOrderedEnumerable<(HashDigest fungibleId, int count)> Memo public string? Memo { get; } Property Value string PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary RecipientAvatarAddr If the avatar state is v1, there is no separate inventory, so it should be execute another action first to migrate the avatar state to v2. And then, the inventory address will be set. public Address RecipientAvatarAddr { get; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.Garages.html": { "href": "api/Nekoyume.Action.Garages.html", @@ -682,27 +682,27 @@ "api/Nekoyume.Action.Grinding.html": { "href": "api/Nekoyume.Action.Grinding.html", "title": "Class Grinding | Lib9c", - "keywords": "Class Grinding Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"grinding2\")] public class Grinding : GameAction, IAction, IGrindingV1 Inheritance object ActionBase GameAction Grinding Implements IAction IGrindingV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address ChargeAp public bool ChargeAp Field Value bool CostAp public const int CostAp = 5 Field Value int EquipmentIds public List EquipmentIds Field Value List Limit public const int Limit = 50 Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods CalculateMaterialReward(IEnumerable, CrystalEquipmentGrindingSheet, MaterialItemSheet) public static Dictionary CalculateMaterialReward(IEnumerable equipmentList, CrystalEquipmentGrindingSheet crystalEquipmentGrindingSheet, MaterialItemSheet materialItemSheet) Parameters equipmentList IEnumerable crystalEquipmentGrindingSheet CrystalEquipmentGrindingSheet materialItemSheet MaterialItemSheet Returns Dictionary Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class Grinding Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"grinding2\")] public class Grinding : GameAction, IAction, IGrindingV1 Inheritance object ActionBase GameAction Grinding Implements IAction IGrindingV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address ChargeAp public bool ChargeAp Field Value bool CostAp public const int CostAp = 5 Field Value int EquipmentIds public List EquipmentIds Field Value List Limit public const int Limit = 50 Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods CalculateMaterialReward(IEnumerable, CrystalEquipmentGrindingSheet, MaterialItemSheet) public static Dictionary CalculateMaterialReward(IEnumerable equipmentList, CrystalEquipmentGrindingSheet crystalEquipmentGrindingSheet, MaterialItemSheet materialItemSheet) Parameters equipmentList IEnumerable crystalEquipmentGrindingSheet CrystalEquipmentGrindingSheet materialItemSheet MaterialItemSheet Returns Dictionary Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.Guild.AcceptGuildApplication.html": { "href": "api/Nekoyume.Action.Guild.AcceptGuildApplication.html", "title": "Class AcceptGuildApplication | Lib9c", - "keywords": "Class AcceptGuildApplication Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class AcceptGuildApplication : ActionBase, IAction Inheritance object ActionBase AcceptGuildApplication Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors AcceptGuildApplication() public AcceptGuildApplication() AcceptGuildApplication(AgentAddress) public AcceptGuildApplication(AgentAddress target) Parameters target AgentAddress Fields TypeIdentifier public const string TypeIdentifier = \"accept_guild_application\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Target public AgentAddress Target { get; } Property Value AgentAddress Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class AcceptGuildApplication Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class AcceptGuildApplication : ActionBase, IAction Inheritance object ActionBase AcceptGuildApplication Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors AcceptGuildApplication() public AcceptGuildApplication() AcceptGuildApplication(AgentAddress) public AcceptGuildApplication(AgentAddress target) Parameters target AgentAddress Fields TypeIdentifier public const string TypeIdentifier = \"accept_guild_application\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Target public AgentAddress Target { get; } Property Value AgentAddress Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.Guild.ApplyGuild.html": { "href": "api/Nekoyume.Action.Guild.ApplyGuild.html", "title": "Class ApplyGuild | Lib9c", - "keywords": "Class ApplyGuild Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class ApplyGuild : ActionBase, IAction Inheritance object ActionBase ApplyGuild Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ApplyGuild() public ApplyGuild() ApplyGuild(GuildAddress) public ApplyGuild(GuildAddress guildAddress) Parameters guildAddress GuildAddress Fields TypeIdentifier public const string TypeIdentifier = \"apply_guild\" Field Value string Properties GuildAddress public GuildAddress GuildAddress { get; } Property Value GuildAddress PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class ApplyGuild Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class ApplyGuild : ActionBase, IAction Inheritance object ActionBase ApplyGuild Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ApplyGuild() public ApplyGuild() ApplyGuild(GuildAddress) public ApplyGuild(GuildAddress guildAddress) Parameters guildAddress GuildAddress Fields TypeIdentifier public const string TypeIdentifier = \"apply_guild\" Field Value string Properties GuildAddress public GuildAddress GuildAddress { get; } Property Value GuildAddress PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.Guild.BanGuildMember.html": { "href": "api/Nekoyume.Action.Guild.BanGuildMember.html", "title": "Class BanGuildMember | Lib9c", - "keywords": "Class BanGuildMember Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class BanGuildMember : ActionBase, IAction Inheritance object ActionBase BanGuildMember Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors BanGuildMember() public BanGuildMember() BanGuildMember(AgentAddress) public BanGuildMember(AgentAddress target) Parameters target AgentAddress Fields TypeIdentifier public const string TypeIdentifier = \"ban_guild_member\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Target public AgentAddress Target { get; } Property Value AgentAddress Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class BanGuildMember Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class BanGuildMember : ActionBase, IAction Inheritance object ActionBase BanGuildMember Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors BanGuildMember() public BanGuildMember() BanGuildMember(AgentAddress) public BanGuildMember(AgentAddress target) Parameters target AgentAddress Fields TypeIdentifier public const string TypeIdentifier = \"ban_guild_member\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Target public AgentAddress Target { get; } Property Value AgentAddress Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.Guild.CancelGuildApplication.html": { "href": "api/Nekoyume.Action.Guild.CancelGuildApplication.html", "title": "Class CancelGuildApplication | Lib9c", - "keywords": "Class CancelGuildApplication Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class CancelGuildApplication : ActionBase, IAction Inheritance object ActionBase CancelGuildApplication Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields TypeIdentifier public const string TypeIdentifier = \"cancel_guild_application\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class CancelGuildApplication Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class CancelGuildApplication : ActionBase, IAction Inheritance object ActionBase CancelGuildApplication Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields TypeIdentifier public const string TypeIdentifier = \"cancel_guild_application\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.Guild.GuildConfig.html": { "href": "api/Nekoyume.Action.Guild.GuildConfig.html", @@ -712,7 +712,7 @@ "api/Nekoyume.Action.Guild.MakeGuild.html": { "href": "api/Nekoyume.Action.Guild.MakeGuild.html", "title": "Class MakeGuild | Lib9c", - "keywords": "Class MakeGuild Namespace Nekoyume.Action.Guild Assembly Lib9c.dll [ActionType(\"make_guild\")] public class MakeGuild : ActionBase, IAction Inheritance object ActionBase MakeGuild Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields TypeIdentifier public const string TypeIdentifier = \"make_guild\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class MakeGuild Namespace Nekoyume.Action.Guild Assembly Lib9c.dll [ActionType(\"make_guild\")] public class MakeGuild : ActionBase, IAction Inheritance object ActionBase MakeGuild Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields TypeIdentifier public const string TypeIdentifier = \"make_guild\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.Guild.Migration.Controls.GuildMigrationCtrl.html": { "href": "api/Nekoyume.Action.Guild.Migration.Controls.GuildMigrationCtrl.html", @@ -732,7 +732,7 @@ "api/Nekoyume.Action.Guild.Migration.MigratePledgeToGuild.html": { "href": "api/Nekoyume.Action.Guild.Migration.MigratePledgeToGuild.html", "title": "Class MigratePledgeToGuild | Lib9c", - "keywords": "Class MigratePledgeToGuild Namespace Nekoyume.Action.Guild.Migration Assembly Lib9c.dll An action to migrate the pledge to the guild. But it is only for accounts contracted pledge with Planetarium (PatronAddress). [ActionType(\"migrate_pledge_to_guild\")] public class MigratePledgeToGuild : ActionBase, IAction Inheritance object ActionBase MigratePledgeToGuild Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors MigratePledgeToGuild() [Obsolete(\"Don't call in code.\", true)] public MigratePledgeToGuild() MigratePledgeToGuild(AgentAddress) public MigratePledgeToGuild(AgentAddress target) Parameters target AgentAddress Fields TypeIdentifier public const string TypeIdentifier = \"migrate_pledge_to_guild\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Target public AgentAddress Target { get; } Property Value AgentAddress Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class MigratePledgeToGuild Namespace Nekoyume.Action.Guild.Migration Assembly Lib9c.dll An action to migrate the pledge to the guild. But it is only for accounts contracted pledge with Planetarium (PatronAddress). [ActionType(\"migrate_pledge_to_guild\")] public class MigratePledgeToGuild : ActionBase, IAction Inheritance object ActionBase MigratePledgeToGuild Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors MigratePledgeToGuild() [Obsolete(\"Don't call in code.\", true)] public MigratePledgeToGuild() MigratePledgeToGuild(AgentAddress) public MigratePledgeToGuild(AgentAddress target) Parameters target AgentAddress Fields TypeIdentifier public const string TypeIdentifier = \"migrate_pledge_to_guild\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Target public AgentAddress Target { get; } Property Value AgentAddress Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.Guild.Migration.html": { "href": "api/Nekoyume.Action.Guild.Migration.html", @@ -742,22 +742,22 @@ "api/Nekoyume.Action.Guild.QuitGuild.html": { "href": "api/Nekoyume.Action.Guild.QuitGuild.html", "title": "Class QuitGuild | Lib9c", - "keywords": "Class QuitGuild Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class QuitGuild : ActionBase, IAction Inheritance object ActionBase QuitGuild Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields TypeIdentifier public const string TypeIdentifier = \"quit_guild\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class QuitGuild Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class QuitGuild : ActionBase, IAction Inheritance object ActionBase QuitGuild Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields TypeIdentifier public const string TypeIdentifier = \"quit_guild\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.Guild.RejectGuildApplication.html": { "href": "api/Nekoyume.Action.Guild.RejectGuildApplication.html", "title": "Class RejectGuildApplication | Lib9c", - "keywords": "Class RejectGuildApplication Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class RejectGuildApplication : ActionBase, IAction Inheritance object ActionBase RejectGuildApplication Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors RejectGuildApplication() public RejectGuildApplication() RejectGuildApplication(AgentAddress) public RejectGuildApplication(AgentAddress target) Parameters target AgentAddress Fields TypeIdentifier public const string TypeIdentifier = \"reject_guild_application\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Target public AgentAddress Target { get; } Property Value AgentAddress Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class RejectGuildApplication Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class RejectGuildApplication : ActionBase, IAction Inheritance object ActionBase RejectGuildApplication Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors RejectGuildApplication() public RejectGuildApplication() RejectGuildApplication(AgentAddress) public RejectGuildApplication(AgentAddress target) Parameters target AgentAddress Fields TypeIdentifier public const string TypeIdentifier = \"reject_guild_application\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Target public AgentAddress Target { get; } Property Value AgentAddress Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.Guild.RemoveGuild.html": { "href": "api/Nekoyume.Action.Guild.RemoveGuild.html", "title": "Class RemoveGuild | Lib9c", - "keywords": "Class RemoveGuild Namespace Nekoyume.Action.Guild Assembly Lib9c.dll An action to remove the guild. public class RemoveGuild : ActionBase, IAction Inheritance object ActionBase RemoveGuild Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields TypeIdentifier public const string TypeIdentifier = \"remove_guild\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class RemoveGuild Namespace Nekoyume.Action.Guild Assembly Lib9c.dll An action to remove the guild. public class RemoveGuild : ActionBase, IAction Inheritance object ActionBase RemoveGuild Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields TypeIdentifier public const string TypeIdentifier = \"remove_guild\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.Guild.UnbanGuildMember.html": { "href": "api/Nekoyume.Action.Guild.UnbanGuildMember.html", "title": "Class UnbanGuildMember | Lib9c", - "keywords": "Class UnbanGuildMember Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class UnbanGuildMember : ActionBase, IAction Inheritance object ActionBase UnbanGuildMember Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors UnbanGuildMember() public UnbanGuildMember() UnbanGuildMember(Address) public UnbanGuildMember(Address target) Parameters target Address Fields TypeIdentifier public const string TypeIdentifier = \"unban_guild_member\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Target public Address Target { get; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class UnbanGuildMember Namespace Nekoyume.Action.Guild Assembly Lib9c.dll public class UnbanGuildMember : ActionBase, IAction Inheritance object ActionBase UnbanGuildMember Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors UnbanGuildMember() public UnbanGuildMember() UnbanGuildMember(Address) public UnbanGuildMember(Address target) Parameters target Address Fields TypeIdentifier public const string TypeIdentifier = \"unban_guild_member\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Target public Address Target { get; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.Guild.html": { "href": "api/Nekoyume.Action.Guild.html", @@ -767,17 +767,17 @@ "api/Nekoyume.Action.HackAndSlash.html": { "href": "api/Nekoyume.Action.HackAndSlash.html", "title": "Class HackAndSlash | Lib9c", - "keywords": "Class HackAndSlash Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"hack_and_slash22\")] public class HackAndSlash : GameAction, IAction, IHackAndSlashV10 Inheritance object ActionBase GameAction HackAndSlash Implements IAction IHackAndSlashV10 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ApStoneCount public int ApStoneCount Field Value int AvatarAddress public Address AvatarAddress Field Value Address Costumes public List Costumes Field Value List Equipments public List Equipments Field Value List Foods public List Foods Field Value List RuneInfos public List RuneInfos Field Value List StageBuffId public int? StageBuffId Field Value int? StageId public int StageId Field Value int TotalPlayCount public int TotalPlayCount Field Value int UsableApStoneCount public const int UsableApStoneCount = 10 Field Value int WorldId public int WorldId Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext Execute(IWorld, Address, long, IRandom) public IWorld Execute(IWorld states, Address signer, long blockIndex, IRandom random) Parameters states IWorld signer Address blockIndex long random IRandom Returns IWorld LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class HackAndSlash Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"hack_and_slash22\")] public class HackAndSlash : GameAction, IAction, IHackAndSlashV10 Inheritance object ActionBase GameAction HackAndSlash Implements IAction IHackAndSlashV10 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ApStoneCount public int ApStoneCount Field Value int AvatarAddress public Address AvatarAddress Field Value Address Costumes public List Costumes Field Value List Equipments public List Equipments Field Value List Foods public List Foods Field Value List RuneInfos public List RuneInfos Field Value List StageBuffId public int? StageBuffId Field Value int? StageId public int StageId Field Value int TotalPlayCount public int TotalPlayCount Field Value int UsableApStoneCount public const int UsableApStoneCount = 10 Field Value int WorldId public int WorldId Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext Execute(IWorld, Address, long, IRandom) public IWorld Execute(IWorld states, Address signer, long blockIndex, IRandom random) Parameters states IWorld signer Address blockIndex long random IRandom Returns IWorld LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.HackAndSlashRandomBuff.html": { "href": "api/Nekoyume.Action.HackAndSlashRandomBuff.html", "title": "Class HackAndSlashRandomBuff | Lib9c", - "keywords": "Class HackAndSlashRandomBuff Namespace Nekoyume.Action Assembly Lib9c.dll Created at https://github.com/planetarium/lib9c/pull/1031 [Serializable] [ActionType(\"hack_and_slash_random_buff\")] public class HackAndSlashRandomBuff : GameAction, IAction, IHackAndSlashRandomBuffV1 Inheritance object ActionBase GameAction HackAndSlashRandomBuff Implements IAction IHackAndSlashRandomBuffV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AdvancedGacha public bool AdvancedGacha Field Value bool AdvancedGachaCount public const int AdvancedGachaCount = 10 Field Value int AvatarAddress public Address AvatarAddress Field Value Address NormalGachaCount public const int NormalGachaCount = 5 Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class HackAndSlashRandomBuff Namespace Nekoyume.Action Assembly Lib9c.dll Created at https://github.com/planetarium/lib9c/pull/1031 [Serializable] [ActionType(\"hack_and_slash_random_buff\")] public class HackAndSlashRandomBuff : GameAction, IAction, IHackAndSlashRandomBuffV1 Inheritance object ActionBase GameAction HackAndSlashRandomBuff Implements IAction IHackAndSlashRandomBuffV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AdvancedGacha public bool AdvancedGacha Field Value bool AdvancedGachaCount public const int AdvancedGachaCount = 10 Field Value int AvatarAddress public Address AvatarAddress Field Value Address NormalGachaCount public const int NormalGachaCount = 5 Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.HackAndSlashSweep.html": { "href": "api/Nekoyume.Action.HackAndSlashSweep.html", "title": "Class HackAndSlashSweep | Lib9c", - "keywords": "Class HackAndSlashSweep Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"hack_and_slash_sweep10\")] public class HackAndSlashSweep : GameAction, IAction, IHackAndSlashSweepV3 Inheritance object ActionBase GameAction HackAndSlashSweep Implements IAction IHackAndSlashSweepV3 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields UsableApStoneCount public const int UsableApStoneCount = 20 Field Value int actionPoint public int actionPoint Field Value int apStoneCount public int apStoneCount Field Value int avatarAddress public Address avatarAddress Field Value Address costumes public List costumes Field Value List equipments public List equipments Field Value List runeInfos public List runeInfos Field Value List stageId public int stageId Field Value int worldId public int worldId Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetRewardItems(IRandom, int, Row, MaterialItemSheet) public static List GetRewardItems(IRandom random, int playCount, StageSheet.Row stageRow, MaterialItemSheet materialItemSheet) Parameters random IRandom playCount int stageRow StageSheet.Row materialItemSheet MaterialItemSheet Returns List LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class HackAndSlashSweep Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"hack_and_slash_sweep10\")] public class HackAndSlashSweep : GameAction, IAction, IHackAndSlashSweepV3 Inheritance object ActionBase GameAction HackAndSlashSweep Implements IAction IHackAndSlashSweepV3 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields UsableApStoneCount public const int UsableApStoneCount = 20 Field Value int actionPoint public int actionPoint Field Value int apStoneCount public int apStoneCount Field Value int avatarAddress public Address avatarAddress Field Value Address costumes public List costumes Field Value List equipments public List equipments Field Value List runeInfos public List runeInfos Field Value List stageId public int stageId Field Value int worldId public int worldId Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetRewardItems(IRandom, int, Row, MaterialItemSheet) public static List GetRewardItems(IRandom random, int playCount, StageSheet.Row stageRow, MaterialItemSheet materialItemSheet) Parameters random IRandom playCount int stageRow StageSheet.Row materialItemSheet MaterialItemSheet Returns List LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.IBuy0.html": { "href": "api/Nekoyume.Action.IBuy0.html", @@ -832,7 +832,7 @@ "api/Nekoyume.Action.InitializeStates.html": { "href": "api/Nekoyume.Action.InitializeStates.html", "title": "Class InitializeStates | Lib9c", - "keywords": "Class InitializeStates Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at Initial commit(2e645be18a4e2caea031c347f00777fbad5dbcc6) Updated at NCG distribution(7e4515b6e14cc5d6eb716d5ebb587ab04b4246f9) Updated at https://github.com/planetarium/lib9c/pull/19 Updated at https://github.com/planetarium/lib9c/pull/36 Updated at https://github.com/planetarium/lib9c/pull/42 Updated at https://github.com/planetarium/lib9c/pull/55 Updated at https://github.com/planetarium/lib9c/pull/57 Updated at https://github.com/planetarium/lib9c/pull/60 Updated at https://github.com/planetarium/lib9c/pull/102 Updated at https://github.com/planetarium/lib9c/pull/128 Updated at https://github.com/planetarium/lib9c/pull/167 Updated at https://github.com/planetarium/lib9c/pull/422 Updated at https://github.com/planetarium/lib9c/pull/747 Updated at https://github.com/planetarium/lib9c/pull/798 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"initialize_states\")] public class InitializeStates : GameAction, IAction, IInitializeStatesV1 Inheritance object ActionBase GameAction InitializeStates Implements IAction IInitializeStatesV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors InitializeStates() public InitializeStates() InitializeStates(RankingState0, ShopState, Dictionary, GameConfigState, RedeemCodeState, ActivatedAccountsState, GoldCurrencyState, GoldDistribution[], PendingActivationState[], AdminState, AuthorizedMinersState, CreditsState, ISet
) public InitializeStates(RankingState0 rankingState, ShopState shopState, Dictionary tableSheets, GameConfigState gameConfigState, RedeemCodeState redeemCodeState, ActivatedAccountsState activatedAccountsState, GoldCurrencyState goldCurrencyState, GoldDistribution[] goldDistributions, PendingActivationState[] pendingActivationStates, AdminState adminAddressState = null, AuthorizedMinersState authorizedMinersState = null, CreditsState creditsState = null, ISet
assetMinters = null) Parameters rankingState RankingState0 shopState ShopState tableSheets Dictionary gameConfigState GameConfigState redeemCodeState RedeemCodeState activatedAccountsState ActivatedAccountsState goldCurrencyState GoldCurrencyState goldDistributions GoldDistribution[] pendingActivationStates PendingActivationState[] adminAddressState AdminState authorizedMinersState AuthorizedMinersState creditsState CreditsState assetMinters ISet
Properties ActivatedAccounts public Dictionary ActivatedAccounts { get; set; } Property Value Dictionary AdminAddressState public Dictionary AdminAddressState { get; set; } Property Value Dictionary AssetMinters public ISet
AssetMinters { get; set; } Property Value ISet
AuthorizedMiners public Dictionary AuthorizedMiners { get; set; } Property Value Dictionary Credits public Dictionary Credits { get; set; } Property Value Dictionary GameConfig public Dictionary GameConfig { get; set; } Property Value Dictionary GoldCurrency public Dictionary GoldCurrency { get; set; } Property Value Dictionary GoldDistributions public List GoldDistributions { get; set; } Property Value List PendingActivations public List PendingActivations { get; set; } Property Value List PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Ranking public Dictionary Ranking { get; set; } Property Value Dictionary RedeemCode public Dictionary RedeemCode { get; set; } Property Value Dictionary Shop public Dictionary Shop { get; set; } Property Value Dictionary TableSheets public Dictionary TableSheets { get; set; } Property Value Dictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class InitializeStates Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at Initial commit(2e645be18a4e2caea031c347f00777fbad5dbcc6) Updated at NCG distribution(7e4515b6e14cc5d6eb716d5ebb587ab04b4246f9) Updated at https://github.com/planetarium/lib9c/pull/19 Updated at https://github.com/planetarium/lib9c/pull/36 Updated at https://github.com/planetarium/lib9c/pull/42 Updated at https://github.com/planetarium/lib9c/pull/55 Updated at https://github.com/planetarium/lib9c/pull/57 Updated at https://github.com/planetarium/lib9c/pull/60 Updated at https://github.com/planetarium/lib9c/pull/102 Updated at https://github.com/planetarium/lib9c/pull/128 Updated at https://github.com/planetarium/lib9c/pull/167 Updated at https://github.com/planetarium/lib9c/pull/422 Updated at https://github.com/planetarium/lib9c/pull/747 Updated at https://github.com/planetarium/lib9c/pull/798 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"initialize_states\")] public class InitializeStates : GameAction, IAction, IInitializeStatesV1 Inheritance object ActionBase GameAction InitializeStates Implements IAction IInitializeStatesV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors InitializeStates() public InitializeStates() InitializeStates(RankingState0, ShopState, Dictionary, GameConfigState, RedeemCodeState, ActivatedAccountsState, GoldCurrencyState, GoldDistribution[], PendingActivationState[], AdminState, AuthorizedMinersState, CreditsState, ISet
) public InitializeStates(RankingState0 rankingState, ShopState shopState, Dictionary tableSheets, GameConfigState gameConfigState, RedeemCodeState redeemCodeState, ActivatedAccountsState activatedAccountsState, GoldCurrencyState goldCurrencyState, GoldDistribution[] goldDistributions, PendingActivationState[] pendingActivationStates, AdminState adminAddressState = null, AuthorizedMinersState authorizedMinersState = null, CreditsState creditsState = null, ISet
assetMinters = null) Parameters rankingState RankingState0 shopState ShopState tableSheets Dictionary gameConfigState GameConfigState redeemCodeState RedeemCodeState activatedAccountsState ActivatedAccountsState goldCurrencyState GoldCurrencyState goldDistributions GoldDistribution[] pendingActivationStates PendingActivationState[] adminAddressState AdminState authorizedMinersState AuthorizedMinersState creditsState CreditsState assetMinters ISet
Properties ActivatedAccounts public Dictionary ActivatedAccounts { get; set; } Property Value Dictionary AdminAddressState public Dictionary AdminAddressState { get; set; } Property Value Dictionary AssetMinters public ISet
AssetMinters { get; set; } Property Value ISet
AuthorizedMiners public Dictionary AuthorizedMiners { get; set; } Property Value Dictionary Credits public Dictionary Credits { get; set; } Property Value Dictionary GameConfig public Dictionary GameConfig { get; set; } Property Value Dictionary GoldCurrency public Dictionary GoldCurrency { get; set; } Property Value Dictionary GoldDistributions public List GoldDistributions { get; set; } Property Value List PendingActivations public List PendingActivations { get; set; } Property Value List PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Ranking public Dictionary Ranking { get; set; } Property Value Dictionary RedeemCode public Dictionary RedeemCode { get; set; } Property Value Dictionary Shop public Dictionary Shop { get; set; } Property Value Dictionary TableSheets public Dictionary TableSheets { get; set; } Property Value Dictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.InvalidAddressException.html": { "href": "api/Nekoyume.Action.InvalidAddressException.html", @@ -977,7 +977,7 @@ "api/Nekoyume.Action.IssueToken.html": { "href": "api/Nekoyume.Action.IssueToken.html", "title": "Class IssueToken | Lib9c", - "keywords": "Class IssueToken Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"issue_token\")] public class IssueToken : ActionBase, IAction Inheritance object ActionBase IssueToken Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors IssueToken() public IssueToken() Fields AvatarAddress public Address AvatarAddress Field Value Address FungibleAssetValues public List FungibleAssetValues Field Value List Items public List<(int id, int count, bool tradable)> Items Field Value List<(int id, int count, bool tradable)> TypeIdentifier public const string TypeIdentifier = \"issue_token\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class IssueToken Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"issue_token\")] public class IssueToken : ActionBase, IAction Inheritance object ActionBase IssueToken Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors IssueToken() public IssueToken() Fields AvatarAddress public Address AvatarAddress Field Value Address FungibleAssetValues public List FungibleAssetValues Field Value List Items public List<(int id, int count, bool tradable)> Items Field Value List<(int id, int count, bool tradable)> TypeIdentifier public const string TypeIdentifier = \"issue_token\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.IssueTokensFromGarage.Spec.html": { "href": "api/Nekoyume.Action.IssueTokensFromGarage.Spec.html", @@ -987,7 +987,7 @@ "api/Nekoyume.Action.IssueTokensFromGarage.html": { "href": "api/Nekoyume.Action.IssueTokensFromGarage.html", "title": "Class IssueTokensFromGarage | Lib9c", - "keywords": "Class IssueTokensFromGarage Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"issue_tokens_from_garage\")] public class IssueTokensFromGarage : ActionBase, IAction Inheritance object ActionBase IssueTokensFromGarage Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors IssueTokensFromGarage() public IssueTokensFromGarage() IssueTokensFromGarage(IEnumerable) public IssueTokensFromGarage(IEnumerable specs) Parameters specs IEnumerable Fields TypeIdentifier public const string TypeIdentifier = \"issue_tokens_from_garage\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Specs public IEnumerable Specs { get; } Property Value IEnumerable Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class IssueTokensFromGarage Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"issue_tokens_from_garage\")] public class IssueTokensFromGarage : ActionBase, IAction Inheritance object ActionBase IssueTokensFromGarage Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors IssueTokensFromGarage() public IssueTokensFromGarage() IssueTokensFromGarage(IEnumerable) public IssueTokensFromGarage(IEnumerable specs) Parameters specs IEnumerable Fields TypeIdentifier public const string TypeIdentifier = \"issue_tokens_from_garage\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Specs public IEnumerable Specs { get; } Property Value IEnumerable Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.ItemDoesNotExistException.html": { "href": "api/Nekoyume.Action.ItemDoesNotExistException.html", @@ -997,7 +997,7 @@ "api/Nekoyume.Action.ItemEnhancement.html": { "href": "api/Nekoyume.Action.ItemEnhancement.html", "title": "Class ItemEnhancement | Lib9c", - "keywords": "Class ItemEnhancement Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"item_enhancement14\")] public class ItemEnhancement : GameAction, IAction, IItemEnhancementV5 Inheritance object ActionBase GameAction ItemEnhancement Implements IAction IItemEnhancementV5 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields HammerBannedTypes public static readonly IReadOnlyCollection HammerBannedTypes Field Value IReadOnlyCollection HammerIds public static readonly IReadOnlyCollection HammerIds Field Value IReadOnlyCollection MaterialCountLimit public const int MaterialCountLimit = 50 Field Value int avatarAddress public Address avatarAddress Field Value Address hammers public Dictionary hammers Field Value Dictionary itemId public Guid itemId Field Value Guid materialIds public List materialIds Field Value List slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetEquipmentMaxLevel(Equipment, EnhancementCostSheetV3) public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV3 sheet) Parameters equipment Equipment sheet EnhancementCostSheetV3 Returns int GetRequiredBlockCount(Equipment, Equipment, EnhancementCostSheetV3) public static int GetRequiredBlockCount(Equipment preEquipment, Equipment targetEquipment, EnhancementCostSheetV3 sheet) Parameters preEquipment Equipment targetEquipment Equipment sheet EnhancementCostSheetV3 Returns int LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary TryGetRow(Equipment, EnhancementCostSheetV3, out Row) public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV3 sheet, out EnhancementCostSheetV3.Row row) Parameters equipment Equipment sheet EnhancementCostSheetV3 row EnhancementCostSheetV3.Row Returns bool" + "keywords": "Class ItemEnhancement Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"item_enhancement14\")] public class ItemEnhancement : GameAction, IAction, IItemEnhancementV5 Inheritance object ActionBase GameAction ItemEnhancement Implements IAction IItemEnhancementV5 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields HammerBannedTypes public static readonly IReadOnlyCollection HammerBannedTypes Field Value IReadOnlyCollection HammerIds public static readonly IReadOnlyCollection HammerIds Field Value IReadOnlyCollection MaterialCountLimit public const int MaterialCountLimit = 50 Field Value int avatarAddress public Address avatarAddress Field Value Address hammers public Dictionary hammers Field Value Dictionary itemId public Guid itemId Field Value Guid materialIds public List materialIds Field Value List slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetEquipmentMaxLevel(Equipment, EnhancementCostSheetV3) public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV3 sheet) Parameters equipment Equipment sheet EnhancementCostSheetV3 Returns int GetRequiredBlockCount(Equipment, Equipment, EnhancementCostSheetV3) public static int GetRequiredBlockCount(Equipment preEquipment, Equipment targetEquipment, EnhancementCostSheetV3 sheet) Parameters preEquipment Equipment targetEquipment Equipment sheet EnhancementCostSheetV3 Returns int LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary TryGetRow(Equipment, EnhancementCostSheetV3, out Row) public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV3 sheet, out EnhancementCostSheetV3.Row row) Parameters equipment Equipment sheet EnhancementCostSheetV3 row EnhancementCostSheetV3.Row Returns bool" }, "api/Nekoyume.Action.ItemEnhancement10.EnhancementResult.html": { "href": "api/Nekoyume.Action.ItemEnhancement10.EnhancementResult.html", @@ -1012,7 +1012,7 @@ "api/Nekoyume.Action.ItemEnhancement10.html": { "href": "api/Nekoyume.Action.ItemEnhancement10.html", "title": "Class ItemEnhancement10 | Lib9c", - "keywords": "Class ItemEnhancement10 Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/1176 [Serializable] [ActionType(\"item_enhancement10\")] [ActionObsolete(7200000)] public class ItemEnhancement10 : GameAction, IAction, IItemEnhancementV2 Inheritance object ActionBase GameAction ItemEnhancement10 Implements IAction IItemEnhancementV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address itemId public Guid itemId Field Value Guid materialId public Guid materialId Field Value Guid slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetEnhancementResult(Row, IRandom) public static ItemEnhancement10.EnhancementResult GetEnhancementResult(EnhancementCostSheetV2.Row row, IRandom random) Parameters row EnhancementCostSheetV2.Row random IRandom Returns ItemEnhancement10.EnhancementResult GetEquipmentMaxLevel(Equipment, EnhancementCostSheetV2) public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV2 sheet) Parameters equipment Equipment sheet EnhancementCostSheetV2 Returns int GetFeeStoreAddress() public static Address GetFeeStoreAddress() Returns Address GetRequiredAp() public static int GetRequiredAp() Returns int GetRequiredBlockCount(Row, EnhancementResult) public static int GetRequiredBlockCount(EnhancementCostSheetV2.Row row, ItemEnhancement10.EnhancementResult result) Parameters row EnhancementCostSheetV2.Row result ItemEnhancement10.EnhancementResult Returns int LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary TryGetRow(Equipment, EnhancementCostSheetV2, out Row) public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV2 sheet, out EnhancementCostSheetV2.Row row) Parameters equipment Equipment sheet EnhancementCostSheetV2 row EnhancementCostSheetV2.Row Returns bool" + "keywords": "Class ItemEnhancement10 Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/1176 [Serializable] [ActionType(\"item_enhancement10\")] [ActionObsolete(7200000)] public class ItemEnhancement10 : GameAction, IAction, IItemEnhancementV2 Inheritance object ActionBase GameAction ItemEnhancement10 Implements IAction IItemEnhancementV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address itemId public Guid itemId Field Value Guid materialId public Guid materialId Field Value Guid slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetEnhancementResult(Row, IRandom) public static ItemEnhancement10.EnhancementResult GetEnhancementResult(EnhancementCostSheetV2.Row row, IRandom random) Parameters row EnhancementCostSheetV2.Row random IRandom Returns ItemEnhancement10.EnhancementResult GetEquipmentMaxLevel(Equipment, EnhancementCostSheetV2) public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV2 sheet) Parameters equipment Equipment sheet EnhancementCostSheetV2 Returns int GetFeeStoreAddress() public static Address GetFeeStoreAddress() Returns Address GetRequiredAp() public static int GetRequiredAp() Returns int GetRequiredBlockCount(Row, EnhancementResult) public static int GetRequiredBlockCount(EnhancementCostSheetV2.Row row, ItemEnhancement10.EnhancementResult result) Parameters row EnhancementCostSheetV2.Row result ItemEnhancement10.EnhancementResult Returns int LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary TryGetRow(Equipment, EnhancementCostSheetV2, out Row) public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV2 sheet, out EnhancementCostSheetV2.Row row) Parameters equipment Equipment sheet EnhancementCostSheetV2 row EnhancementCostSheetV2.Row Returns bool" }, "api/Nekoyume.Action.ItemEnhancement11.EnhancementResult.html": { "href": "api/Nekoyume.Action.ItemEnhancement11.EnhancementResult.html", @@ -1027,7 +1027,7 @@ "api/Nekoyume.Action.ItemEnhancement11.html": { "href": "api/Nekoyume.Action.ItemEnhancement11.html", "title": "Class ItemEnhancement11 | Lib9c", - "keywords": "Class ItemEnhancement11 Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/1164 [Serializable] [ActionType(\"item_enhancement11\")] public class ItemEnhancement11 : GameAction, IAction, IItemEnhancementV2 Inheritance object ActionBase GameAction ItemEnhancement11 Implements IAction IItemEnhancementV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address itemId public Guid itemId Field Value Guid materialId public Guid materialId Field Value Guid slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetEnhancementResult(Row, IRandom) public static ItemEnhancement11.EnhancementResult GetEnhancementResult(EnhancementCostSheetV2.Row row, IRandom random) Parameters row EnhancementCostSheetV2.Row random IRandom Returns ItemEnhancement11.EnhancementResult GetEquipmentMaxLevel(Equipment, EnhancementCostSheetV2) public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV2 sheet) Parameters equipment Equipment sheet EnhancementCostSheetV2 Returns int GetRequiredAp() public static int GetRequiredAp() Returns int GetRequiredBlockCount(Row, EnhancementResult) public static int GetRequiredBlockCount(EnhancementCostSheetV2.Row row, ItemEnhancement11.EnhancementResult result) Parameters row EnhancementCostSheetV2.Row result ItemEnhancement11.EnhancementResult Returns int LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary TryGetRow(Equipment, EnhancementCostSheetV2, out Row) public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV2 sheet, out EnhancementCostSheetV2.Row row) Parameters equipment Equipment sheet EnhancementCostSheetV2 row EnhancementCostSheetV2.Row Returns bool" + "keywords": "Class ItemEnhancement11 Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/1164 [Serializable] [ActionType(\"item_enhancement11\")] public class ItemEnhancement11 : GameAction, IAction, IItemEnhancementV2 Inheritance object ActionBase GameAction ItemEnhancement11 Implements IAction IItemEnhancementV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address itemId public Guid itemId Field Value Guid materialId public Guid materialId Field Value Guid slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetEnhancementResult(Row, IRandom) public static ItemEnhancement11.EnhancementResult GetEnhancementResult(EnhancementCostSheetV2.Row row, IRandom random) Parameters row EnhancementCostSheetV2.Row random IRandom Returns ItemEnhancement11.EnhancementResult GetEquipmentMaxLevel(Equipment, EnhancementCostSheetV2) public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV2 sheet) Parameters equipment Equipment sheet EnhancementCostSheetV2 Returns int GetRequiredAp() public static int GetRequiredAp() Returns int GetRequiredBlockCount(Row, EnhancementResult) public static int GetRequiredBlockCount(EnhancementCostSheetV2.Row row, ItemEnhancement11.EnhancementResult result) Parameters row EnhancementCostSheetV2.Row result ItemEnhancement11.EnhancementResult Returns int LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary TryGetRow(Equipment, EnhancementCostSheetV2, out Row) public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV2 sheet, out EnhancementCostSheetV2.Row row) Parameters equipment Equipment sheet EnhancementCostSheetV2 row EnhancementCostSheetV2.Row Returns bool" }, "api/Nekoyume.Action.ItemEnhancement12.EnhancementResult.html": { "href": "api/Nekoyume.Action.ItemEnhancement12.EnhancementResult.html", @@ -1042,7 +1042,7 @@ "api/Nekoyume.Action.ItemEnhancement12.html": { "href": "api/Nekoyume.Action.ItemEnhancement12.html", "title": "Class ItemEnhancement12 | Lib9c", - "keywords": "Class ItemEnhancement12 Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/2068 [Serializable] [ActionObsolete(7718878)] [ActionType(\"item_enhancement12\")] public class ItemEnhancement12 : GameAction, IAction, IItemEnhancementV4 Inheritance object ActionBase GameAction ItemEnhancement12 Implements IAction IItemEnhancementV4 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields MaterialCountLimit public const int MaterialCountLimit = 50 Field Value int avatarAddress public Address avatarAddress Field Value Address itemId public Guid itemId Field Value Guid materialIds public List materialIds Field Value List slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetEquipmentMaxLevel(Equipment, EnhancementCostSheetV3) public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV3 sheet) Parameters equipment Equipment sheet EnhancementCostSheetV3 Returns int GetRequiredAp() public static int GetRequiredAp() Returns int GetRequiredBlockCount(Equipment, Equipment, EnhancementCostSheetV3) public static int GetRequiredBlockCount(Equipment preEquipment, Equipment targetEquipment, EnhancementCostSheetV3 sheet) Parameters preEquipment Equipment targetEquipment Equipment sheet EnhancementCostSheetV3 Returns int LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary TryGetRow(Equipment, EnhancementCostSheetV3, out Row) public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV3 sheet, out EnhancementCostSheetV3.Row row) Parameters equipment Equipment sheet EnhancementCostSheetV3 row EnhancementCostSheetV3.Row Returns bool" + "keywords": "Class ItemEnhancement12 Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/2068 [Serializable] [ActionObsolete(7718878)] [ActionType(\"item_enhancement12\")] public class ItemEnhancement12 : GameAction, IAction, IItemEnhancementV4 Inheritance object ActionBase GameAction ItemEnhancement12 Implements IAction IItemEnhancementV4 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields MaterialCountLimit public const int MaterialCountLimit = 50 Field Value int avatarAddress public Address avatarAddress Field Value Address itemId public Guid itemId Field Value Guid materialIds public List materialIds Field Value List slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetEquipmentMaxLevel(Equipment, EnhancementCostSheetV3) public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV3 sheet) Parameters equipment Equipment sheet EnhancementCostSheetV3 Returns int GetRequiredAp() public static int GetRequiredAp() Returns int GetRequiredBlockCount(Equipment, Equipment, EnhancementCostSheetV3) public static int GetRequiredBlockCount(Equipment preEquipment, Equipment targetEquipment, EnhancementCostSheetV3 sheet) Parameters preEquipment Equipment targetEquipment Equipment sheet EnhancementCostSheetV3 Returns int LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary TryGetRow(Equipment, EnhancementCostSheetV3, out Row) public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV3 sheet, out EnhancementCostSheetV3.Row row) Parameters equipment Equipment sheet EnhancementCostSheetV3 row EnhancementCostSheetV3.Row Returns bool" }, "api/Nekoyume.Action.ItemEnhancement13.EnhancementResult.html": { "href": "api/Nekoyume.Action.ItemEnhancement13.EnhancementResult.html", @@ -1057,7 +1057,7 @@ "api/Nekoyume.Action.ItemEnhancement13.html": { "href": "api/Nekoyume.Action.ItemEnhancement13.html", "title": "Class ItemEnhancement13 | Lib9c", - "keywords": "Class ItemEnhancement13 Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/2068 [Serializable] [ActionObsolete(8324909)] [ActionType(\"item_enhancement13\")] public class ItemEnhancement13 : GameAction, IAction, IItemEnhancementV4 Inheritance object ActionBase GameAction ItemEnhancement13 Implements IAction IItemEnhancementV4 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields MaterialCountLimit public const int MaterialCountLimit = 50 Field Value int avatarAddress public Address avatarAddress Field Value Address itemId public Guid itemId Field Value Guid materialIds public List materialIds Field Value List slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetEquipmentMaxLevel(Equipment, EnhancementCostSheetV3) public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV3 sheet) Parameters equipment Equipment sheet EnhancementCostSheetV3 Returns int GetRequiredAp() public static int GetRequiredAp() Returns int GetRequiredBlockCount(Equipment, Equipment, EnhancementCostSheetV3) public static int GetRequiredBlockCount(Equipment preEquipment, Equipment targetEquipment, EnhancementCostSheetV3 sheet) Parameters preEquipment Equipment targetEquipment Equipment sheet EnhancementCostSheetV3 Returns int LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary TryGetRow(Equipment, EnhancementCostSheetV3, out Row) public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV3 sheet, out EnhancementCostSheetV3.Row row) Parameters equipment Equipment sheet EnhancementCostSheetV3 row EnhancementCostSheetV3.Row Returns bool" + "keywords": "Class ItemEnhancement13 Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/2068 [Serializable] [ActionObsolete(8324909)] [ActionType(\"item_enhancement13\")] public class ItemEnhancement13 : GameAction, IAction, IItemEnhancementV4 Inheritance object ActionBase GameAction ItemEnhancement13 Implements IAction IItemEnhancementV4 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields MaterialCountLimit public const int MaterialCountLimit = 50 Field Value int avatarAddress public Address avatarAddress Field Value Address itemId public Guid itemId Field Value Guid materialIds public List materialIds Field Value List slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetEquipmentMaxLevel(Equipment, EnhancementCostSheetV3) public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV3 sheet) Parameters equipment Equipment sheet EnhancementCostSheetV3 Returns int GetRequiredAp() public static int GetRequiredAp() Returns int GetRequiredBlockCount(Equipment, Equipment, EnhancementCostSheetV3) public static int GetRequiredBlockCount(Equipment preEquipment, Equipment targetEquipment, EnhancementCostSheetV3 sheet) Parameters preEquipment Equipment targetEquipment Equipment sheet EnhancementCostSheetV3 Returns int LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary TryGetRow(Equipment, EnhancementCostSheetV3, out Row) public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV3 sheet, out EnhancementCostSheetV3.Row row) Parameters equipment Equipment sheet EnhancementCostSheetV3 row EnhancementCostSheetV3.Row Returns bool" }, "api/Nekoyume.Action.ItemEnhancement7.ResultModel.html": { "href": "api/Nekoyume.Action.ItemEnhancement7.ResultModel.html", @@ -1067,7 +1067,7 @@ "api/Nekoyume.Action.ItemEnhancement7.html": { "href": "api/Nekoyume.Action.ItemEnhancement7.html", "title": "Class ItemEnhancement7 | Lib9c", - "keywords": "Class ItemEnhancement7 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"item_enhancement7\")] public class ItemEnhancement7 : GameAction, IAction, IItemEnhancementV2 Inheritance object ActionBase GameAction ItemEnhancement7 Implements IAction IItemEnhancementV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields BlacksmithAddress public static readonly Address BlacksmithAddress Field Value Address RequiredBlockCount public const int RequiredBlockCount = 1 Field Value int avatarAddress public Address avatarAddress Field Value Address itemId public Guid itemId Field Value Guid materialId public Guid materialId Field Value Guid slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetRequiredAp() public static int GetRequiredAp() Returns int GetRequiredNCG(EnhancementCostSheet, int, int) public static BigInteger GetRequiredNCG(EnhancementCostSheet costSheet, int grade, int level) Parameters costSheet EnhancementCostSheet grade int level int Returns BigInteger LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary UpgradeEquipment(Equipment) public static Equipment UpgradeEquipment(Equipment equipment) Parameters equipment Equipment Returns Equipment" + "keywords": "Class ItemEnhancement7 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"item_enhancement7\")] public class ItemEnhancement7 : GameAction, IAction, IItemEnhancementV2 Inheritance object ActionBase GameAction ItemEnhancement7 Implements IAction IItemEnhancementV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields BlacksmithAddress public static readonly Address BlacksmithAddress Field Value Address RequiredBlockCount public const int RequiredBlockCount = 1 Field Value int avatarAddress public Address avatarAddress Field Value Address itemId public Guid itemId Field Value Guid materialId public Guid materialId Field Value Guid slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetRequiredAp() public static int GetRequiredAp() Returns int GetRequiredNCG(EnhancementCostSheet, int, int) public static BigInteger GetRequiredNCG(EnhancementCostSheet costSheet, int grade, int level) Parameters costSheet EnhancementCostSheet grade int level int Returns BigInteger LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary UpgradeEquipment(Equipment) public static Equipment UpgradeEquipment(Equipment equipment) Parameters equipment Equipment Returns Equipment" }, "api/Nekoyume.Action.ItemEnhancement9.EnhancementResult.html": { "href": "api/Nekoyume.Action.ItemEnhancement9.EnhancementResult.html", @@ -1082,7 +1082,7 @@ "api/Nekoyume.Action.ItemEnhancement9.html": { "href": "api/Nekoyume.Action.ItemEnhancement9.html", "title": "Class ItemEnhancement9 | Lib9c", - "keywords": "Class ItemEnhancement9 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"item_enhancement9\")] public class ItemEnhancement9 : GameAction, IAction, IItemEnhancementV2 Inheritance object ActionBase GameAction ItemEnhancement9 Implements IAction IItemEnhancementV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields BlacksmithAddress public static readonly Address BlacksmithAddress Field Value Address avatarAddress public Address avatarAddress Field Value Address itemId public Guid itemId Field Value Guid materialId public Guid materialId Field Value Guid slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetEnhancementResult(Row, IRandom) public static ItemEnhancement9.EnhancementResult GetEnhancementResult(EnhancementCostSheetV2.Row row, IRandom random) Parameters row EnhancementCostSheetV2.Row random IRandom Returns ItemEnhancement9.EnhancementResult GetEquipmentMaxLevel(Equipment, EnhancementCostSheetV2) public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV2 sheet) Parameters equipment Equipment sheet EnhancementCostSheetV2 Returns int GetRequiredAp() public static int GetRequiredAp() Returns int GetRequiredBlockCount(Row, EnhancementResult) public static int GetRequiredBlockCount(EnhancementCostSheetV2.Row row, ItemEnhancement9.EnhancementResult result) Parameters row EnhancementCostSheetV2.Row result ItemEnhancement9.EnhancementResult Returns int LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary TryGetRow(Equipment, EnhancementCostSheetV2, out Row) public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV2 sheet, out EnhancementCostSheetV2.Row row) Parameters equipment Equipment sheet EnhancementCostSheetV2 row EnhancementCostSheetV2.Row Returns bool" + "keywords": "Class ItemEnhancement9 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"item_enhancement9\")] public class ItemEnhancement9 : GameAction, IAction, IItemEnhancementV2 Inheritance object ActionBase GameAction ItemEnhancement9 Implements IAction IItemEnhancementV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields BlacksmithAddress public static readonly Address BlacksmithAddress Field Value Address avatarAddress public Address avatarAddress Field Value Address itemId public Guid itemId Field Value Guid materialId public Guid materialId Field Value Guid slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetEnhancementResult(Row, IRandom) public static ItemEnhancement9.EnhancementResult GetEnhancementResult(EnhancementCostSheetV2.Row row, IRandom random) Parameters row EnhancementCostSheetV2.Row random IRandom Returns ItemEnhancement9.EnhancementResult GetEquipmentMaxLevel(Equipment, EnhancementCostSheetV2) public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV2 sheet) Parameters equipment Equipment sheet EnhancementCostSheetV2 Returns int GetRequiredAp() public static int GetRequiredAp() Returns int GetRequiredBlockCount(Row, EnhancementResult) public static int GetRequiredBlockCount(EnhancementCostSheetV2.Row row, ItemEnhancement9.EnhancementResult result) Parameters row EnhancementCostSheetV2.Row result ItemEnhancement9.EnhancementResult Returns int LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary TryGetRow(Equipment, EnhancementCostSheetV2, out Row) public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV2 sheet, out EnhancementCostSheetV2.Row row) Parameters equipment Equipment sheet EnhancementCostSheetV2 row EnhancementCostSheetV2.Row Returns bool" }, "api/Nekoyume.Action.ItemProductInfo.html": { "href": "api/Nekoyume.Action.ItemProductInfo.html", @@ -1092,17 +1092,17 @@ "api/Nekoyume.Action.JoinArena.html": { "href": "api/Nekoyume.Action.JoinArena.html", "title": "Class JoinArena | Lib9c", - "keywords": "Class JoinArena Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"join_arena4\")] public class JoinArena : GameAction, IAction, IJoinArenaV1 Inheritance object ActionBase GameAction JoinArena Implements IAction IJoinArenaV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address championshipId public int championshipId Field Value int costumes public List costumes Field Value List equipments public List equipments Field Value List round public int round Field Value int runeInfos public List runeInfos Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class JoinArena Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"join_arena4\")] public class JoinArena : GameAction, IAction, IJoinArenaV1 Inheritance object ActionBase GameAction JoinArena Implements IAction IJoinArenaV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address championshipId public int championshipId Field Value int costumes public List costumes Field Value List equipments public List equipments Field Value List round public int round Field Value int runeInfos public List runeInfos Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.JoinArena1.html": { "href": "api/Nekoyume.Action.JoinArena1.html", "title": "Class JoinArena1 | Lib9c", - "keywords": "Class JoinArena1 Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at https://github.com/planetarium/lib9c/pull/1495 [Serializable] [ActionObsolete(7000000)] [ActionType(\"join_arena\")] public class JoinArena1 : GameAction, IAction, IJoinArenaV1 Inheritance object ActionBase GameAction JoinArena1 Implements IAction IJoinArenaV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address championshipId public int championshipId Field Value int costumes public List costumes Field Value List equipments public List equipments Field Value List round public int round Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class JoinArena1 Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at https://github.com/planetarium/lib9c/pull/1495 [Serializable] [ActionObsolete(7000000)] [ActionType(\"join_arena\")] public class JoinArena1 : GameAction, IAction, IJoinArenaV1 Inheritance object ActionBase GameAction JoinArena1 Implements IAction IJoinArenaV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address championshipId public int championshipId Field Value int costumes public List costumes Field Value List equipments public List equipments Field Value List round public int round Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.JoinArena3.html": { "href": "api/Nekoyume.Action.JoinArena3.html", "title": "Class JoinArena3 | Lib9c", - "keywords": "Class JoinArena3 Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at https://github.com/planetarium/lib9c/pull/1663 [Serializable] [ActionObsolete(8324909)] [ActionType(\"join_arena3\")] public class JoinArena3 : GameAction, IAction, IJoinArenaV1 Inheritance object ActionBase GameAction JoinArena3 Implements IAction IJoinArenaV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address championshipId public int championshipId Field Value int costumes public List costumes Field Value List equipments public List equipments Field Value List round public int round Field Value int runeInfos public List runeInfos Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class JoinArena3 Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at https://github.com/planetarium/lib9c/pull/1663 [Serializable] [ActionObsolete(8324909)] [ActionType(\"join_arena3\")] public class JoinArena3 : GameAction, IAction, IJoinArenaV1 Inheritance object ActionBase GameAction JoinArena3 Implements IAction IJoinArenaV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address championshipId public int championshipId Field Value int costumes public List costumes Field Value List equipments public List equipments Field Value List round public int round Field Value int runeInfos public List runeInfos Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.Loader.NCActionLoader.html": { "href": "api/Nekoyume.Action.Loader.NCActionLoader.html", @@ -1122,22 +1122,22 @@ "api/Nekoyume.Action.MigrateAgentAvatar.html": { "href": "api/Nekoyume.Action.MigrateAgentAvatar.html", "title": "Class MigrateAgentAvatar | Lib9c", - "keywords": "Class MigrateAgentAvatar Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"migrate_agent_avatar\")] public class MigrateAgentAvatar : ActionBase, IAction Inheritance object ActionBase MigrateAgentAvatar Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors MigrateAgentAvatar() public MigrateAgentAvatar() Fields AgentAddresses public List
AgentAddresses Field Value List
TypeIdentifier public const string TypeIdentifier = \"migrate_agent_avatar\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class MigrateAgentAvatar Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"migrate_agent_avatar\")] public class MigrateAgentAvatar : ActionBase, IAction Inheritance object ActionBase MigrateAgentAvatar Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors MigrateAgentAvatar() public MigrateAgentAvatar() Fields AgentAddresses public List
AgentAddresses Field Value List
TypeIdentifier public const string TypeIdentifier = \"migrate_agent_avatar\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.MigrateFee.html": { "href": "api/Nekoyume.Action.MigrateFee.html", "title": "Class MigrateFee | Lib9c", - "keywords": "Class MigrateFee Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"migrate_fee\")] public class MigrateFee : ActionBase, IAction Inheritance object ActionBase MigrateFee Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors MigrateFee() public MigrateFee() Fields Memo public string Memo Field Value string TransferData public List<(Address sender, Address recipient, BigInteger amount)> TransferData Field Value List<(Address sender, Address recipient, BigInteger amount)> TypeIdentifier public const string TypeIdentifier = \"migrate_fee\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class MigrateFee Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"migrate_fee\")] public class MigrateFee : ActionBase, IAction Inheritance object ActionBase MigrateFee Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors MigrateFee() public MigrateFee() Fields Memo public string Memo Field Value string TransferData public List<(Address sender, Address recipient, BigInteger amount)> TransferData Field Value List<(Address sender, Address recipient, BigInteger amount)> TypeIdentifier public const string TypeIdentifier = \"migrate_fee\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.MigrateMonsterCollection.html": { "href": "api/Nekoyume.Action.MigrateMonsterCollection.html", "title": "Class MigrateMonsterCollection | Lib9c", - "keywords": "Class MigrateMonsterCollection Namespace Nekoyume.Action Assembly Lib9c.dll An action to claim remained monster collection rewards and to migrate MonsterCollectionState into StakeState without cancellation, to keep its staked period. [ActionType(\"migrate_monster_collection\")] public class MigrateMonsterCollection : ActionBase, IAction, IMigrateMonsterCollectionV1 Inheritance object ActionBase MigrateMonsterCollection Implements IAction IMigrateMonsterCollectionV1 Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors MigrateMonsterCollection() public MigrateMonsterCollection() MigrateMonsterCollection(Address) public MigrateMonsterCollection(Address avatarAddress) Parameters avatarAddress Address Properties AvatarAddress public Address AvatarAddress { get; } Property Value Address PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class MigrateMonsterCollection Namespace Nekoyume.Action Assembly Lib9c.dll An action to claim remained monster collection rewards and to migrate MonsterCollectionState into StakeState without cancellation, to keep its staked period. [ActionType(\"migrate_monster_collection\")] public class MigrateMonsterCollection : ActionBase, IAction, IMigrateMonsterCollectionV1 Inheritance object ActionBase MigrateMonsterCollection Implements IAction IMigrateMonsterCollectionV1 Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors MigrateMonsterCollection() public MigrateMonsterCollection() MigrateMonsterCollection(Address) public MigrateMonsterCollection(Address avatarAddress) Parameters avatarAddress Address Properties AvatarAddress public Address AvatarAddress { get; } Property Value Address PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.MigrationActivatedAccountsState.html": { "href": "api/Nekoyume.Action.MigrationActivatedAccountsState.html", "title": "Class MigrationActivatedAccountsState | Lib9c", - "keywords": "Class MigrationActivatedAccountsState Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"migration_activated_accounts_state\")] public class MigrationActivatedAccountsState : GameAction, IAction, IMigrationActivatedAccountsStateV1 Inheritance object ActionBase GameAction MigrationActivatedAccountsState Implements IAction IMigrationActivatedAccountsStateV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class MigrationActivatedAccountsState Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"migration_activated_accounts_state\")] public class MigrationActivatedAccountsState : GameAction, IAction, IMigrationActivatedAccountsStateV1 Inheritance object ActionBase GameAction MigrationActivatedAccountsState Implements IAction IMigrationActivatedAccountsStateV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.MintAssets.MintSpec.html": { "href": "api/Nekoyume.Action.MintAssets.MintSpec.html", @@ -1147,7 +1147,7 @@ "api/Nekoyume.Action.MintAssets.html": { "href": "api/Nekoyume.Action.MintAssets.html", "title": "Class MintAssets | Lib9c", - "keywords": "Class MintAssets Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"mint_assets\")] public class MintAssets : ActionBase, IAction Inheritance object ActionBase MintAssets Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors MintAssets() public MintAssets() MintAssets(IEnumerable, string?) public MintAssets(IEnumerable specs, string? memo) Parameters specs IEnumerable memo string Fields TypeIdentifier public const string TypeIdentifier = \"mint_assets\" Field Value string Properties Memo public string? Memo { get; } Property Value string MintSpecs public List? MintSpecs { get; } Property Value List PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class MintAssets Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"mint_assets\")] public class MintAssets : ActionBase, IAction Inheritance object ActionBase MintAssets Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors MintAssets() public MintAssets() MintAssets(IEnumerable, string?) public MintAssets(IEnumerable specs, string? memo) Parameters specs IEnumerable memo string Fields TypeIdentifier public const string TypeIdentifier = \"mint_assets\" Field Value string Properties Memo public string? Memo { get; } Property Value string MintSpecs public List? MintSpecs { get; } Property Value List PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.MonsterCollectionExistingClaimableException.html": { "href": "api/Nekoyume.Action.MonsterCollectionExistingClaimableException.html", @@ -1232,7 +1232,7 @@ "api/Nekoyume.Action.PatchTableSheet.html": { "href": "api/Nekoyume.Action.PatchTableSheet.html", "title": "Class PatchTableSheet | Lib9c", - "keywords": "Class PatchTableSheet Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at Initial commit(2e645be18a4e2caea031c347f00777fbad5dbcc6) Updated at https://github.com/planetarium/lib9c/pull/42 Updated at https://github.com/planetarium/lib9c/pull/101 Updated at https://github.com/planetarium/lib9c/pull/287 Updated at https://github.com/planetarium/lib9c/pull/315 Updated at https://github.com/planetarium/lib9c/pull/957 Updated at https://github.com/planetarium/lib9c/pull/1560 [Serializable] [ActionType(\"patch_table_sheet\")] public class PatchTableSheet : GameAction, IAction, IPatchTableSheetV1 Inheritance object ActionBase GameAction PatchTableSheet Implements IAction IPatchTableSheetV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields TableCsv public string TableCsv Field Value string TableName public string TableName Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class PatchTableSheet Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at Initial commit(2e645be18a4e2caea031c347f00777fbad5dbcc6) Updated at https://github.com/planetarium/lib9c/pull/42 Updated at https://github.com/planetarium/lib9c/pull/101 Updated at https://github.com/planetarium/lib9c/pull/287 Updated at https://github.com/planetarium/lib9c/pull/315 Updated at https://github.com/planetarium/lib9c/pull/957 Updated at https://github.com/planetarium/lib9c/pull/1560 [Serializable] [ActionType(\"patch_table_sheet\")] public class PatchTableSheet : GameAction, IAction, IPatchTableSheetV1 Inheritance object ActionBase GameAction PatchTableSheet Implements IAction IPatchTableSheetV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields TableCsv public string TableCsv Field Value string TableName public string TableName Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.PendingActivationDoesNotExistsException.html": { "href": "api/Nekoyume.Action.PendingActivationDoesNotExistsException.html", @@ -1247,7 +1247,7 @@ "api/Nekoyume.Action.PetEnhancement.html": { "href": "api/Nekoyume.Action.PetEnhancement.html", "title": "Class PetEnhancement | Lib9c", - "keywords": "Class PetEnhancement Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"pet_enhancement\")] public class PetEnhancement : GameAction, IAction Inheritance object ActionBase GameAction PetEnhancement Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ActionTypeIdentifier public const string ActionTypeIdentifier = \"pet_enhancement\" Field Value string AvatarAddress public Address AvatarAddress Field Value Address PetId public int PetId Field Value int TargetLevel public int TargetLevel Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class PetEnhancement Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"pet_enhancement\")] public class PetEnhancement : GameAction, IAction Inheritance object ActionBase GameAction PetEnhancement Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ActionTypeIdentifier public const string ActionTypeIdentifier = \"pet_enhancement\" Field Value string AvatarAddress public Address AvatarAddress Field Value Address PetId public int PetId Field Value int TargetLevel public int TargetLevel Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.PetIsLockedException.html": { "href": "api/Nekoyume.Action.PetIsLockedException.html", @@ -1267,7 +1267,7 @@ "api/Nekoyume.Action.PrepareRewardAssets.html": { "href": "api/Nekoyume.Action.PrepareRewardAssets.html", "title": "Class PrepareRewardAssets | Lib9c", - "keywords": "Class PrepareRewardAssets Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"prepare_reward_assets\")] public class PrepareRewardAssets : ActionBase, IAction, IPrepareRewardAssetsV1 Inheritance object ActionBase PrepareRewardAssets Implements IAction IPrepareRewardAssetsV1 Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors PrepareRewardAssets() public PrepareRewardAssets() PrepareRewardAssets(Address, List) public PrepareRewardAssets(Address rewardPoolAddress, List assets) Parameters rewardPoolAddress Address assets List Fields Assets public List Assets Field Value List RewardPoolAddress public Address RewardPoolAddress Field Value Address Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class PrepareRewardAssets Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"prepare_reward_assets\")] public class PrepareRewardAssets : ActionBase, IAction, IPrepareRewardAssetsV1 Inheritance object ActionBase PrepareRewardAssets Implements IAction IPrepareRewardAssetsV1 Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors PrepareRewardAssets() public PrepareRewardAssets() PrepareRewardAssets(Address, List) public PrepareRewardAssets(Address rewardPoolAddress, List assets) Parameters rewardPoolAddress Address assets List Fields Assets public List Assets Field Value List RewardPoolAddress public Address RewardPoolAddress Field Value Address Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.ProductNotFoundException.html": { "href": "api/Nekoyume.Action.ProductNotFoundException.html", @@ -1287,17 +1287,17 @@ "api/Nekoyume.Action.Raid.html": { "href": "api/Nekoyume.Action.Raid.html", "title": "Class Raid | Lib9c", - "keywords": "Class Raid Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"raid7\")] public class Raid : GameAction, IAction, IRaidV2 Inheritance object ActionBase GameAction Raid Implements IAction IRaidV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address CostumeIds public List CostumeIds Field Value List EquipmentIds public List EquipmentIds Field Value List FoodIds public List FoodIds Field Value List PayNcg public bool PayNcg Field Value bool RuneInfos public List RuneInfos Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class Raid Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"raid7\")] public class Raid : GameAction, IAction, IRaidV2 Inheritance object ActionBase GameAction Raid Implements IAction IRaidV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address CostumeIds public List CostumeIds Field Value List EquipmentIds public List EquipmentIds Field Value List FoodIds public List FoodIds Field Value List PayNcg public bool PayNcg Field Value bool RuneInfos public List RuneInfos Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.RankingBattle.html": { "href": "api/Nekoyume.Action.RankingBattle.html", "title": "Class RankingBattle | Lib9c", - "keywords": "Class RankingBattle Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/941 Updated at https://github.com/planetarium/lib9c/pull/1135 [Serializable] [ActionObsolete(8324909)] [ActionType(\"ranking_battle12\")] public class RankingBattle : GameAction, IAction, IRankingBattleV2 Inheritance object ActionBase GameAction RankingBattle Implements IAction IRankingBattleV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields PreviousArenaInfo public ArenaInfo PreviousArenaInfo Field Value ArenaInfo PreviousEnemyArenaInfo public ArenaInfo PreviousEnemyArenaInfo Field Value ArenaInfo PreviousEnemyPlayerDigest public EnemyPlayerDigest PreviousEnemyPlayerDigest Field Value EnemyPlayerDigest StageId public const int StageId = 999999 Field Value int avatarAddress public Address avatarAddress Field Value Address costumeIds public List costumeIds Field Value List enemyAddress public Address enemyAddress Field Value Address equipmentIds public List equipmentIds Field Value List weeklyArenaAddress public Address weeklyArenaAddress Field Value Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class RankingBattle Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/941 Updated at https://github.com/planetarium/lib9c/pull/1135 [Serializable] [ActionObsolete(8324909)] [ActionType(\"ranking_battle12\")] public class RankingBattle : GameAction, IAction, IRankingBattleV2 Inheritance object ActionBase GameAction RankingBattle Implements IAction IRankingBattleV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields PreviousArenaInfo public ArenaInfo PreviousArenaInfo Field Value ArenaInfo PreviousEnemyArenaInfo public ArenaInfo PreviousEnemyArenaInfo Field Value ArenaInfo PreviousEnemyPlayerDigest public EnemyPlayerDigest PreviousEnemyPlayerDigest Field Value EnemyPlayerDigest StageId public const int StageId = 999999 Field Value int avatarAddress public Address avatarAddress Field Value Address costumeIds public List costumeIds Field Value List enemyAddress public Address enemyAddress Field Value Address equipmentIds public List equipmentIds Field Value List weeklyArenaAddress public Address weeklyArenaAddress Field Value Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.RankingBattle11.html": { "href": "api/Nekoyume.Action.RankingBattle11.html", "title": "Class RankingBattle11 | Lib9c", - "keywords": "Class RankingBattle11 Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/1176 [Serializable] [ActionType(\"ranking_battle11\")] [ActionObsolete(7200000)] public class RankingBattle11 : GameAction, IAction, IRankingBattleV2 Inheritance object ActionBase GameAction RankingBattle11 Implements IAction IRankingBattleV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ArenaInfo public ArenaInfo ArenaInfo Field Value ArenaInfo EnemyArenaInfo public ArenaInfo EnemyArenaInfo Field Value ArenaInfo EnemyPlayerDigest public EnemyPlayerDigest EnemyPlayerDigest Field Value EnemyPlayerDigest EntranceFee public static readonly BigInteger EntranceFee Field Value BigInteger StageId public const int StageId = 999999 Field Value int UpdateTargetBlockIndex public const long UpdateTargetBlockIndex = 3808000 Field Value long UpdateTargetWeeklyArenaIndex public const int UpdateTargetWeeklyArenaIndex = 68 Field Value int avatarAddress public Address avatarAddress Field Value Address costumeIds public List costumeIds Field Value List enemyAddress public Address enemyAddress Field Value Address equipmentIds public List equipmentIds Field Value List weeklyArenaAddress public Address weeklyArenaAddress Field Value Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class RankingBattle11 Namespace Nekoyume.Action Assembly Lib9c.dll Updated at https://github.com/planetarium/lib9c/pull/1176 [Serializable] [ActionType(\"ranking_battle11\")] [ActionObsolete(7200000)] public class RankingBattle11 : GameAction, IAction, IRankingBattleV2 Inheritance object ActionBase GameAction RankingBattle11 Implements IAction IRankingBattleV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ArenaInfo public ArenaInfo ArenaInfo Field Value ArenaInfo EnemyArenaInfo public ArenaInfo EnemyArenaInfo Field Value ArenaInfo EnemyPlayerDigest public EnemyPlayerDigest EnemyPlayerDigest Field Value EnemyPlayerDigest EntranceFee public static readonly BigInteger EntranceFee Field Value BigInteger StageId public const int StageId = 999999 Field Value int UpdateTargetBlockIndex public const long UpdateTargetBlockIndex = 3808000 Field Value long UpdateTargetWeeklyArenaIndex public const int UpdateTargetWeeklyArenaIndex = 68 Field Value int avatarAddress public Address avatarAddress Field Value Address costumeIds public List costumeIds Field Value List enemyAddress public Address enemyAddress Field Value Address equipmentIds public List equipmentIds Field Value List weeklyArenaAddress public Address weeklyArenaAddress Field Value Address Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.RankingExceededException.html": { "href": "api/Nekoyume.Action.RankingExceededException.html", @@ -1307,7 +1307,7 @@ "api/Nekoyume.Action.RapidCombination.html": { "href": "api/Nekoyume.Action.RapidCombination.html", "title": "Class RapidCombination | Lib9c", - "keywords": "Class RapidCombination Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"rapid_combination10\")] public class RapidCombination : GameAction, IAction, IRapidCombinationV2 Inheritance object ActionBase GameAction RapidCombination Implements IAction IRapidCombinationV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address slotIndexList public List slotIndexList Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class RapidCombination Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2195 [Serializable] [ActionType(\"rapid_combination10\")] public class RapidCombination : GameAction, IAction, IRapidCombinationV2 Inheritance object ActionBase GameAction RapidCombination Implements IAction IRapidCombinationV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address slotIndexList public List slotIndexList Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.RapidCombination0.ResultModel.html": { "href": "api/Nekoyume.Action.RapidCombination0.ResultModel.html", @@ -1317,7 +1317,7 @@ "api/Nekoyume.Action.RapidCombination0.html": { "href": "api/Nekoyume.Action.RapidCombination0.html", "title": "Class RapidCombination0 | Lib9c", - "keywords": "Class RapidCombination0 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"rapid_combination\")] public class RapidCombination0 : GameAction, IAction, IRapidCombinationV1 Inheritance object ActionBase GameAction RapidCombination0 Implements IAction IRapidCombinationV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods CalculateHourglassCount(GameConfigState, long) public static int CalculateHourglassCount(GameConfigState state, long diff) Parameters state GameConfigState diff long Returns int CalculateHourglassCount(decimal, long) public static int CalculateHourglassCount(decimal hourglassPerBlock, long diff) Parameters hourglassPerBlock decimal diff long Returns int Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class RapidCombination0 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"rapid_combination\")] public class RapidCombination0 : GameAction, IAction, IRapidCombinationV1 Inheritance object ActionBase GameAction RapidCombination0 Implements IAction IRapidCombinationV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods CalculateHourglassCount(GameConfigState, long) public static int CalculateHourglassCount(GameConfigState state, long diff) Parameters state GameConfigState diff long Returns int CalculateHourglassCount(decimal, long) public static int CalculateHourglassCount(decimal hourglassPerBlock, long diff) Parameters hourglassPerBlock decimal diff long Returns int Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.RapidCombination5.ResultModel.html": { "href": "api/Nekoyume.Action.RapidCombination5.ResultModel.html", @@ -1327,22 +1327,22 @@ "api/Nekoyume.Action.RapidCombination5.html": { "href": "api/Nekoyume.Action.RapidCombination5.html", "title": "Class RapidCombination5 | Lib9c", - "keywords": "Class RapidCombination5 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"rapid_combination5\")] public class RapidCombination5 : GameAction, IAction, IRapidCombinationV1 Inheritance object ActionBase GameAction RapidCombination5 Implements IAction IRapidCombinationV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class RapidCombination5 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"rapid_combination5\")] public class RapidCombination5 : GameAction, IAction, IRapidCombinationV1 Inheritance object ActionBase GameAction RapidCombination5 Implements IAction IRapidCombinationV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields avatarAddress public Address avatarAddress Field Value Address slotIndex public int slotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.ReRegisterProduct.html": { "href": "api/Nekoyume.Action.ReRegisterProduct.html", "title": "Class ReRegisterProduct | Lib9c", - "keywords": "Class ReRegisterProduct Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"re_register_product2\")] public class ReRegisterProduct : GameAction, IAction Inheritance object ActionBase GameAction ReRegisterProduct Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Capacity public const int Capacity = 100 Field Value int ChargeAp public bool ChargeAp Field Value bool CostAp public const int CostAp = 5 Field Value int ReRegisterInfos public List<(IProductInfo, IRegisterInfo)> ReRegisterInfos Field Value List<(IProductInfo, IRegisterInfo)> Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class ReRegisterProduct Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"re_register_product2\")] public class ReRegisterProduct : GameAction, IAction Inheritance object ActionBase GameAction ReRegisterProduct Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Capacity public const int Capacity = 100 Field Value int ChargeAp public bool ChargeAp Field Value bool CostAp public const int CostAp = 5 Field Value int ReRegisterInfos public List<(IProductInfo, IRegisterInfo)> ReRegisterInfos Field Value List<(IProductInfo, IRegisterInfo)> Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.RedeemCode.html": { "href": "api/Nekoyume.Action.RedeemCode.html", "title": "Class RedeemCode | Lib9c", - "keywords": "Class RedeemCode Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/602 Updated at https://github.com/planetarium/lib9c/pull/861 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"redeem_code3\")] public class RedeemCode : GameAction, IAction, IRedeemCodeV1 Inheritance object ActionBase GameAction RedeemCode Implements IAction IRedeemCodeV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors RedeemCode() public RedeemCode() RedeemCode(string, Address) public RedeemCode(string code, Address avatarAddress) Parameters code string avatarAddress Address Properties AvatarAddress public Address AvatarAddress { get; } Property Value Address Code public string Code { get; } Property Value string PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class RedeemCode Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/602 Updated at https://github.com/planetarium/lib9c/pull/861 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"redeem_code3\")] public class RedeemCode : GameAction, IAction, IRedeemCodeV1 Inheritance object ActionBase GameAction RedeemCode Implements IAction IRedeemCodeV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors RedeemCode() public RedeemCode() RedeemCode(string, Address) public RedeemCode(string code, Address avatarAddress) Parameters code string avatarAddress Address Properties AvatarAddress public Address AvatarAddress { get; } Property Value Address Code public string Code { get; } Property Value string PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.RedeemCode2.html": { "href": "api/Nekoyume.Action.RedeemCode2.html", "title": "Class RedeemCode2 | Lib9c", - "keywords": "Class RedeemCode2 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"redeem_code2\")] public class RedeemCode2 : GameAction, IAction, IRedeemCodeV1 Inheritance object ActionBase GameAction RedeemCode2 Implements IAction IRedeemCodeV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors RedeemCode2() public RedeemCode2() RedeemCode2(string, Address) public RedeemCode2(string code, Address avatarAddress) Parameters code string avatarAddress Address Properties AvatarAddress public Address AvatarAddress { get; } Property Value Address Code public string Code { get; } Property Value string PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class RedeemCode2 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"redeem_code2\")] public class RedeemCode2 : GameAction, IAction, IRedeemCodeV1 Inheritance object ActionBase GameAction RedeemCode2 Implements IAction IRedeemCodeV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors RedeemCode2() public RedeemCode2() RedeemCode2(string, Address) public RedeemCode2(string code, Address avatarAddress) Parameters code string avatarAddress Address Properties AvatarAddress public Address AvatarAddress { get; } Property Value Address Code public string Code { get; } Property Value string PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.RegisterInfo.html": { "href": "api/Nekoyume.Action.RegisterInfo.html", @@ -1352,22 +1352,22 @@ "api/Nekoyume.Action.RegisterProduct.html": { "href": "api/Nekoyume.Action.RegisterProduct.html", "title": "Class RegisterProduct | Lib9c", - "keywords": "Class RegisterProduct Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"register_product3\")] public class RegisterProduct : GameAction, IAction Inheritance object ActionBase GameAction RegisterProduct Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Capacity public const int Capacity = 100 Field Value int ChargeAp public bool ChargeAp Field Value bool CostAp public const int CostAp = 5 Field Value int NonTradableTickerCurrencies public static readonly IReadOnlyCollection NonTradableTickerCurrencies Field Value IReadOnlyCollection RegisterInfos public IEnumerable RegisterInfos Field Value IEnumerable Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary Register(IActionContext, IRegisterInfo, AvatarState, ProductsState, IWorld, IRandom) public static IWorld Register(IActionContext context, IRegisterInfo info, AvatarState avatarState, ProductsState productsState, IWorld states, IRandom random) Parameters context IActionContext info IRegisterInfo avatarState AvatarState productsState ProductsState states IWorld random IRandom Returns IWorld" + "keywords": "Class RegisterProduct Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"register_product3\")] public class RegisterProduct : GameAction, IAction Inheritance object ActionBase GameAction RegisterProduct Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Capacity public const int Capacity = 100 Field Value int ChargeAp public bool ChargeAp Field Value bool CostAp public const int CostAp = 5 Field Value int NonTradableTickerCurrencies public static readonly IReadOnlyCollection NonTradableTickerCurrencies Field Value IReadOnlyCollection RegisterInfos public IEnumerable RegisterInfos Field Value IEnumerable Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary Register(IActionContext, IRegisterInfo, AvatarState, ProductsState, IWorld, IRandom) public static IWorld Register(IActionContext context, IRegisterInfo info, AvatarState avatarState, ProductsState productsState, IWorld states, IRandom random) Parameters context IActionContext info IRegisterInfo avatarState AvatarState productsState ProductsState states IWorld random IRandom Returns IWorld" }, "api/Nekoyume.Action.RegisterProduct0.html": { "href": "api/Nekoyume.Action.RegisterProduct0.html", "title": "Class RegisterProduct0 | Lib9c", - "keywords": "Class RegisterProduct0 Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"register_product\")] [ActionObsolete(8324909)] public class RegisterProduct0 : GameAction, IAction Inheritance object ActionBase GameAction RegisterProduct0 Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Capacity public const int Capacity = 100 Field Value int ChargeAp public bool ChargeAp Field Value bool CostAp public const int CostAp = 5 Field Value int RegisterInfos public IEnumerable RegisterInfos Field Value IEnumerable Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary Register(IActionContext, IRegisterInfo, AvatarState, ProductsState, IWorld, IRandom) public static IWorld Register(IActionContext context, IRegisterInfo info, AvatarState avatarState, ProductsState productsState, IWorld states, IRandom random) Parameters context IActionContext info IRegisterInfo avatarState AvatarState productsState ProductsState states IWorld random IRandom Returns IWorld" + "keywords": "Class RegisterProduct0 Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"register_product\")] [ActionObsolete(8324909)] public class RegisterProduct0 : GameAction, IAction Inheritance object ActionBase GameAction RegisterProduct0 Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address Capacity public const int Capacity = 100 Field Value int ChargeAp public bool ChargeAp Field Value bool CostAp public const int CostAp = 5 Field Value int RegisterInfos public IEnumerable RegisterInfos Field Value IEnumerable Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary Register(IActionContext, IRegisterInfo, AvatarState, ProductsState, IWorld, IRandom) public static IWorld Register(IActionContext context, IRegisterInfo info, AvatarState avatarState, ProductsState productsState, IWorld states, IRandom random) Parameters context IActionContext info IRegisterInfo avatarState AvatarState productsState ProductsState states IWorld random IRandom Returns IWorld" }, "api/Nekoyume.Action.RenewAdminState.html": { "href": "api/Nekoyume.Action.RenewAdminState.html", "title": "Class RenewAdminState | Lib9c", - "keywords": "Class RenewAdminState Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/805 Updated at https://github.com/planetarium/lib9c/pull/815 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"renew_admin_state\")] public class RenewAdminState : GameAction, IAction, IRenewAdminStateV1 Inheritance object ActionBase GameAction RenewAdminState Implements IAction IRenewAdminStateV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors RenewAdminState() public RenewAdminState() RenewAdminState(long) public RenewAdminState(long newValidUntil) Parameters newValidUntil long Properties NewValidUntil public long NewValidUntil { get; } Property Value long PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class RenewAdminState Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/805 Updated at https://github.com/planetarium/lib9c/pull/815 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"renew_admin_state\")] public class RenewAdminState : GameAction, IAction, IRenewAdminStateV1 Inheritance object ActionBase GameAction RenewAdminState Implements IAction IRenewAdminStateV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors RenewAdminState() public RenewAdminState() RenewAdminState(long) public RenewAdminState(long newValidUntil) Parameters newValidUntil long Properties NewValidUntil public long NewValidUntil { get; } Property Value long PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.RequestPledge.html": { "href": "api/Nekoyume.Action.RequestPledge.html", "title": "Class RequestPledge | Lib9c", - "keywords": "Class RequestPledge Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"request_pledge\")] public class RequestPledge : ActionBase, IAction Inheritance object ActionBase RequestPledge Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors RequestPledge() public RequestPledge() Fields AgentAddress public Address AgentAddress Field Value Address DefaultRefillMead public const int DefaultRefillMead = 4 Field Value int RefillMead public int RefillMead Field Value int TypeIdentifier public const string TypeIdentifier = \"request_pledge\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class RequestPledge Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"request_pledge\")] public class RequestPledge : ActionBase, IAction Inheritance object ActionBase RequestPledge Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors RequestPledge() public RequestPledge() Fields AgentAddress public Address AgentAddress Field Value Address DefaultRefillMead public const int DefaultRefillMead = 4 Field Value int RefillMead public int RefillMead Field Value int TypeIdentifier public const string TypeIdentifier = \"request_pledge\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.RequiredBlockIndexException.html": { "href": "api/Nekoyume.Action.RequiredBlockIndexException.html", @@ -1382,12 +1382,12 @@ "api/Nekoyume.Action.RetrieveAvatarAssets.html": { "href": "api/Nekoyume.Action.RetrieveAvatarAssets.html", "title": "Class RetrieveAvatarAssets | Lib9c", - "keywords": "Class RetrieveAvatarAssets Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"retrieve_avatar_assets\")] public class RetrieveAvatarAssets : ActionBase, IAction Inheritance object ActionBase RetrieveAvatarAssets Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors RetrieveAvatarAssets() public RetrieveAvatarAssets() RetrieveAvatarAssets(Address) public RetrieveAvatarAssets(Address avatarAddress) Parameters avatarAddress Address Fields AvatarAddress public Address AvatarAddress Field Value Address TypeIdentifier public const string TypeIdentifier = \"retrieve_avatar_assets\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class RetrieveAvatarAssets Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"retrieve_avatar_assets\")] public class RetrieveAvatarAssets : ActionBase, IAction Inheritance object ActionBase RetrieveAvatarAssets Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors RetrieveAvatarAssets() public RetrieveAvatarAssets() RetrieveAvatarAssets(Address) public RetrieveAvatarAssets(Address avatarAddress) Parameters avatarAddress Address Fields AvatarAddress public Address AvatarAddress Field Value Address TypeIdentifier public const string TypeIdentifier = \"retrieve_avatar_assets\" Field Value string Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.RewardGold.html": { "href": "api/Nekoyume.Action.RewardGold.html", "title": "Class RewardGold | Lib9c", - "keywords": "Class RewardGold Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at Initial commit(2e645be18a4e2caea031c347f00777fbad5dbcc6) Updated at many pull requests Updated at https://github.com/planetarium/lib9c/pull/1135 [Serializable] public class RewardGold : ActionBase, IAction Inheritance object ActionBase RewardGold Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields FilterInactiveArenaInfoBlockIndex public const long FilterInactiveArenaInfoBlockIndex = 3976000 Field Value long Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GenesisGoldDistribution(IActionContext, IWorld) public IWorld GenesisGoldDistribution(IActionContext ctx, IWorld states) Parameters ctx IActionContext states IWorld Returns IWorld LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue MinerReward(IActionContext, IWorld) public IWorld MinerReward(IActionContext ctx, IWorld states) Parameters ctx IActionContext states IWorld Returns IWorld PrepareNextArena(IActionContext, IWorld) public IWorld PrepareNextArena(IActionContext ctx, IWorld states) Parameters ctx IActionContext states IWorld Returns IWorld ResetChallengeCount(IActionContext, IWorld) public IWorld ResetChallengeCount(IActionContext ctx, IWorld states) Parameters ctx IActionContext states IWorld Returns IWorld TransferMead(IActionContext, IWorld) public static IWorld TransferMead(IActionContext context, IWorld states) Parameters context IActionContext states IWorld Returns IWorld WeeklyArenaRankingBoard(IActionContext, IWorld) [Obsolete(\"Use WeeklyArenaRankingBoard2 for performance.\")] public IWorld WeeklyArenaRankingBoard(IActionContext ctx, IWorld states) Parameters ctx IActionContext states IWorld Returns IWorld WeeklyArenaRankingBoard2(IActionContext, IWorld) public IWorld WeeklyArenaRankingBoard2(IActionContext ctx, IWorld states) Parameters ctx IActionContext states IWorld Returns IWorld" + "keywords": "Class RewardGold Namespace Nekoyume.Action Assembly Lib9c.dll Introduced at Initial commit(2e645be18a4e2caea031c347f00777fbad5dbcc6) Updated at many pull requests Updated at https://github.com/planetarium/lib9c/pull/1135 [Serializable] public class RewardGold : ActionBase, IAction Inheritance object ActionBase RewardGold Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields FilterInactiveArenaInfoBlockIndex public const long FilterInactiveArenaInfoBlockIndex = 3976000 Field Value long Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GenesisGoldDistribution(IActionContext, IWorld) public IWorld GenesisGoldDistribution(IActionContext ctx, IWorld states) Parameters ctx IActionContext states IWorld Returns IWorld LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue MinerReward(IActionContext, IWorld) public IWorld MinerReward(IActionContext ctx, IWorld states) Parameters ctx IActionContext states IWorld Returns IWorld PrepareNextArena(IActionContext, IWorld) public IWorld PrepareNextArena(IActionContext ctx, IWorld states) Parameters ctx IActionContext states IWorld Returns IWorld ResetChallengeCount(IActionContext, IWorld) public IWorld ResetChallengeCount(IActionContext ctx, IWorld states) Parameters ctx IActionContext states IWorld Returns IWorld TransferMead(IActionContext, IWorld) public static IWorld TransferMead(IActionContext context, IWorld states) Parameters context IActionContext states IWorld Returns IWorld WeeklyArenaRankingBoard(IActionContext, IWorld) [Obsolete(\"Use WeeklyArenaRankingBoard2 for performance.\")] public IWorld WeeklyArenaRankingBoard(IActionContext ctx, IWorld states) Parameters ctx IActionContext states IWorld Returns IWorld WeeklyArenaRankingBoard2(IActionContext, IWorld) public IWorld WeeklyArenaRankingBoard2(IActionContext ctx, IWorld states) Parameters ctx IActionContext states IWorld Returns IWorld" }, "api/Nekoyume.Action.RuneEnhancement.LevelUpResult.html": { "href": "api/Nekoyume.Action.RuneEnhancement.LevelUpResult.html", @@ -1397,7 +1397,7 @@ "api/Nekoyume.Action.RuneEnhancement.html": { "href": "api/Nekoyume.Action.RuneEnhancement.html", "title": "Class RuneEnhancement | Lib9c", - "keywords": "Class RuneEnhancement Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"runeEnhancement2\")] public class RuneEnhancement : GameAction, IAction, IRuneEnhancementV1 Inheritance object ActionBase GameAction RuneEnhancement Implements IAction IRuneEnhancementV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address RuneId public int RuneId Field Value int TryCount public int TryCount Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class RuneEnhancement Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"runeEnhancement2\")] public class RuneEnhancement : GameAction, IAction, IRuneEnhancementV1 Inheritance object ActionBase GameAction RuneEnhancement Implements IAction IRuneEnhancementV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address RuneId public int RuneId Field Value int TryCount public int TryCount Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.RuneSlotInfo.html": { "href": "api/Nekoyume.Action.RuneSlotInfo.html", @@ -1407,22 +1407,22 @@ "api/Nekoyume.Action.RuneSummon.html": { "href": "api/Nekoyume.Action.RuneSummon.html", "title": "Class RuneSummon | Lib9c", - "keywords": "Class RuneSummon Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"rune_summon\")] public class RuneSummon : GameAction, IAction, IRuneSummonV1 Inheritance object ActionBase GameAction RuneSummon Implements IAction IRuneSummonV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address AvatarAddressKey public const string AvatarAddressKey = \"aa\" Field Value string GroupId public int GroupId Field Value int GroupIdKey public const string GroupIdKey = \"gid\" Field Value string RuneQuantity public const int RuneQuantity = 10 Field Value int SummonCount public int SummonCount Field Value int SummonCountKey public const string SummonCountKey = \"sc\" Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary SimulateSummon(RuneSheet, Row, int, IRandom) public static Dictionary SimulateSummon(RuneSheet runeSheet, SummonSheet.Row summonRow, int summonCount, IRandom random) Parameters runeSheet RuneSheet summonRow SummonSheet.Row summonCount int random IRandom Returns Dictionary Summon(IActionContext, Address, RuneSheet, Row, int, IRandom, IWorld) public static IWorld Summon(IActionContext context, Address avatarAddress, RuneSheet runeSheet, SummonSheet.Row summonRow, int summonCount, IRandom random, IWorld states) Parameters context IActionContext avatarAddress Address runeSheet RuneSheet summonRow SummonSheet.Row summonCount int random IRandom states IWorld Returns IWorld" + "keywords": "Class RuneSummon Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"rune_summon\")] public class RuneSummon : GameAction, IAction, IRuneSummonV1 Inheritance object ActionBase GameAction RuneSummon Implements IAction IRuneSummonV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address AvatarAddressKey public const string AvatarAddressKey = \"aa\" Field Value string GroupId public int GroupId Field Value int GroupIdKey public const string GroupIdKey = \"gid\" Field Value string RuneQuantity public const int RuneQuantity = 10 Field Value int SummonCount public int SummonCount Field Value int SummonCountKey public const string SummonCountKey = \"sc\" Field Value string Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary SimulateSummon(RuneSheet, Row, int, IRandom) public static Dictionary SimulateSummon(RuneSheet runeSheet, SummonSheet.Row summonRow, int summonCount, IRandom random) Parameters runeSheet RuneSheet summonRow SummonSheet.Row summonCount int random IRandom Returns Dictionary Summon(IActionContext, Address, RuneSheet, Row, int, IRandom, IWorld) public static IWorld Summon(IActionContext context, Address avatarAddress, RuneSheet runeSheet, SummonSheet.Row summonRow, int summonCount, IRandom random, IWorld states) Parameters context IActionContext avatarAddress Address runeSheet RuneSheet summonRow SummonSheet.Row summonCount int random IRandom states IWorld Returns IWorld" }, "api/Nekoyume.Action.SecureMiningReward.html": { "href": "api/Nekoyume.Action.SecureMiningReward.html", "title": "Class SecureMiningReward | Lib9c", - "keywords": "Class SecureMiningReward Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"secure_mining_reward\")] public class SecureMiningReward : ActionBase, IAction, ISecureMiningReward Inheritance object ActionBase SecureMiningReward Implements IAction ISecureMiningReward Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors SecureMiningReward() public SecureMiningReward() SecureMiningReward(Address) public SecureMiningReward(Address recipient) Parameters recipient Address Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Recipient public Address Recipient { get; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class SecureMiningReward Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"secure_mining_reward\")] public class SecureMiningReward : ActionBase, IAction, ISecureMiningReward Inheritance object ActionBase SecureMiningReward Implements IAction ISecureMiningReward Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors SecureMiningReward() public SecureMiningReward() SecureMiningReward(Address) public SecureMiningReward(Address recipient) Parameters recipient Address Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Recipient public Address Recipient { get; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.Sell.html": { "href": "api/Nekoyume.Action.Sell.html", "title": "Class Sell | Lib9c", - "keywords": "Class Sell Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/1640 [Serializable] [ActionType(\"sell12\")] [ActionObsolete(7200000)] public class Sell : GameAction, IAction, ISellV2 Inheritance object ActionBase GameAction Sell Implements IAction ISellV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields count public int count Field Value int itemSubType public ItemSubType itemSubType Field Value ItemSubType orderId public Guid orderId Field Value Guid price public FungibleAssetValue price Field Value FungibleAssetValue sellerAvatarAddress public Address sellerAvatarAddress Field Value Address tradableId public Guid tradableId Field Value Guid Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class Sell Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/1640 [Serializable] [ActionType(\"sell12\")] [ActionObsolete(7200000)] public class Sell : GameAction, IAction, ISellV2 Inheritance object ActionBase GameAction Sell Implements IAction ISellV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields count public int count Field Value int itemSubType public ItemSubType itemSubType Field Value ItemSubType orderId public Guid orderId Field Value Guid price public FungibleAssetValue price Field Value FungibleAssetValue sellerAvatarAddress public Address sellerAvatarAddress Field Value Address tradableId public Guid tradableId Field Value Guid Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.Sell6.html": { "href": "api/Nekoyume.Action.Sell6.html", "title": "Class Sell6 | Lib9c", - "keywords": "Class Sell6 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"sell6\")] public class Sell6 : GameAction, IAction, ISellV2 Inheritance object ActionBase GameAction Sell6 Implements IAction ISellV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ExpiredBlockIndex public const long ExpiredBlockIndex = 16000 Field Value long count public int count Field Value int itemSubType public ItemSubType itemSubType Field Value ItemSubType price public FungibleAssetValue price Field Value FungibleAssetValue sellerAvatarAddress public Address sellerAvatarAddress Field Value Address tradableId public Guid tradableId Field Value Guid Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class Sell6 Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionObsolete(7000000)] [ActionType(\"sell6\")] public class Sell6 : GameAction, IAction, ISellV2 Inheritance object ActionBase GameAction Sell6 Implements IAction ISellV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields ExpiredBlockIndex public const long ExpiredBlockIndex = 16000 Field Value long count public int count Field Value int itemSubType public ItemSubType itemSubType Field Value ItemSubType price public FungibleAssetValue price Field Value FungibleAssetValue sellerAvatarAddress public Address sellerAvatarAddress Field Value Address tradableId public Guid tradableId Field Value Guid Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.SellCancellation.Result.html": { "href": "api/Nekoyume.Action.SellCancellation.Result.html", @@ -1432,7 +1432,7 @@ "api/Nekoyume.Action.SellCancellation.html": { "href": "api/Nekoyume.Action.SellCancellation.html", "title": "Class SellCancellation | Lib9c", - "keywords": "Class SellCancellation Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/602 Updated at https://github.com/planetarium/lib9c/pull/609 Updated at https://github.com/planetarium/lib9c/pull/620 Updated at https://github.com/planetarium/lib9c/pull/861 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionObsolete(8324909)] [ActionType(\"sell_cancellation9\")] public class SellCancellation : GameAction, IAction, ISellCancellationV3 Inheritance object ActionBase GameAction SellCancellation Implements IAction ISellCancellationV3 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields itemSubType public ItemSubType itemSubType Field Value ItemSubType orderId public Guid orderId Field Value Guid sellerAvatarAddress public Address sellerAvatarAddress Field Value Address tradableId public Guid tradableId Field Value Guid Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Cancel(IActionContext, IWorld, AvatarState, string, Order) public static IWorld Cancel(IActionContext context, IWorld states, AvatarState avatarState, string addressesHex, Order order) Parameters context IActionContext states IWorld avatarState AvatarState addressesHex string order Order Returns IWorld CancelV2(IActionContext, IWorld, AvatarState, string, Order, Guid, ItemSubType) public static IWorld CancelV2(IActionContext context, IWorld states, AvatarState avatarState, string addressesHex, Order order, Guid tradableId, ItemSubType itemSubType) Parameters context IActionContext states IWorld avatarState AvatarState addressesHex string order Order tradableId Guid itemSubType ItemSubType Returns IWorld Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class SellCancellation Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/602 Updated at https://github.com/planetarium/lib9c/pull/609 Updated at https://github.com/planetarium/lib9c/pull/620 Updated at https://github.com/planetarium/lib9c/pull/861 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionObsolete(8324909)] [ActionType(\"sell_cancellation9\")] public class SellCancellation : GameAction, IAction, ISellCancellationV3 Inheritance object ActionBase GameAction SellCancellation Implements IAction ISellCancellationV3 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields itemSubType public ItemSubType itemSubType Field Value ItemSubType orderId public Guid orderId Field Value Guid sellerAvatarAddress public Address sellerAvatarAddress Field Value Address tradableId public Guid tradableId Field Value Guid Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Cancel(IActionContext, IWorld, AvatarState, string, Order) public static IWorld Cancel(IActionContext context, IWorld states, AvatarState avatarState, string addressesHex, Order order) Parameters context IActionContext states IWorld avatarState AvatarState addressesHex string order Order Returns IWorld CancelV2(IActionContext, IWorld, AvatarState, string, Order, Guid, ItemSubType) public static IWorld CancelV2(IActionContext context, IWorld states, AvatarState avatarState, string addressesHex, Order order, Guid tradableId, ItemSubType itemSubType) Parameters context IActionContext states IWorld avatarState AvatarState addressesHex string order Order tradableId Guid itemSubType ItemSubType Returns IWorld Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.ShopErrorType.html": { "href": "api/Nekoyume.Action.ShopErrorType.html", @@ -1457,12 +1457,12 @@ "api/Nekoyume.Action.Stake.html": { "href": "api/Nekoyume.Action.Stake.html", "title": "Class Stake | Lib9c", - "keywords": "Class Stake Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"stake3\")] public class Stake : GameAction, IAction, IStakeV1 Inheritance object ActionBase GameAction Stake Implements IAction IStakeV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors Stake() public Stake() Stake(BigInteger) public Stake(BigInteger amount) Parameters amount BigInteger Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class Stake Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"stake3\")] public class Stake : GameAction, IAction, IStakeV1 Inheritance object ActionBase GameAction Stake Implements IAction IStakeV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors Stake() public Stake() Stake(BigInteger) public Stake(BigInteger amount) Parameters amount BigInteger Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.Stake2.html": { "href": "api/Nekoyume.Action.Stake2.html", "title": "Class Stake2 | Lib9c", - "keywords": "Class Stake2 Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"stake2\")] [ActionObsolete(7983895)] public class Stake2 : GameAction, IAction, IStakeV1 Inheritance object ActionBase GameAction Stake2 Implements IAction IStakeV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors Stake2() public Stake2() Stake2(BigInteger) public Stake2(BigInteger amount) Parameters amount BigInteger Fields ObsoleteBlockIndex public const long ObsoleteBlockIndex = 7983895 Field Value long Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class Stake2 Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"stake2\")] [ActionObsolete(7983895)] public class Stake2 : GameAction, IAction, IStakeV1 Inheritance object ActionBase GameAction Stake2 Implements IAction IStakeV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors Stake2() public Stake2() Stake2(BigInteger) public Stake2(BigInteger amount) Parameters amount BigInteger Fields ObsoleteBlockIndex public const long ObsoleteBlockIndex = 7983895 Field Value long Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.StakeExistingClaimableException.html": { "href": "api/Nekoyume.Action.StakeExistingClaimableException.html", @@ -1477,7 +1477,7 @@ "api/Nekoyume.Action.TransferAsset.html": { "href": "api/Nekoyume.Action.TransferAsset.html", "title": "Class TransferAsset | Lib9c", - "keywords": "Class TransferAsset Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2143 Updated at https://github.com/planetarium/lib9c/pull/2143 [Serializable] [ActionType(\"transfer_asset5\")] public class TransferAsset : ActionBase, IAction, ISerializable, ITransferAsset, ITransferAssetV1 Inheritance object ActionBase TransferAsset Implements IAction ISerializable ITransferAsset ITransferAssetV1 Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors TransferAsset() public TransferAsset() TransferAsset(Address, Address, FungibleAssetValue, string) public TransferAsset(Address sender, Address recipient, FungibleAssetValue amount, string memo = null) Parameters sender Address recipient Address amount FungibleAssetValue memo string TransferAsset(SerializationInfo, StreamingContext) protected TransferAsset(SerializationInfo info, StreamingContext context) Parameters info SerializationInfo context StreamingContext Fields TypeIdentifier public const string TypeIdentifier = \"transfer_asset5\" Field Value string Properties Amount public FungibleAssetValue Amount { get; } Property Value FungibleAssetValue Memo public string Memo { get; } Property Value string PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Recipient public Address Recipient { get; } Property Value Address Sender public Address Sender { get; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetObjectData(SerializationInfo, StreamingContext) Populates a SerializationInfo with the data needed to serialize the target object. public void GetObjectData(SerializationInfo info, StreamingContext context) Parameters info SerializationInfo The SerializationInfo to populate with data. context StreamingContext The destination (see StreamingContext) for this serialization. Exceptions SecurityException The caller does not have the required permission. LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue ThrowIfStakeState(IWorld, Address) public static void ThrowIfStakeState(IWorld state, Address recipient) Parameters state IWorld recipient Address" + "keywords": "Class TransferAsset Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/2143 Updated at https://github.com/planetarium/lib9c/pull/2143 [Serializable] [ActionType(\"transfer_asset5\")] public class TransferAsset : ActionBase, IAction, ISerializable, ITransferAsset, ITransferAssetV1 Inheritance object ActionBase TransferAsset Implements IAction ISerializable ITransferAsset ITransferAssetV1 Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors TransferAsset() public TransferAsset() TransferAsset(Address, Address, FungibleAssetValue, string) public TransferAsset(Address sender, Address recipient, FungibleAssetValue amount, string memo = null) Parameters sender Address recipient Address amount FungibleAssetValue memo string TransferAsset(SerializationInfo, StreamingContext) protected TransferAsset(SerializationInfo info, StreamingContext context) Parameters info SerializationInfo context StreamingContext Fields TypeIdentifier public const string TypeIdentifier = \"transfer_asset5\" Field Value string Properties Amount public FungibleAssetValue Amount { get; } Property Value FungibleAssetValue Memo public string Memo { get; } Property Value string PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Recipient public Address Recipient { get; } Property Value Address Sender public Address Sender { get; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetObjectData(SerializationInfo, StreamingContext) Populates a SerializationInfo with the data needed to serialize the target object. public void GetObjectData(SerializationInfo info, StreamingContext context) Parameters info SerializationInfo The SerializationInfo to populate with data. context StreamingContext The destination (see StreamingContext) for this serialization. Exceptions SecurityException The caller does not have the required permission. LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue ThrowIfStakeState(IWorld, Address) public static void ThrowIfStakeState(IWorld state, Address recipient) Parameters state IWorld recipient Address" }, "api/Nekoyume.Action.TransferAsset3.html": { "href": "api/Nekoyume.Action.TransferAsset3.html", @@ -1487,32 +1487,32 @@ "api/Nekoyume.Action.TransferAssets.html": { "href": "api/Nekoyume.Action.TransferAssets.html", "title": "Class TransferAssets | Lib9c", - "keywords": "Class TransferAssets Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/636 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"transfer_assets3\")] public class TransferAssets : ActionBase, IAction, ISerializable, ITransferAssets, ITransferAssetsV1 Inheritance object ActionBase TransferAssets Implements IAction ISerializable ITransferAssets ITransferAssetsV1 Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors TransferAssets() public TransferAssets() TransferAssets(Address, List<(Address, FungibleAssetValue)>, string) public TransferAssets(Address sender, List<(Address, FungibleAssetValue)> recipients, string memo = null) Parameters sender Address recipients List<(Address recipient, FungibleAssetValue amount)> memo string TransferAssets(SerializationInfo, StreamingContext) protected TransferAssets(SerializationInfo info, StreamingContext context) Parameters info SerializationInfo context StreamingContext Fields RecipientsCapacity public const int RecipientsCapacity = 100 Field Value int TypeIdentifier public const string TypeIdentifier = \"transfer_assets3\" Field Value string Properties Memo public string Memo { get; } Property Value string PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Recipients public List<(Address recipient, FungibleAssetValue amount)> Recipients { get; } Property Value List<(Address recipient, FungibleAssetValue amount)> Sender public Address Sender { get; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetObjectData(SerializationInfo, StreamingContext) Populates a SerializationInfo with the data needed to serialize the target object. public void GetObjectData(SerializationInfo info, StreamingContext context) Parameters info SerializationInfo The SerializationInfo to populate with data. context StreamingContext The destination (see StreamingContext) for this serialization. Exceptions SecurityException The caller does not have the required permission. LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class TransferAssets Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/636 Updated at https://github.com/planetarium/lib9c/pull/957 [Serializable] [ActionType(\"transfer_assets3\")] public class TransferAssets : ActionBase, IAction, ISerializable, ITransferAssets, ITransferAssetsV1 Inheritance object ActionBase TransferAssets Implements IAction ISerializable ITransferAssets ITransferAssetsV1 Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors TransferAssets() public TransferAssets() TransferAssets(Address, List<(Address, FungibleAssetValue)>, string) public TransferAssets(Address sender, List<(Address, FungibleAssetValue)> recipients, string memo = null) Parameters sender Address recipients List<(Address recipient, FungibleAssetValue amount)> memo string TransferAssets(SerializationInfo, StreamingContext) protected TransferAssets(SerializationInfo info, StreamingContext context) Parameters info SerializationInfo context StreamingContext Fields RecipientsCapacity public const int RecipientsCapacity = 100 Field Value int TypeIdentifier public const string TypeIdentifier = \"transfer_assets3\" Field Value string Properties Memo public string Memo { get; } Property Value string PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Recipients public List<(Address recipient, FungibleAssetValue amount)> Recipients { get; } Property Value List<(Address recipient, FungibleAssetValue amount)> Sender public Address Sender { get; } Property Value Address Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext GetObjectData(SerializationInfo, StreamingContext) Populates a SerializationInfo with the data needed to serialize the target object. public void GetObjectData(SerializationInfo info, StreamingContext context) Parameters info SerializationInfo The SerializationInfo to populate with data. context StreamingContext The destination (see StreamingContext) for this serialization. Exceptions SecurityException The caller does not have the required permission. LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.Action.UnlockCombinationSlot.html": { "href": "api/Nekoyume.Action.UnlockCombinationSlot.html", "title": "Class UnlockCombinationSlot | Lib9c", - "keywords": "Class UnlockCombinationSlot Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"unlock_combination_slot\")] public class UnlockCombinationSlot : GameAction, IAction Inheritance object ActionBase GameAction UnlockCombinationSlot Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address GoldenDustId public const int GoldenDustId = 600201 Field Value int RubyDustId public const int RubyDustId = 600202 Field Value int SlotIndex public int SlotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class UnlockCombinationSlot Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"unlock_combination_slot\")] public class UnlockCombinationSlot : GameAction, IAction Inheritance object ActionBase GameAction UnlockCombinationSlot Implements IAction Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address GoldenDustId public const int GoldenDustId = 600201 Field Value int RubyDustId public const int RubyDustId = 600202 Field Value int SlotIndex public int SlotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.UnlockEquipmentRecipe.html": { "href": "api/Nekoyume.Action.UnlockEquipmentRecipe.html", "title": "Class UnlockEquipmentRecipe | Lib9c", - "keywords": "Class UnlockEquipmentRecipe Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"unlock_equipment_recipe2\")] public class UnlockEquipmentRecipe : GameAction, IAction, IUnlockEquipmentRecipeV1 Inheritance object ActionBase GameAction UnlockEquipmentRecipe Implements IAction IUnlockEquipmentRecipeV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address RecipeIds public List RecipeIds Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary UnlockedIds(IWorld, Address, EquipmentItemRecipeSheet, WorldInformation, List) public static List UnlockedIds(IWorld states, Address unlockedRecipeIdsAddress, EquipmentItemRecipeSheet equipmentRecipeSheet, WorldInformation worldInformation, List recipeIds) Parameters states IWorld unlockedRecipeIdsAddress Address equipmentRecipeSheet EquipmentItemRecipeSheet worldInformation WorldInformation recipeIds List Returns List" + "keywords": "Class UnlockEquipmentRecipe Namespace Nekoyume.Action Assembly Lib9c.dll [ActionType(\"unlock_equipment_recipe2\")] public class UnlockEquipmentRecipe : GameAction, IAction, IUnlockEquipmentRecipeV1 Inheritance object ActionBase GameAction UnlockEquipmentRecipe Implements IAction IUnlockEquipmentRecipeV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address RecipeIds public List RecipeIds Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary UnlockedIds(IWorld, Address, EquipmentItemRecipeSheet, WorldInformation, List) public static List UnlockedIds(IWorld states, Address unlockedRecipeIdsAddress, EquipmentItemRecipeSheet equipmentRecipeSheet, WorldInformation worldInformation, List recipeIds) Parameters states IWorld unlockedRecipeIdsAddress Address equipmentRecipeSheet EquipmentItemRecipeSheet worldInformation WorldInformation recipeIds List Returns List" }, "api/Nekoyume.Action.UnlockRuneSlot.html": { "href": "api/Nekoyume.Action.UnlockRuneSlot.html", "title": "Class UnlockRuneSlot | Lib9c", - "keywords": "Class UnlockRuneSlot Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"unlock_rune_slot\")] public class UnlockRuneSlot : GameAction, IAction, IUnlockRuneSlotV1 Inheritance object ActionBase GameAction UnlockRuneSlot Implements IAction IUnlockRuneSlotV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address SlotIndex public int SlotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class UnlockRuneSlot Namespace Nekoyume.Action Assembly Lib9c.dll [Serializable] [ActionType(\"unlock_rune_slot\")] public class UnlockRuneSlot : GameAction, IAction, IUnlockRuneSlotV1 Inheritance object ActionBase GameAction UnlockRuneSlot Implements IAction IUnlockRuneSlotV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address SlotIndex public int SlotIndex Field Value int Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.UnlockWorld.html": { "href": "api/Nekoyume.Action.UnlockWorld.html", "title": "Class UnlockWorld | Lib9c", - "keywords": "Class UnlockWorld Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/1309 [ActionType(\"unlock_world2\")] public class UnlockWorld : GameAction, IAction, IUnlockWorldV1 Inheritance object ActionBase GameAction UnlockWorld Implements IAction IUnlockWorldV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address WorldIds public List WorldIds Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class UnlockWorld Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/1309 [ActionType(\"unlock_world2\")] public class UnlockWorld : GameAction, IAction, IUnlockWorldV1 Inheritance object ActionBase GameAction UnlockWorld Implements IAction IUnlockWorldV1 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AvatarAddress public Address AvatarAddress Field Value Address WorldIds public List WorldIds Field Value List Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.UpdateSell.html": { "href": "api/Nekoyume.Action.UpdateSell.html", "title": "Class UpdateSell | Lib9c", - "keywords": "Class UpdateSell Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/1640 [Serializable] [ActionType(\"update_sell5\")] [ActionObsolete(7200000)] public class UpdateSell : GameAction, IAction, IUpdateSellV2 Inheritance object ActionBase GameAction UpdateSell Implements IAction IUpdateSellV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields sellerAvatarAddress public Address sellerAvatarAddress Field Value Address updateSellInfos public IEnumerable updateSellInfos Field Value IEnumerable Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Cancel(IWorld, UpdateSellInfo, string, AvatarState, OrderDigestListState, IActionContext, Address) public static IWorld Cancel(IWorld states, UpdateSellInfo updateSellInfo, string addressesHex, AvatarState avatarState, OrderDigestListState digestList, IActionContext context, Address sellerAvatarAddress) Parameters states IWorld updateSellInfo UpdateSellInfo addressesHex string avatarState AvatarState digestList OrderDigestListState context IActionContext sellerAvatarAddress Address Returns IWorld Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" + "keywords": "Class UpdateSell Namespace Nekoyume.Action Assembly Lib9c.dll Hard forked at https://github.com/planetarium/lib9c/pull/1640 [Serializable] [ActionType(\"update_sell5\")] [ActionObsolete(7200000)] public class UpdateSell : GameAction, IAction, IUpdateSellV2 Inheritance object ActionBase GameAction UpdateSell Implements IAction IUpdateSellV2 Inherited Members GameAction.Id GameAction.PlainValue GameAction.LoadPlainValue(IValue) ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields sellerAvatarAddress public Address sellerAvatarAddress Field Value Address updateSellInfos public IEnumerable updateSellInfos Field Value IEnumerable Properties PlainValueInternal protected override IImmutableDictionary PlainValueInternal { get; } Property Value IImmutableDictionary Methods Cancel(IWorld, UpdateSellInfo, string, AvatarState, OrderDigestListState, IActionContext, Address) public static IWorld Cancel(IWorld states, UpdateSellInfo updateSellInfo, string addressesHex, AvatarState avatarState, OrderDigestListState digestList, IActionContext context, Address sellerAvatarAddress) Parameters states IWorld updateSellInfo UpdateSellInfo addressesHex string avatarState AvatarState digestList OrderDigestListState context IActionContext sellerAvatarAddress Address Returns IWorld Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValueInternal(IImmutableDictionary) protected override void LoadPlainValueInternal(IImmutableDictionary plainValue) Parameters plainValue IImmutableDictionary" }, "api/Nekoyume.Action.UpdateSellInfo.html": { "href": "api/Nekoyume.Action.UpdateSellInfo.html", @@ -3897,7 +3897,7 @@ "api/Nekoyume.PolicyAction.Tx.Begin.AutoJoinGuild.html": { "href": "api/Nekoyume.PolicyAction.Tx.Begin.AutoJoinGuild.html", "title": "Class AutoJoinGuild | Lib9c", - "keywords": "Class AutoJoinGuild Namespace Nekoyume.PolicyAction.Tx.Begin Assembly Lib9c.dll An action that automatically joins to Planetarium guild if it contracted pledge with Planetarium. public class AutoJoinGuild : ActionBase, IAction Inheritance object ActionBase AutoJoinGuild Implements IAction Inherited Members ActionBase.GoldCurrencyMock ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.LogError(IActionContext, string, params object[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) ActionBase.UseV100291Sheets(long) ActionBase.CheckActionAvailable(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" + "keywords": "Class AutoJoinGuild Namespace Nekoyume.PolicyAction.Tx.Begin Assembly Lib9c.dll An action that automatically joins to Planetarium guild if it contracted pledge with Planetarium. public class AutoJoinGuild : ActionBase, IAction Inheritance object ActionBase AutoJoinGuild Implements IAction Inherited Members ActionBase.GetSignerAndOtherAddressesHex(IActionContext, params Address[]) ActionBase.TryGetAdminState(IActionContext, out AdminState) ActionBase.CheckPermission(IActionContext) ActionBase.CheckObsolete(long, IActionContext) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties PlainValue Serializes values bound to an action, which is held by properties (or fields) of an action, so that they can be transmitted over network or saved to persistent storage. Serialized values are deserialized by Libplanet.Action.IAction.LoadPlainValue(Bencodex.Types.IValue) method later. public override IValue PlainValue { get; } Property Value IValue A Bencodex value which encodes this action's bound values (held by properties or fields). See Also LoadPlainValue(IValue) Methods Execute(IActionContext) Executes the main game logic of an action. This should be deterministic. Through the context object, it receives information such as a transaction signer, its states immediately before the execution, and a deterministic random seed. Other “bound” information resides in the action object in itself, as its properties (or fields). A returned Libplanet.Action.State.IWorld object functions as a delta which shifts from previous states to next states. public override IWorld Execute(IActionContext context) Parameters context IActionContext A context object containing addresses that signed the transaction, states immediately before the execution, and a PRNG object which produces deterministic random numbers. See Libplanet.Action.IActionContext for details. Returns IWorld A map of changed states (so-called \"dirty\"). Remarks This method should be deterministic: for structurally (member-wise) equal actions and Libplanet.Action.IActionContexts, the same result should be returned. Side effects should be avoided, because an action's Libplanet.Action.IAction.Execute(Libplanet.Action.IActionContext) method can be called more than once, the time it's called is difficult to predict. For changing in-memory game states or drawing graphics, implement the Blockchain.Renderers.IRenderer interface separately and attach it to a Blockchain.BlockChain instance. For randomness, never use Random nor any other PRNGs provided by other than Libplanet. Use IActionContext.Random instead. IActionContext.Random guarantees the same action has the consistent result for every node in the network. Also do not perform I/O operations such as file system access or networking. These bring an action indeterministic. You maybe fine to log messages for debugging purpose, but equivalent messages could be logged multiple times. Although it might be surprising, floating-point arithmetics are underspecified so that it can make different results on different machines, platforms, runtimes, compilers, and builds. Lastly, you need to be aware and keep in mind that there is a global state named CurrentCulture on .NET; if you format numbers, dates and times, currencies, or other such things into strings and parse these strings back these can rely on CurrentCulture, so that the same action make different results on two differently configured systems like Thai language and French language. In order to make these types of conversions deterministic, you have to explicitly pass InvariantCulture. For more on determinism in general, please read also Tendermint ABCI's docs on determinism. Lastly, you can conduct static analysis on your code using Libplanet.Analyzers. The analyzer can be enabled by adding its NuGet package into your project as a dependency. See Also IActionContext LoadPlainValue(IValue) Deserializes serialized data (i.e., data Libplanet.Action.IAction.PlainValue property made), and then fills this action's properties (or fields) with the deserialized values. public override void LoadPlainValue(IValue plainValue) Parameters plainValue IValue Data (made by Libplanet.Action.IAction.PlainValue property) to be deserialized and assigned to this action's properties (or fields). See Also PlainValue" }, "api/Nekoyume.PolicyAction.Tx.Begin.html": { "href": "api/Nekoyume.PolicyAction.Tx.Begin.html", diff --git a/development/toc.pdf b/development/toc.pdf index 1e44673698..6dfbd97da4 100644 Binary files a/development/toc.pdf and b/development/toc.pdf differ diff --git a/development/xrefmap.yml b/development/xrefmap.yml index 6ad884e448..9bbdb7464d 100644 --- a/development/xrefmap.yml +++ b/development/xrefmap.yml @@ -2765,22 +2765,6 @@ references: commentId: T:Nekoyume.Action.ActionBase fullName: Nekoyume.Action.ActionBase nameWithType: ActionBase -- uid: Nekoyume.Action.ActionBase.CheckActionAvailable(System.Int64,Libplanet.Action.IActionContext) - name: CheckActionAvailable(long, IActionContext) - href: api/Nekoyume.Action.ActionBase.html#Nekoyume_Action_ActionBase_CheckActionAvailable_System_Int64_Libplanet_Action_IActionContext_ - commentId: M:Nekoyume.Action.ActionBase.CheckActionAvailable(System.Int64,Libplanet.Action.IActionContext) - name.vb: CheckActionAvailable(Long, IActionContext) - fullName: Nekoyume.Action.ActionBase.CheckActionAvailable(long, Libplanet.Action.IActionContext) - fullName.vb: Nekoyume.Action.ActionBase.CheckActionAvailable(Long, Libplanet.Action.IActionContext) - nameWithType: ActionBase.CheckActionAvailable(long, IActionContext) - nameWithType.vb: ActionBase.CheckActionAvailable(Long, IActionContext) -- uid: Nekoyume.Action.ActionBase.CheckActionAvailable* - name: CheckActionAvailable - href: api/Nekoyume.Action.ActionBase.html#Nekoyume_Action_ActionBase_CheckActionAvailable_ - commentId: Overload:Nekoyume.Action.ActionBase.CheckActionAvailable - isSpec: "True" - fullName: Nekoyume.Action.ActionBase.CheckActionAvailable - nameWithType: ActionBase.CheckActionAvailable - uid: Nekoyume.Action.ActionBase.CheckObsolete(System.Int64,Libplanet.Action.IActionContext) name: CheckObsolete(long, IActionContext) href: api/Nekoyume.Action.ActionBase.html#Nekoyume_Action_ActionBase_CheckObsolete_System_Int64_Libplanet_Action_IActionContext_ @@ -2839,12 +2823,6 @@ references: isSpec: "True" fullName: Nekoyume.Action.ActionBase.GetSignerAndOtherAddressesHex nameWithType: ActionBase.GetSignerAndOtherAddressesHex -- uid: Nekoyume.Action.ActionBase.GoldCurrencyMock - name: GoldCurrencyMock - href: api/Nekoyume.Action.ActionBase.html#Nekoyume_Action_ActionBase_GoldCurrencyMock - commentId: F:Nekoyume.Action.ActionBase.GoldCurrencyMock - fullName: Nekoyume.Action.ActionBase.GoldCurrencyMock - nameWithType: ActionBase.GoldCurrencyMock - uid: Nekoyume.Action.ActionBase.LoadPlainValue(Bencodex.Types.IValue) name: LoadPlainValue(IValue) href: api/Nekoyume.Action.ActionBase.html#Nekoyume_Action_ActionBase_LoadPlainValue_Bencodex_Types_IValue_ @@ -2858,22 +2836,6 @@ references: isSpec: "True" fullName: Nekoyume.Action.ActionBase.LoadPlainValue nameWithType: ActionBase.LoadPlainValue -- uid: Nekoyume.Action.ActionBase.LogError(Libplanet.Action.IActionContext,System.String,System.Object[]) - name: LogError(IActionContext, string, params object[]) - href: api/Nekoyume.Action.ActionBase.html#Nekoyume_Action_ActionBase_LogError_Libplanet_Action_IActionContext_System_String_System_Object___ - commentId: M:Nekoyume.Action.ActionBase.LogError(Libplanet.Action.IActionContext,System.String,System.Object[]) - name.vb: LogError(IActionContext, String, ParamArray Object()) - fullName: Nekoyume.Action.ActionBase.LogError(Libplanet.Action.IActionContext, string, params object[]) - fullName.vb: Nekoyume.Action.ActionBase.LogError(Libplanet.Action.IActionContext, String, ParamArray Object()) - nameWithType: ActionBase.LogError(IActionContext, string, params object[]) - nameWithType.vb: ActionBase.LogError(IActionContext, String, ParamArray Object()) -- uid: Nekoyume.Action.ActionBase.LogError* - name: LogError - href: api/Nekoyume.Action.ActionBase.html#Nekoyume_Action_ActionBase_LogError_ - commentId: Overload:Nekoyume.Action.ActionBase.LogError - isSpec: "True" - fullName: Nekoyume.Action.ActionBase.LogError - nameWithType: ActionBase.LogError - uid: Nekoyume.Action.ActionBase.PlainValue name: PlainValue href: api/Nekoyume.Action.ActionBase.html#Nekoyume_Action_ActionBase_PlainValue @@ -2903,22 +2865,6 @@ references: isSpec: "True" fullName: Nekoyume.Action.ActionBase.TryGetAdminState nameWithType: ActionBase.TryGetAdminState -- uid: Nekoyume.Action.ActionBase.UseV100291Sheets(System.Int64) - name: UseV100291Sheets(long) - href: api/Nekoyume.Action.ActionBase.html#Nekoyume_Action_ActionBase_UseV100291Sheets_System_Int64_ - commentId: M:Nekoyume.Action.ActionBase.UseV100291Sheets(System.Int64) - name.vb: UseV100291Sheets(Long) - fullName: Nekoyume.Action.ActionBase.UseV100291Sheets(long) - fullName.vb: Nekoyume.Action.ActionBase.UseV100291Sheets(Long) - nameWithType: ActionBase.UseV100291Sheets(long) - nameWithType.vb: ActionBase.UseV100291Sheets(Long) -- uid: Nekoyume.Action.ActionBase.UseV100291Sheets* - name: UseV100291Sheets - href: api/Nekoyume.Action.ActionBase.html#Nekoyume_Action_ActionBase_UseV100291Sheets_ - commentId: Overload:Nekoyume.Action.ActionBase.UseV100291Sheets - isSpec: "True" - fullName: Nekoyume.Action.ActionBase.UseV100291Sheets - nameWithType: ActionBase.UseV100291Sheets - uid: Nekoyume.Action.ActionContextExtensions name: ActionContextExtensions href: api/Nekoyume.Action.ActionContextExtensions.html