danivdwerf / EndlessRunner

0 stars 1 forks source link

SRP #6

Open BerendWeij opened 8 years ago

BerendWeij commented 8 years ago

Je hebt feedback gekregen van BerendWeij op:

sing UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class Score : MonoBehaviour
{
    [SerializeField]private Text scoreText;
    [SerializeField]private Text highScoreText;

    private int score;
    private bool betterScore;
    private float highScore;
    public static Score score_script;

    private void Start()
    {
        score_script = this;
        highScore = PlayerPrefs.GetFloat("High Score");
        score = 0;
        betterScore = false;
        UpdateScoreUI();
    }

    private void Update()
    {
        UpdateScoreUI();
        if(score > highScore)
        {
            highScore = score;
            PlayerPrefs.SetFloat("High Score", highScore);
        }
        if (score == highScore&&!betterScore)
        {
            Achievement.achievement.NewHighscore();
            betterScore = true;
        }
    }

    private void UpdateScoreUI()
    {
        score++;
        scoreText.text = "Score: "+ score;
        highScoreText.text = "Highscore: "+  highScore; 
    }
}

URL: https://github.com/danivdwerf/EndlessRunner/blob/master/Assets/_Scripts/GameController/Score.cs

Feedback: Let op de single responsibility principle.

Wat is de verantwoordelijkheid van deze Class?

Data bijhouden? Data weergeven? Collision checken? enzovoorts...

Single responsibility betekent 1 verantwoordelijkheid uit het lijstje hierboven. Dus niet meerdere.

Onthou deze feedback. Volgende week geef ik jullie een theorieles over SRP. Dan weet je daarna hoe je dit moet oplossen ;)