- Home /
How do I change the name of a static reference from another script so that the called variable depends on the input name?
There may be an Answer for this out somewhere, but the hardest thing for me is trying to word this question.
I have a bunch of Serialized information in my script called "SaveScript" that are all static
so this looks like (This code is in C#):
public class SaveScript : MonoBehaviour {
public static float Level01Time;
public static float Level02Time;
.
.
.
.
public static float Level10Time;
}
Just Assume these variables have values attached already via reference to a savefile.
Independent of this I have an Object called "Level 1 BT", which is short for Level 1 Best time. This is a Text Mesh object with the Javascript code called "BestTimeDisplayer" attached. This code get the name of the Text Mesh Object and takes out a few characters of the string (the numbers) and Adds it to substring to form the name of the relevant "best time".
This Code is as follows (in Javascript):
function Start () {
var ObjName = this.gameObject.name; <---getting the name of the attached object
/* ie "Level 1 BT" */
Debug.Log(ObjName);
var LevelNumber = int.Parse(ObjName.Substring(5,2)); <--- gets "1" (using the int later)
Debug.Log(LevelNumber);
if(LevelNumber<10)
{
var LevelName = "Level0" + LevelNumber + "Time"; <----- Combining the strings
}
GetComponent.<TextMesh>().text = SaveScript.-->LevelName<--.ToString("F2");
}
You see I need the static variable reference to be able to be changed like this. If this is easy or answered before, I'm sorry I have looked and it must be not being able to word it properly.
Your answer
Follow this Question
Related Questions
Coroutine cannot be automatically started from a static function 1 Answer
Call static variable dynamically 1 Answer
Invalid IL code error when calling static function 1 Answer
Singleton vs. Static 1 Answer
Static Batching Weird Bug 0 Answers