Пример #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();
            }
        }
    }
Пример #2
0
 private void OnBite(InputAction.CallbackContext ctx)
 {
     BitingSystem.Instance.OnBite(score, tastePositivity, thing);
     currentDescription.Bite();
     grabCapability.UnGrab();
 }