Beispiel #1
0
 private void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.CompareTag("Wood") && _isScoreTaken == false)
     {
         gameObject.transform.SetParent(collision.transform);
         var temp = collision.gameObject.GetComponentInParent <Wood>();
         if (!_isKnifeInWood)
         {
             Vibration.Vibrate(100);
             temp.MinusScore();
             _rigidbody.isKinematic = true;
             _isScoreTaken          = true;
             ScoreAndStage.AddScore(1);
             _scoreText.UpdateText();
             AddMoney();
         }
     }
     if (collision.gameObject.CompareTag("Knife") && _isScoreTaken == false)
     {
         ScoreAndStage.CheckRecords();
         ScoreAndStage.Reset();
         Vibration.Vibrate();
         GameState.GameOver();
         GameState.GameFreeze(true);
         var menu = FindObjectOfType <Wood>();
         menu.Menu.SetActive(true);
     }
 }
Beispiel #2
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.CompareTag("Apple"))
     {
         AddMoney();
         ScoreAndStage.AddScore(1);
         Destroy(other.gameObject);
     }
 }
Beispiel #3
0
    private void EndGame()
    {
        _rb = GetComponentsInChildren <Rigidbody>();
        Vibration.Vibrate(1000);
        GameState.GameOver();
        ScoreAndStage.AddStage();
        foreach (var a in _rb)
        {
            if (_rb != null)
            {
                a.isKinematic = false;
            }
            if (_rb != null)
            {
                a.useGravity = true;
            }
        }
        var b = FindObjectsOfType <Knife>();

        foreach (var a in b)
        {
            a.EnableGravity();
            a.EnableRotation();
        }
        Collider[] colliders = Physics.OverlapSphere(_explosionPosition.position, _radius);
        foreach (Collider hit in colliders)
        {
            Rigidbody rb = hit.GetComponent <Rigidbody>();
            if (rb != null)
            {
                rb.AddForce((hit.transform.position - _explosionPosition.position) * _power, ForceMode.Impulse);
            }
            if (rb != null)
            {
                rb.AddForce(-Vector3.forward * _power, ForceMode.Impulse);
            }
        }
        Invoke("ReloadScene", 2);
    }
Beispiel #4
0
 public void MenuButton()
 {
     SceneManager.LoadScene(0);
     ScoreAndStage.Reset();
 }