private void OnBlockDestroyed(BlockController block) { block.Destroyed -= OnBlockDestroyed; block.Move -= OnBlockMove; block.ReverceMove -= OnBlockReverceMove; block.TryMove -= Block_TryMove; block.ClickMove -= BlockOnClickMove; block.View.MoveAnimator.EndAnimation -= MoveAnimatorOnEndAnimation; }
private void _blockGameGenerator_AddBlock(BlockController block) { block.Destroyed += OnBlockDestroyed; block.Move += OnBlockMove; block.ReverceMove += OnBlockReverceMove; block.TryMove += Block_TryMove; block.ClickMove += BlockOnClickMove; block.View.MoveAnimator.EndAnimation += MoveAnimatorOnEndAnimation; }
private void Block_TryMove(BlockController sender, Side side, BlockPoint newPoint) { var nextBlock = _blocks[newPoint.X, newPoint.Y]; if (nextBlock != null && nextBlock.IsStarted) { nextBlock.Reverce(); sender.AcceptMove(); } }
public void IsMoved(BlockController block) { var x = block.Position.X; var y = block.Position.Y; if (x == _borderGamePole - 1 || y == _borderGamePole - 1 || x == _weightGamePole - _borderGamePole || y == _heightGamePole - _borderGamePole) { block.Moved = false; } else { block.Moved = true; } }
private void CheckBlock(BlockController block) { var blocks = new List <BlockController>(); int count = CheckRecursion(block, blocks, 1); if (count >= 3) { foreach (var dblock in blocks) { dblock.Destroy(); _blocks[dblock.Position.X, dblock.Position.Y] = null; _blockPool.FreeBlock = dblock.View; } } }
private bool ReverceCheck(BlockController sender, BlockPoint newPoint) { int x = newPoint.X; int y = newPoint.Y; var nextBlock = _blocks[x, y]; if (nextBlock != null && nextBlock.IsStarted && nextBlock.Side != sender.Side) { nextBlock.Reverce(); _changedBlock.Add(sender, newPoint); sender.AcceptMove(); return(true); } return(false); }
private bool ReverceMove(BlockController sender, BlockPoint newPoint) { int x = newPoint.X; int y = newPoint.Y; if (x < 0 || x >= _weightGamePole || y < 0 || y >= _heightGamePole) { _blocksGenerator.SetBlock(sender); MoveBall(); return(false); } var nextBlock = _blocks[x, y]; if (nextBlock != null && nextBlock.IsStarted) { nextBlock.Reverce(); _changedBlock.Add(sender, newPoint); sender.AcceptMove(); return(true); } return(false); }
private void OnBlockMove(BlockController sender, Side side, BlockPoint newPoint) { }
private void BlockOnClickMove(BlockController sender, Side side, BlockPoint newPoint) { throw new NotImplementedException(); }
private void Block_Move(BlockController sender, Side side, BlockPoint newPoint) { _changedBlock.Add(sender); }
private void Block_Destroyed(BlockController block) { block.Move -= Block_Move; block.Destroyed -= Block_Destroyed; }
private void _blockGameGenerator_AddBlock(BlockController block) { block.Move += Block_Move; block.Destroyed += Block_Destroyed; }