示例#1
0
 public PropertySink(Block block, PropertyInfo info)
     : base(block)
 {
     Contract.Assume(info.CanWrite == true);
       _info = info;
       _inputAttribute = info.GetCustomAttributes(typeof(SinkAttribute), true).FirstOrDefault() as SinkAttribute;
 }
示例#2
0
 public List<int> GetValidStartingColumns(Block block)
 {
     block.Top = 1;
     List<int> validStartingColumns = content.DoBlocksStartInARandomColumn
         ? GetAllValidStartingColumns(block) : GetMiddleColumnIfValid(block);
     return validStartingColumns;
 }
示例#3
0
		private void CreateUpcomingBlock()
		{
			UpcomingBlock = new Block(displayMode, content, Vector2D.Zero);
			UpcomingBlock.Left = upcomingBlockCenter.X - UpcomingBlock.Center.X;
			UpcomingBlock.Top = upcomingBlockCenter.Y - UpcomingBlock.Center.Y;
			UpcomingBlock.UpdateBrickDrawAreas(0.0f);
		}
示例#4
0
		public int AffixBlock(Block block)
		{
			foreach (Brick brick in block.Bricks.Where(brick => !IsOccupied(brick)))
				AffixBrick(brick);
			RemoveFilledRows();
			return removedRows;
		}
示例#5
0
 public void Init()
 {
     block = new Block();
     block.GetClears().Add("B3");
     block.GetClears().Add("B6");
     block.GetOntables().Add("B3");
     block.GetOntables().Add("B6");
 }
示例#6
0
        public int AffixBlock(Block block)
        {
            foreach (Brick brick in block.Bricks)
                AffixBrick(brick);

            RemoveFilledRows();
            return removedRows;
        }
示例#7
0
		private void GetRidOfGameObjects()
		{
			Get<Grid>().Clear();
			totalRowsRemoved = 0;
			UpcomingBlock.IsActive = false;
			UpcomingBlock = null;
			FallingBlock.IsActive = false;
			FallingBlock = null;
		}
示例#8
0
 public void Init2()
 {
     block = new Block();
     block.GetClears().Add("B1");
     block.GetClears().Add("B6");
     block.GetOns().Add(new ON("B1", "B3"));
     block.GetOntables().Add("B3");
     block.GetOntables().Add("B6");
 }
    /// <summary>
    /// Destroy the block at the given block location
    /// </summary>
    /// <param name="hitLocation"></param>
    public void destroyBlock(Coordinate blockLocation)
    {
        Blocks.Block blockToDestroy = chunk.getBlock(blockLocation.trimmed);
        // replace with air in the model
        chunk.destroyBlock(blockToDestroy);

        // update the chunk mesh and re-render.
        renderChunk();
    }
示例#10
0
        public PropertySource(Block block, PropertyInfo info)
            : base(block)
        {
            Contract.Assume(info.CanRead == true);

              _outputAttribute = info.GetCustomAttributes(typeof(SourceAttribute), true).FirstOrDefault() as SourceAttribute;
              _info = info;
              IsDataReady = true;
              var inpc = block.Content as INotifyPropertyChanged;
              if (inpc == null) return;
              inpc.PropertyChanged += UnderlyingPropertyChanged;
              IsDataReady = true;
        }
示例#11
0
文件: Sink.cs 项目: toeb/Blocks
 protected override void SetBlock(Block block)
 {
     AddSuccessor(block);
 }
示例#12
0
		private List<int> GetMiddleColumnIfValid(Block block)
		{
			var validStartingColumns = new List<int>();
			if (IsAValidStartingColumn(block, Middle))
				validStartingColumns.Add(Middle - (int)block.Center.X);

			return validStartingColumns;
		}
示例#13
0
		} //ncrunch: no coverage end

		private bool IsAValidStartingColumn(Block block, int column)
		{
			block.Left = column;
			return IsValidPosition(block);
		}
示例#14
0
		//ncrunch: no coverage start
		private List<int> GetAllValidStartingColumns(Block block)
		{
			var validStartingColumns = new List<int>();
			for (int x = 0; x < Width; x++)
				if (IsAValidStartingColumn(block, x))
					validStartingColumns.Add(x);
			return validStartingColumns;
		} //ncrunch: no coverage end
示例#15
0
		public bool IsValidPosition(Block block)
		{
			foreach (Brick brick in block.Bricks)
				if (IsOutsideTheGrid(brick) || IsOccupied(brick))
					return false;
			return true;
		}
示例#16
0
文件: Source.cs 项目: toeb/Blocks
 public Source(Block parent)
     : base(parent)
 {
 }
示例#17
0
文件: Source.cs 项目: toeb/Blocks
 protected override void SetBlock(Block block)
 {
     AddPredecessor(block);
 }
示例#18
0
 public bool CanRender(Block block)
 {
     return true;
 }
示例#19
0
文件: Connector.cs 项目: toeb/Blocks
 protected abstract void SetBlock(Block block);
示例#20
0
文件: Sink.cs 项目: toeb/Blocks
 public Sink(Block block)
     : base(block)
 {
 }
 protected IBlockRenderer GetBlockRenderer(Block block)
 {
     return Options.Renderers.First(r => r.CanRender(block));
 }
示例#22
0
文件: Connector.cs 项目: toeb/Blocks
 public Connector(Block block)
 {
     Contract.Assume(block != null);
       Block = block;
 }
示例#23
0
 public HtmlTag Render(Document document, Block block)
 {
     return HtmlTag.Empty();
 }