示例#1
0
    public override void OnInit(BlockProvider blockProvider)
    {
        base.OnInit(blockProvider);

        air = BlockProvider.AirBlock;
        Block blk = blockProvider.GetBlock("dirt");

        dirt  = new BlockData(blk.Type, blk.Solid);
        blk   = blockProvider.GetBlock("grass");
        grass = new BlockData(blk.Type, blk.Solid);
    }
示例#2
0
        public async Task <Block> GetBlockWithTransactions(string id)
        {
            Block block;

            try
            {
                block = BlockRepository.GetByIdWithTransactions(id);

                if (block == null)
                {
                    block = await BlockProvider.GetBlock(id);

                    if (block != null)
                    {
                        foreach (var txid in block.TransactionIds)
                        {
                            var transaction = await _transactionService.GetTransaction(txid);

                            block.Transactions.Add(transaction);
                        }
                        BlockRepository.AddBlockWithTransactions(id, block);
                    }
                }
            }
            catch (Exception)
            {
                return(null);
            }

            return(block);
        }
示例#3
0
        public async Task <Block> GetBlock(string id)
        {
            Block block;

            try
            {
                block = BlockRepository.GetById(id);

                if (block == null)
                {
                    block = await BlockProvider.GetBlock(id);

                    if (block != null)
                    {
                        BlockRepository.AddBlock(id, block);
                    }
                }
            }
            catch (Exception)
            {
                return(null);
            }

            return(block);
        }
示例#4
0
 public override void OnInit(BlockProvider blockProvider)
 {
     dirt  = new BlockData(blockProvider.GetBlock("dirt").type);
     air   = new BlockData(blockProvider.GetBlock("air").type);
     grass = new BlockData(blockProvider.GetBlock("grass").type);
 }
示例#5
0
 public static void GetTransaction(BlockProvider blockProvider, int blockIndex, int txIndex, out Block block, out Transaction tx)
 {
     block = blockProvider.GetBlock(blockIndex);
     tx    = block.Transactions[txIndex];
 }
 public async Task <Block> GetBlock(string id)
 {
     return(await BlockProvider.GetBlock(id));
 }