HighScore Table

Hi guys,

I am trying to do a highscore table so every time a ball makes a collision it adds 1 point to the score. Right now I have accomplish to make the ball fall and collied with the floor, but it does not add anything to the score text.

Hope you can help me.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ScoreKeeper : MonoBehaviour`enter code here`
{

    int score = 0;

    Text text;

    void Awake()
    {
        text = GetComponent<Text>();
    }

    private void Update()
    {
        if (score == 1)
        {
            text.text = "We are awesome";
        }
        else
        {
            text.text = "Score:" + score.ToString();
        }

    }

    public void ScorePoints(int points)
    {
        score += points;

    }

    void Reset()
    {
        score = 0;

    }
}

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class BallScored : MonoBehaviour
{
    
    int ballsWithHuman = 20;
    public int scoreValue = 0;
    public Text scoreText;
    public Text winText;

    // Use this for initialization
    void Start()
    {


    }

    // Update is called once per frame

    private void OnCollisionEnter(Collision collision)
    {

        if (collision.gameObject.name == "Sphere")
        {
            ballsWithHuman++;
            Destroy(collision.gameObject);
            GameObject.Find("ScoreKeeper").GetComponent<ScoreKeeper>().ScorePoints(1);

        }
    }
}

It’s hard to tell for sure from the code. Can you tell at what point things aren’t working? If you add Debug.Log statements, are you getting into the CollisionEnter? Are you getting in the name == “Sphere” block?

I only see one thing that might be off. What object is your BallScored script attached to? Is it on the ball itself? Just curious, because if so, the OnCollision would only be fired when the ball collides with itself, which isn’t going to happen.