I call this under Start():
CharacterDictionary = new Dictionary<string, Texture2D>(){
{"Character1", Character1},
{"Character2", Character2},
{"Character3", Character3},
{"Character4", Character4},
{"Character5", Character5},
{"Character6", Character6},
{"Character7", Character7},
{"Character8", Character8},
{"Character9", Character9},
{"Character10", Character10},
{"Character11", Character11},
{"Character12", Character12},
{"Character13", Character13},
{"Character14", Character14},
{"Character15", Character15},
{"Character16", Character16},
{"Character17", Character17},
{"Character18", Character18},
{"Character19", Character19},
{"Character20", Character20}
};
I call this under Update():
if (lines[lineNum].StartsWith("-")||lines[lineNum].StartsWith("+")){
if (lines[lineNum].StartsWith("+")){
CharSearch = lines[lineNum].TrimStart('+');
if (CharacterDictionary.ContainsKey(CharSearch)){
CharRight = CharacterDictionary[CharSearch];
}else{
Debug.Log(CharSearch);
StartNextLine = true;
}
}else{
CharSearch = lines[lineNum].TrimStart('-');
if (CharacterDictionary.ContainsKey(CharSearch)){
CharLeft = CharacterDictionary[CharSearch];
}else{
Debug.Log(CharSearch);
StartNextLine = true;
}
}
The code seems to be doing its job, since substituting CharSearch with “Character1” gets me the relevant Texture2D. However, for some reason, even when CharSearch is the string “Character1”, it still returns false. For testing, the two strings it starts off by checking are:
+Character1
and
-Character2
Both of which were pulled as strings from a text file. They return Character1 and Character2 from Debug.Log respectively.
I also tried this:
if (lines[lineNum].StartsWith("-")||lines[lineNum].StartsWith("+")){
if (lines[lineNum].StartsWith("+")){
CharSearch = lines[lineNum].TrimStart('+');
if (CharSearch == "Character1"){
CharRight = CharacterDictionary[CharSearch];
}else{
Debug.Log(CharSearch);
StartNextLine = true;
}
}else{
CharSearch = lines[lineNum].TrimStart('-');
if (CharSearch == "Character2"){
CharLeft = CharacterDictionary[CharSearch];
}else{
Debug.Log(CharSearch);
StartNextLine = true;
}
}
Those also returned false.
What’s the problem?