Question: I'm currently building a tutorial for a game. 

I'm trying to cycle through prewritten text using a switch statement. The switch statement is controlled by a counter, which is incremented when you click the "next" button. The code for the switch is below:

```
    public void tutMGR(){
    switch (nextCount) {

    case 0:
        tutText.text = "1";
        break;

    case 1:
        tutText.text = "2";
        break;

    default:
        break;
    }

```

The button code is:

```
    public void nextCnt(){
        nextCount++;
    }

```

In the inspector, the nextCount is increasing. If I change the value in the inspector before running the game, the case statement will display the desired text. I just can't get it to change while the game is running.

Any suggestions?

Answer: 
It may be that the text is changing; but, the object doesn't know that it has changed; so, it is not redrawing the screen. 

Calling 'tutText.Update()' could solve your problem.

Another thing to consider is the use of a [Dictionary](https://msdn.microsoft.com/en-us/library/xfhwa508(v=vs.110).aspx) rather than a switch statement for simple translations like this.
For example to translate an int to Spanish text, you could: 

```
Dictionary<int,string> spaNums = new Dictionary<int,string>()
{
   {1,"uno"},
   {2,"dos"},
   {3,"tres"},
}

tutText.text = spaNums[nextCount];

```

Now when you want to add a new mapping you just add a new entry to the Dictionary and no code change required.

Note that if all you want to do is a straight text translation you could use

```
tutText.text = nextCount.ToString();

```

As [ToString()](https://msdn.microsoft.com/en-us/library/system.object.tostring(v=vs.110).aspx) is available to all objects within C#
I ended up fixing it! All I had to do was put the switch statements in the button function itself, so it ended up looking like this:

```
    public void nextCnt(){
    nextCount++;

    switch (nextCount) {

    case 1:
        tutText.text = "1";
        break;

    case 2:
        tutText.text = "2";
        miniMap.gameObject.SetActive (true);
        break;

    default:
        break;
    }
}

```

It seems like it's working so far. Thank you for the help, though.