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(); } } }
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); }
public void PlacedPiece() { playerGrab.Grab(); Debug.Log("PlacedPiece"); SwitchState(); }
public void Grab() { grabber.Grab(); }
private void OnEastPress() { print("OnEastPress"); grabber.Grab(); }