Exemplo n.º 1
0
    private void OnTriggerStay2D(Collider2D collision)
    {
        if (collision.gameObject.tag == "Animals")
        {
            if (_playerMovement.movementState == PlayerMovement.MovementState.DASH)
            {
                _playerGrab.Grab(collision.gameObject);
            }
        }

        if (collision.gameObject.tag == "Farm")
        {
            var farmingZone = collision.gameObject.GetComponent <FarmingZone>();

            if (farmingZone != null && farmingZone.playersFarm == player.teamType && _playerGrab.animalHold != null)
            {
                Animal animal = _playerGrab.animalHold.GetComponent <Animal>();
                farmingZone.AddAnimalsInFarm(animal);
                _playerGrab.UnGrab();
                GameManager.Instance.AddPoints(player.teamType, animal);
            }
        }

        if (collision.gameObject.tag == "TriggerPlayer" && _playerMovement.movementState == PlayerMovement.MovementState.DASH)
        {
            var playerEnnemy = collision.transform.parent.gameObject;

            // If same team, ignore collision
            if (playerEnnemy.GetComponent <Player>().teamType == player.teamType)
            {
                return;
            }

            var animalHold = playerEnnemy.GetComponent <PlayerGrab>().animalHold;

            if (_playerGrab.animalHold != null && animalHold != null)
            {
                playerEnnemy.GetComponent <PlayerGrab>().DropAnimal();
            }
            else
            {
                if (animalHold != null)
                {
                    _playerGrab.Grab(animalHold);
                }

                playerEnnemy.GetComponent <PlayerGrab>().StealAnimal();
            }
        }
    }
Exemplo n.º 2
0
    public void Update()
    {
        if (Input.GetKey(KeyCode.A))
        {
            playerMovement.MoveHorizontal(-1);
        }
        else if (Input.GetKey(KeyCode.D))
        {
            playerMovement.MoveHorizontal(1);
        }
        else
        {
            playerMovement.MoveHorizontal(0);
        }


        playerMovement.ApplyGravity();
        if (Input.GetKey(KeyCode.Space))
        {
            playerMovement.Jump();
        }

        if (Input.GetKeyDown(KeyCode.R))
        {
            SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
        }

        if (Input.GetMouseButton(0))
        {
            // grab or throw
            if (plag.GrabbedObject && !playerMovement.OnLadder)
            {
                plag.PredictTrajectory();
            }
            else if (!playerMovement.OnLadder)
            {
                plag.Grab();
            }
        }
        else if (Input.GetMouseButtonUp(0) && plag.GrabbedObject)
        {
            plag.Throw();
        }
        else if (Input.GetMouseButton(1))
        {
            if (plag.GrabbedObject)
            {
                plag.Drop();
            }
        }

        var info = plat.Move(playerMovement.velocity * Time.deltaTime);

        if (!info.climbingSlope)
        {
            if (info.bottom || info.top)
            {
                playerMovement.velocity.y = 0;
            }
            if (info.left || info.right)
            {
                playerMovement.velocity.x = 0;
            }
        }

        playerMovement.MoveAnimation(info.velocity);
    }
Exemplo n.º 3
0
 public void PlacedPiece()
 {
     playerGrab.Grab();
     Debug.Log("PlacedPiece");
     SwitchState();
 }
Exemplo n.º 4
0
 public void Grab()
 {
     grabber.Grab();
 }
Exemplo n.º 5
0
 private void OnEastPress()
 {
     print("OnEastPress");
     grabber.Grab();
 }