Reference - planetarium/NineChronicles GitHub Wiki

Main Directory

Path Content
Assets/_Scenes/ Contains scenes
Assets/_Scripts/ Contains Nine Chronicle codes
Assets/AddressableAssets/ Contains Nine Chronicle AddressableAssets
Assets/Editor/ Contains Nine Chronicle editor codes
Assets/Planetarium/ Contains some scripts used by Nine Chronicle
Assets/Resources/ Contains almost all the resources used by the Nine Chronicle
Assets/StreamingAssets/ Contains clo files from Nine Chronicle. clo files are mainly used to initialize the agent.

Main Class

IAgent

Agent handles events from blockchain nodes.

public interface IAgent

Properties

Type Name Summary
Subject BlockIndexSubject
long BlockIndex
PrivateKey PrivateKey
Address Address
BlockPolicySource BlockPolicySource
BlockRenderer BlockRenderer
ActionRenderer ActionRenderer
int AppProtocolVersion
Subject BlockTipHashSubject
BlockHash BlockTipHash

Methods

Type Name Summary
void Initialize(CommandLineOptions options, PrivateKey privateKey, Action callback)
void EnqueueAction(GameAction gameAction)
IValue GetState(Address address)
bool IsActionStaged(Guid actionId, out TxId txId)
FungibleAssetValue GetBalance(Address address, Currency currency)

Inheritors

Name Summary
Agent
RPCAgent

ActionHandler

Manage block such as import, export..

public abstract class ActionHandler

Properties

Type Name Summary
bool Pending
Currency GoldCurrency

Methods

Type Name Summary
void Start(ActionRenderer renderer)
void UpdateCurrentAvatarState(AvatarState avatarState)

Inheritors

Name Summary
ActionRenderHandler
ActionUnrenderHandler

ActionManager

Creates an action of the game and puts it in the agent.

public class ActionManager

Static Methods

Type Name Summary
bool IsLastBattleActionId(Guid actionId)

Methods

Type Name Summary
IObservable<ActionBase.ActionEvaluation<CreateAvatar>> CreateAvatar(int index, string nickName, int hair = 0, int lens = 0, int ear = 0, int tail = 0)
IObservable<ActionBase.ActionEvaluation<MimisbrunnrBattle>> MimisbrunnrBattle(List costumes,List equipments, List foods, int worldId, int stageId)
IObservable<ActionBase.ActionEvaluation<HackAndSlash>> HackAndSlash(Player player, int worldId, int stageId, int playCount)
IObservable<ActionBase.ActionEvaluation<HackAndSlash>> HackAndSlash(List costumes, List equipments, List foods, int worldId, int stageId, int playCount)
IObservable<ActionBase.ActionEvaluation<CombinationConsumable>> CombinationConsumable(int recipeId, int slotIndex)
IObservable<ActionBase.ActionEvaluation<Sell>> Sell(Guid tradableId, FungibleAssetValue price, int count, ItemSubType itemSubType)
IObservable<ActionBase.ActionEvaluation<SellCancellation>> SellCancellation(Address sellerAvatarAddress, Guid orderId, Guid tradableId, ItemSubType itemSubType)
IObservable<ActionBase.ActionEvaluation<UpdateSell>> UpdateSell(Guid orderId, Guid tradableId, FungibleAssetValue price, int count, ItemSubType itemSubType)
IObservable<ActionBase.ActionEvaluation<Buy>> Buy(IEnumerable purchaseInfos, List<Nekoyume.UI.Model.ShopItem> shopItems)
IObservable<ActionBase.ActionEvaluation<DailyReward>> DailyReward()
IObservable<ActionBase.ActionEvaluation<ItemEnhancement>> ItemEnhancement(Guid itemId, Guid materialId, int slotIndex)
IObservable<ActionBase.ActionEvaluation<RankingBattle>> RankingBattle(Address enemyAddress, List costumeIds, List equipmentIds, List consumableIds)
IObservable<ActionBase.ActionEvaluation<CombinationEquipment>> CombinationEquipment(int recipeId, int slotIndex, int? subRecipeId = null)
IObservable<ActionBase.ActionEvaluation<RapidCombination>> RapidCombination(Address avatarAddress, int slotIndex)
IObservable<ActionBase.ActionEvaluation<RedeemCode>> RedeemCode(string code)
IObservable<ActionBase.ActionEvaluation<ChargeActionPoint>> ChargeActionPoint()
void PatchTableSheet(string tableName, string tableCsv)

BlockManager

Manage block such as import, export..

public static class BlockManager

Static Properties

Type Name Summary
string GenesisBlockPath Get the path of the genesis block

Static Methods

Type Name Summary
void ExportBlock(Block<PolymorphicAction> block, string path) Encodes the block and exports it to a file
void Block<PolymorphicAction> ImportBlock(string path) Read a block from a file.
void Block<PolymorphicAction> MineGenesisBlock(PendingActivationState[] pendingActivationStates)
string BlockPath(string filename) Get the path of the block

BlockRenderHandler

Handle the actions you need whenever a block is randomized.

public class BlockRenderHandler

Methods

Type Name Summary
void Start(BlockRenderer blockRenderer)
void Stop()

ReorgInfo

public readonly struct ReorgInfo

Properties

Type Name Summary
HashDigest BranchpointHash
HashDigest OldTipHash
HashDigest NewTipHash

TransactionMap

public class TransactionMap

Methods

Type Name Summary
bool TryGetValue(Guid key, out TxId value)
void TryAdd(Guid key, TxId value)

StorePath

public static class StorePath

Enum

Name Summary
Production
Development

Static Methods

Type Name Summary
string GetDefaultStoragePath(Env? env = null)
string GetPrefixPath()

ErrorCode

public class ErrorCode

Static Methods

Type Name Summary
(string, string, string) GetErrorCode(Exception exc)
⚠️ **GitHub.com Fallback** ⚠️