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();
            }
        }
Example #4
0
        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;
            }
        }
Example #5
0
        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();
 }
Example #10
0
 private void Block_Move(BlockController sender, Side side, BlockPoint newPoint)
 {
     _changedBlock.Add(sender);
 }
Example #11
0
 private void Block_Destroyed(BlockController block)
 {
     block.Move      -= Block_Move;
     block.Destroyed -= Block_Destroyed;
 }
Example #12
0
 private void _blockGameGenerator_AddBlock(BlockController block)
 {
     block.Move      += Block_Move;
     block.Destroyed += Block_Destroyed;
 }