public BlockInWorld <Block> GetBlock(IntVector position) { position = position - Position; position = position.DivideRoundDown(Constants.BlockSize); var block = InnerGrid.Get(position); return(block != null ? new BlockInWorld <Block>(block, this, Position + position * Constants.BlockSize) : null); }
public Block SetBlock(IntVector position, Block block) { position = position - Position; position = position.DivideRoundDown(Constants.BlockSize); if (block != null) { block.Position = CoordinateSystem.Normalize(Position + position * Constants.BlockSize); } return(InnerGrid.Set(position, block).RemovedItem); }