- Home /
How to read Array of Strings (JS)
I've been working on importing a text file to instantiate an initial set of objects. So far it's been working OK but now I want to randomise the starting locations of the cube objects.
function Spline(){
var separator1 = "\n";
var separator2 = ",";
var dataArray: String[];
var line: String[];
var fileText = File.ReadAllText("Assets/ObjectEditor.txt");
line = fileText.Split("\n"[0]);
var savedObj:GameObject = null;
var objCount = 0;
var randCube = new Array ();
for(var i = 0; i < (line.Length); i++) {
dataArray = line[i].Split(","[0]);
var posX = (parseFloat(dataArray[1]));
var posY = (parseFloat(dataArray[2]));
var posZ = (parseFloat(dataArray[3]));
var objRotationX = (parseFloat(dataArray[4]));
var objRotationY = (parseFloat(dataArray[5]));
var objRotationZ = (parseFloat(dataArray[6]));
var objID = ((dataArray[7]));
if ((dataArray[0] == "Cube")) {
savedObj = Cube;
randCube.Push(line);
Debug.Log(randCube);
}
if ((dataArray[0] == "Blank")) {
savedObj = Blank;
}
// Spawn Object
var obj = Instantiate(savedObj, Vector3(posX, posY, posZ), Quaternion.Euler(objRotationX, objRotationY, objRotationZ));
objCount++;
obj.name = (dataArray[0] + "");
if(savedObj == Cube){
var tm : TextMesh = obj.GetComponentInChildren(TextMesh);
tm.text = objID;
obj.GetComponent(CubeScript).CubeID = (parseInt(objID));
}
if(savedObj == Blank){
obj.GetComponent(BlankTrigger).trigger = (parseInt(objID));
}
}
for (var X = 0; X < randCube.length; X++) {
var zombie : String[] = randCube[X];
Debug.Log(randCube.length + ' length' + zombie);
}
//
}
I've been trying to put lines that start "code" (dataArray[0]) into an Array which I can then randomise and instantiate separately to the Blanks. The problem is when I try and read randCube[x] I just get "System.String[]" repeated x amount of times.
And idea how I can import and export the lines without having to use process separate text files?
Answer by IgorAherne · Aug 14, 2013 at 08:28 PM
this would work with generic lists in c#, hope it works here as well
var zombie : String[] = new Array( randCube[X].line);
Please check my forum thread as well, thank you :) http://forum.unity3d.com/threads/191923-Full-corse-how-to-make-a-horror-game-AVAILABLE
Your answer
Follow this Question
Related Questions
Sorting arrays? 1 Answer
How to delete new'd arrays? 2 Answers
what is the difference between a float[] and a float[,]? 1 Answer
How to set parents of all objects in an array? 1 Answer
Parse Array data to generate html 0 Answers