コード例 #1
0
    private void Move(int _moveDir)
    {
        switch (_moveDir)
        {
        case 1:
            if (Neighbour(0, 1) == null || !_colStorage.CheckTags(Neighbour(0, 1).tag))
            {
                _grid.Up(gameObject);
            }
            return;

        case 2:
            if (Neighbour(-1, 0) == null || !_colStorage.CheckTags(Neighbour(-1, 0).tag))
            {
                _grid.Left(gameObject);
            }
            return;

        case 3:
            if (Neighbour(1, 0) == null || !_colStorage.CheckTags(Neighbour(1, 0).tag))
            {
                _grid.Right(gameObject);
            }
            return;

        case 4:
            if (Neighbour(0, -1) == null || !_colStorage.CheckTags(Neighbour(0, -1).tag))
            {
                _grid.Down(gameObject);
            }
            return;
        }
    }
コード例 #2
0
    public void Move(int _moveDir)
    {
        switch (_moveDir)
        {
        case 1:
            if (Neighbour(0, 1) == null || !_colStorage.CheckTags(Neighbour(0, 1).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(0, 1), gameObject);
            }
            return;

        case 2:
            if (Neighbour(-1, 0) == null || !_colStorage.CheckTags(Neighbour(-1, 0).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(-1, 0), gameObject);
            }
            return;

        case 3:
            if (Neighbour(1, 0) == null || !_colStorage.CheckTags(Neighbour(1, 0).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(1, 0), gameObject);
            }
            return;

        case 4:
            if (Neighbour(0, -1) == null || !_colStorage.CheckTags(Neighbour(0, -1).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(0, -1), gameObject);
            }
            return;
        }
    }
コード例 #3
0
    public void Move(int _moveDir)
    {
        switch (_moveDir)
        {
        case 1:
            if (Neighbour(0, 1) == null || !_colStorage.CheckTags(Neighbour(0, 1).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(0, 1), gameObject);
                gameObject.transform.Translate(new Vector2(0, 1));
            }
            else if (Neighbour(0, -1).tag == "player")
            {
                //Call GameOver
            }
            return;

        case 2:
            if (Neighbour(-1, 0) == null || !_colStorage.CheckTags(Neighbour(-1, 0).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(-1, 0), gameObject);
                gameObject.transform.Translate(new Vector2(-1, 0));
            }
            else if (Neighbour(0, -1).tag == "player")
            {
                //Call GameOver
            }
            return;

        case 3:
            if (Neighbour(1, 0) == null || !_colStorage.CheckTags(Neighbour(1, 0).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(1, 0), gameObject);
                gameObject.transform.Translate(new Vector2(1, 0));
            }
            else if (Neighbour(0, -1).tag == "player")
            {
                //Call GameOver
            }
            return;

        case 4:
            if (Neighbour(0, -1) == null || !_colStorage.CheckTags(Neighbour(0, -1).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(0, -1), gameObject);
                gameObject.transform.Translate(new Vector2(0, -1));
            }
            else if (Neighbour(0, -1).tag == "player")
            {
                //Call GameOver
            }
            return;
        }
    }
コード例 #4
0
    public void DirectedMove()
    {
        switch (_currentDir)
        {
        case _direction.Up:
            if (Neighbour(0, 1) == null || !_colStorage.CheckTags(Neighbour(0, 1).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(0, 1), gameObject);
                gameObject.transform.Translate(new Vector2(0, 1));
            }
            else
            {
                _currentDir = _direction.Down;
            }
            break;

        case _direction.Down:
            if (Neighbour(0, -1) == null || !_colStorage.CheckTags(Neighbour(0, -1).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(0, -1), gameObject);
                gameObject.transform.Translate(new Vector2(0, -1));
            }
            else
            {
                _currentDir = _direction.Up;
            }
            break;

        case _direction.Left:
            if (Neighbour(-1, 0) == null || !_colStorage.CheckTags(Neighbour(-1, 0).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(-1, 0), gameObject);
                gameObject.transform.Translate(new Vector2(-1, 0));
            }
            else
            {
                _currentDir = _direction.Right;
            }
            break;

        case _direction.Right:
            if (Neighbour(1, 0) == null || !_colStorage.CheckTags(Neighbour(1, 0).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(1, 0), gameObject);
                gameObject.transform.Translate(new Vector2(1, 0));
            }
            else
            {
                _currentDir = _direction.Left;
            }
            break;
        }
    }
コード例 #5
0
    public void DirectedMove()
    {
        switch (_currentDir)
        {
        case _direction.Up:
            if (_colStorage.CheckTags(Neighbour(0, 1).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(0, 1), gameObject);
                _currentDir = _direction.Down;
            }
            break;

        case _direction.Down:
            if (_colStorage.CheckTags(Neighbour(0, -1).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(0, -1), gameObject);
                _currentDir = _direction.Up;
            }
            break;

        case _direction.Left:
            if (_colStorage.CheckTags(Neighbour(-1, 0).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(-1, 0), gameObject);
                _currentDir = _direction.Right;
            }
            break;

        case _direction.Right:
            if (_colStorage.CheckTags(Neighbour(1, 0).tag))
            {
                _grid.Move(_grid.findLocation(gameObject) + new Vector2(1, 0), gameObject);
                _currentDir = _direction.Left;
            }
            break;
        }
    }