コード例 #1
0
ファイル: ChoiceTipDisplay.cs プロジェクト: PcloD/DotaAffair
    private void BeginMoveAnimation(MoveDirect moveDirect)
    {
        switch (moveDirect)
        {
        case MoveDirect.MoveDirect_Down:
            if (_isMaskDown)
            {
                return;
            }
            _animator.Play("ChoiceMask_Down");
            _isMaskDown = true;
            break;

        case MoveDirect.MoveDirect_Up:
            if (!_isMaskDown)
            {
                return;
            }
            _animator.Play("ChoiceMask_Up");
            _isMaskDown = false;
            break;

        default:
            break;
        }
    }
コード例 #2
0
        //-------------------------------------------------------------------------------------
        private void Move(MoveDirect dir, int gridx, int gridy, int offsetValue)
        {
            switch (dir)
            {
            case MoveDirect.Left:
            {
                _gridfield.GetHorizontalLine(gridy, out BaseTile[] tiles);
                if (!CheckMove(tiles, dir))
                {
                    _isMoving = false;
                    return;
                }
                MoveHorizontal_Animation(tiles, -offsetValue);
            }
            break;

            case MoveDirect.Right:
            {
                _gridfield.GetHorizontalLine(gridy, out BaseTile[] tiles);
                if (!CheckMove(tiles, dir))
                {
                    _isMoving = false;
                    return;
                }
                MoveHorizontal_Animation(tiles, -offsetValue);
            }
            break;

            case MoveDirect.Up:
            {
                _gridfield.GetVerticalLine(gridx, out BaseTile[] tiles);
                if (!CheckMove(tiles, dir))
                {
                    _isMoving = false;
                    return;
                }
                MoveVertical_Animation(tiles, -offsetValue);
            }
            break;

            case MoveDirect.Down:
            {
                _gridfield.GetVerticalLine(gridx, out BaseTile[] tiles);
                if (!CheckMove(tiles, dir))
                {
                    _isMoving = false;
                    return;
                }
                MoveVertical_Animation(tiles, -offsetValue);
            }
            break;
            }
        }
コード例 #3
0
        public override void Excute()
        {
            var objs = _cacheobjs;

            base.Excute();

            _isMoving = true;

            MoveDirect dir         = (MoveDirect)objs[0];
            int        gridx       = (int)objs[1];
            int        gridy       = (int)objs[2];
            int        offsetValue = (int)objs[3];

            Move(dir, gridx, gridy, offsetValue);
        }
コード例 #4
0
        //-------------------------------------------------------------------------------------
        public bool CheckMove(BaseTile[] tiles, MoveDirect dir)
        {
            foreach (var tile in tiles)
            {
                if (dir == MoveDirect.Down || dir == MoveDirect.Up)
                {
                    if (tile.GetLockState() == LockState.LockUPDown || tile.GetLockState() == LockState.LockAll)
                    {
                        return(false);
                    }
                }

                else if (dir == MoveDirect.Left || dir == MoveDirect.Right)
                {
                    if (tile.GetLockState() == LockState.LockLeftRight || tile.GetLockState() == LockState.LockAll)
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }