/// <summary>
    /// Method om de state te wijzigen
    /// </summary>
    public void SetState(StateID2 stateID)
    {
        /** als we de stateID niet kennen als state: stop deze functie dan */
        if (!states.ContainsKey(stateID))
        {
            return;
        }

        /** als we ons al in een state bevinden: geef de state de mogelijkheid zich op te ruimen */
        if (currentState != null)
        {
            currentState.Leave();
        }

        /** we stellen de nieuwe currentState in */
        currentState = states[stateID];

        /** we geven de nieuwe state de mogelijkheid om zich zelf in te stellen */
        currentState.Enter();
    }
 /// <summary>
 /// Voeg een state toe aan de state machine
 /// LET OP! Alle components die de Class State.cs extenden (inheritance) die mogen in de Dictionary
 /// Daarom mogen AlertState.cs, AlertState.cs en FleeState.cs in de dictionary, aangezien zij State.CS extenden
 /// </summary>
 /// <param name="stateID">Een integer die komt uit de ENUM StateID (zie StateID in Guard.cs)</param>
 /// <param name="state">Een component die State.cs extend (inheritance)</param>
 public void AddState(StateID2 stateID, State2 state)
 {
     states.Add(stateID, state);
 }