На скрине нужно собрать слово машина, и буквы для этого слова отображаются нормально, а вот остальные вместо русских символов непонятные кракозябры. Использовал таблицу ascii. Пробовал менять кодировку на utf 8 не помогло. Если использовать английские символы с 65 по 91 то они отображаются нормально.
Синтаксис:
Используется csharp
public class GameManager : MonoBehaviour {
public Character[] AllCharacters;
private static List<Character> unDoneLevel;
private Character currentLevel;
[HideInInspector]
public Image characterImage;
public List<GameObject> AllSymbols = new List<GameObject>();
private void Start()
{
if(unDoneLevel == null || unDoneLevel.Count == 0)
{
unDoneLevel = AllCharacters.ToList<Character>();
}
SetLevel();
Debug.Log(currentLevel.name);
}
void SetLevel()
{
int currLevel = 0;
currentLevel = unDoneLevel[currLevel];
characterImage.sprite = currentLevel.image;
foreach (char ch in currentLevel.name.ToUpper().ToArray())
{
int rnd = Random.Range(0, AllSymbols.Count);
while(AllSymbols[rnd].GetComponent<Text>().text != "-")
{
rnd = Random.Range(0, AllSymbols.Count);
}
AllSymbols[rnd].GetComponent<Text>().text = ch.ToString();
}
foreach (GameObject go in AllSymbols)
{
if (go.GetComponent<Text>().text == "-")
go.GetComponent<Text>().text = ((char)Random.Range(192, 223)).ToString();
}
unDoneLevel.RemoveAt(currLevel);
}
public Character[] AllCharacters;
private static List<Character> unDoneLevel;
private Character currentLevel;
[HideInInspector]
public Image characterImage;
public List<GameObject> AllSymbols = new List<GameObject>();
private void Start()
{
if(unDoneLevel == null || unDoneLevel.Count == 0)
{
unDoneLevel = AllCharacters.ToList<Character>();
}
SetLevel();
Debug.Log(currentLevel.name);
}
void SetLevel()
{
int currLevel = 0;
currentLevel = unDoneLevel[currLevel];
characterImage.sprite = currentLevel.image;
foreach (char ch in currentLevel.name.ToUpper().ToArray())
{
int rnd = Random.Range(0, AllSymbols.Count);
while(AllSymbols[rnd].GetComponent<Text>().text != "-")
{
rnd = Random.Range(0, AllSymbols.Count);
}
AllSymbols[rnd].GetComponent<Text>().text = ch.ToString();
}
foreach (GameObject go in AllSymbols)
{
if (go.GetComponent<Text>().text == "-")
go.GetComponent<Text>().text = ((char)Random.Range(192, 223)).ToString();
}
unDoneLevel.RemoveAt(currLevel);
}