How can I convert this code to Unity Android?

How can I convert this code to unity Android.. because when I switch platforms, too many errors are being detected...

//
var cam: GameObject;

var skin1: GUISkin;
private var steps: int;
private var n1: int; 

var isTweening: boolean = false;
var smoothing: boolean = false;

private var tStart: float = -1;
private var tGameStart: float = 0;

function Awake () {
	init();
}

function init () {
	steps = 0;
	tStart = Time.time;
	corners = new Array();
	for (var i=0; i<2; i++) { 
		for (var j=0; j<2; j++) { 
			for (var k=0; k<2; k++) { 
				corners.Push(Vector3(i*(n-1),j*(n-1),k*(n-1)));
			}
		}
	}
	edges = new Array();
	for (var i1=1; i1<n-1; i1++) {
		for (var j1=0; j1<2; j1++) { 
			for (var k1=0; k1<2; k1++) { 
				edges.Push(Vector3(i1,j1*(n-1),k1*(n-1)));
				edges.Push(Vector3(j1*(n-1),i1,k1*(n-1)));
				edges.Push(Vector3(j1*(n-1),k1*(n-1),i1));
			}
		}
	}
	//Debug.Log(edges);
	edgeMats = new Array();
	for (var i2=0; i2<6; i2++) {
		var arr4 = new Array();
		for (var j2=0; j2<8; j2++) {
			var mat1 = Instantiate(mats[i2]);
			mat1.shader = Shader.Find( "Self-Illumin/Specular" );
			mat1.SetTexture("_Illum", textures[j2]);
			//mat1.mainTexture = textures[j2];
			arr4.Push(mat1);
		}
		edgeMats.Push(arr4);
	}
}

function Start () {
	n1 = n;
	hub = new GameObject();
	hubDummy1 = new GameObject();
	hubDummy2 = new GameObject();
	sceneSetup();
}

function sceneSetup () {
	cam.transform.position = Vector3.zero ;
	cam.transform.rotation.eulerAngles = Vector3.zero ;
	cam.transform.position.z = - n*2;
	cam.transform.RotateAround(Vector3.zero,Vector3.up,45); 
	cam.GetComponent("Cameraorbit").distance = n*2;
	cam.GetComponent("Cameraorbit").distanceMin = n;
	cam.GetComponent("Cameraorbit").distanceMax = n*5;
	cam.GetComponent("Cameraorbit").Init();
	cam.GetComponent("Cameraorbit").enabled = true;
	Supercube ();
	tGameStart = Time.time;
	
}

function Supercube () {
	for (var i=0; i<n; i++) { 
		for (var j=0; j<n; j++) { 
			for (var k=0; k<n; k++) { 
				var cube = new GameObject ();
				cube.name = "cube"+i+j+k;
				addWalls(cube,i,j,k);
				var c1: float = -n*0.5;
				cube.transform.parent = transform;
				cube.transform.localPosition = Vector3(-n*0.5 + i+0.5,-n*0.5 +j+0.5,-n*0.5 +k+0.5);
			}
		}
	}
}

function Update () {
	hub.transform.rotation = Quaternion.Slerp (hubDummy1.transform.rotation, hubDummy2.transform.rotation, (Time.time - tStart)/rotTime);
}

function addWalls(box:GameObject,u:int,v:int,w:int){
	var edge: GameObject;
	var cornerEdgeU: GameObject;
	var cornerEdgeV: GameObject;
	var cornerEdgeW: GameObject;
	
	for (var corner in corners) {
		if(Vector3(u,v,w)==corner){
			cornerEdgeU = new GameObject();
			cornerEdgeV = new GameObject();
			cornerEdgeW = new GameObject();
			cornerEdgeU.transform.parent = box.transform;
			cornerEdgeV.transform.parent = box.transform;
			cornerEdgeW.transform.parent = box.transform;
		}
	}
	for (var element in edges) {
		if(Vector3(u,v,w)==element){
			edge = new GameObject ();
			edge.name = "edge" +u+v+w;
			edge.transform.parent = box.transform;
		}
	}
	if(w==n-1){//back
		if(Vector2(u,v)==Vector2(0,0)||Vector2(u,v)==Vector2(n-1,0)||Vector2(u,v)==Vector2(0,n-1)||Vector2(u,v)==Vector2(n-1,n-1)){
			cornerWall(0,Vector2(u,v),cornerEdgeU,cornerEdgeV);
		}else{ 
			if(u==0||u==n-1||v==0||v==n-1){wall(0,"outer",u,v,edge,true);}else{wall(0,"outer",u,v,box,false);}
		}
	}else{wall(0,"inner",u,v,box,false);}
	if(u==n-1){//right - magenta
		if(Vector2(w,v)==Vector2(0,0)||Vector2(w,v)==Vector2(n-1,0)||Vector2(w,v)==Vector2(0,n-1)||Vector2(w,v)==Vector2(n-1,n-1)){
			cornerWall(1,Vector2(w,v),cornerEdgeW,cornerEdgeV);
		}else{ 
			if(w==0||w==n-1||v==0||v==n-1){wall(1,"outer",n-1-w,v,edge,true);}else{wall(1,"outer",n-1-w,v,box,false);}
		}
	}else{wall(1,"inner",w,v,box,false);}
	if(w==0){//front - light blue
		if(Vector2(u,v)==Vector2(0,0)||Vector2(u,v)==Vector2(n-1,0)||Vector2(u,v)==Vector2(0,n-1)||Vector2(u,v)==Vector2(n-1,n-1)){
			cornerWall(2,Vector2(u,v),cornerEdgeU,cornerEdgeV);
		}else{ 
			if(u==0||u==n-1||v==0||v==n-1){wall(2,"outer",n-1-u,v,edge,true);}else{wall(2,"outer",n-1-u,v,box,false);}
		}
	}else{wall(2,"inner",-u,v,box,false);}
	if(u==0){//left
		if(Vector2(w,v)==Vector2(0,0)||Vector2(w,v)==Vector2(n-1,0)||Vector2(w,v)==Vector2(0,n-1)||Vector2(w,v)==Vector2(n-1,n-1)){
			cornerWall(3,Vector2(w,v),cornerEdgeW,cornerEdgeV);
		}else{ 
			if(w==0||w==n-1||v==0||v==n-1){wall(3,"outer",w,v,edge,true);}else{wall(3,"outer",w,v,box,false);}
		}
	}else{wall(3,"inner",w,v,box,false);}
	if(v==0){//bottom
		if(Vector2(w,u)==Vector2(0,0)||Vector2(w,u)==Vector2(n-1,0)||Vector2(w,u)==Vector2(0,n-1)||Vector2(w,u)==Vector2(n-1,n-1)){
			cornerWall(4,Vector2(u,w),cornerEdgeU,cornerEdgeW);
		}else{ 
			if(w==0||w==n-1||u==0||u==n-1){wall(4,"outer",u,w,edge,true);}else{wall(4,"outer",u,w,box,false);}
		}
	}else{wall(4,"inner",w,u,box,false);}
	if(v==n-1){//top - king blue
		if(Vector2(w,u)==Vector2(0,0)||Vector2(w,u)==Vector2(n-1,0)||Vector2(w,u)==Vector2(0,n-1)||Vector2(w,u)==Vector2(n-1,n-1)){
			cornerWall(5,Vector2(u,w),cornerEdgeU,cornerEdgeW);
		}else{ 
			if(w==0||w==n-1||u==0||u==n-1){wall(5,"outer",u,n-1-w,edge,true);}else{wall(5,"outer",u,n-1-w,box,false);}
		}
	}else{wall(5,"inner",w,u,box,false);}
}	

function cornerWall (pos:int,vect:Vector2,parentObject1:GameObject,parentObject2:GameObject) {
	var parentObjects = new Array(parentObject1,parentObject2);
	var k1=1;
	var matHighlight: Material;
	for (var po in parentObjects) {
		var tri = new GameObject();
		var a1 = 2*s*vect.x/(n-1);
		var b1 = 2*s*vect.y/(n-1);
		var mesh : Mesh = new Mesh ();
		tri.transform.parent = po.transform;
		tri.AddComponent(MeshFilter);
		tri.AddComponent(MeshRenderer);
		tri.renderer.material = mats[pos];
		tri.GetComponent(MeshFilter).mesh = mesh;
			switch(pos){
			case 0:	//back - red
				mesh.vertices = [k1*Vector3(s-a1,s-b1,0), k1*Vector3(s-a1,-s+b1,0), k1*Vector3(-s+a1,-s+b1,0)];
				mesh.uv = [k1*Vector2 (0, 1 - b1/s), k1*Vector2 (0, 0), k1*Vector2 (1-a1/s, 0)];
				tri.transform.localPosition.z = s;
				break;
			case 1://right - magenta
				mesh.vertices = [k1*Vector3(0,-s+b1,-s+a1), k1*Vector3(0,-s+b1,s-a1), k1*Vector3(0,s-b1,s-a1)];
				mesh.uv = [k1*Vector2 (1-a1/s, 0), Vector2 (0, 0), k1*Vector2 (0, 1- b1/s)];
				tri.transform.localPosition.x = s;
				break;
			case 2://front - light blue
				mesh.vertices = [k1*Vector3(-s+a1,-s+b1,0), k1*Vector3(s-a1,-s+b1,0), k1*Vector3(s-a1,s-b1,0)];
				mesh.uv = [k1*Vector2 (1-a1/s, 0), Vector2 (0, 0), k1*Vector2 (0, 1 - b1/s)];
				tri.transform.localPosition.z = -s;			
				break;
			case 3://left - green
				mesh.vertices = [k1*Vector3(0,s-b1,s-a1), k1*Vector3(0,-s+b1,s-a1), k1*Vector3(0,-s+b1,-s+a1)];
				mesh.uv = [k1*Vector2 (0, 1 - b1/s), k1*Vector2 (0, 0), k1*Vector2 (1-a1/s, 0)];
				tri.transform.localPosition.x = -s;			
				break;
			case 4://bottom - yellow
				mesh.vertices = [k1*Vector3(s-a1,0,s-b1), k1*Vector3(s-a1,0,-s+b1), k1*Vector3(-s+a1,0,-s+b1)];
				mesh.uv = [k1*Vector2 (0, 1 - b1/s), k1*Vector2 (0, 0), k1*Vector2 (1-a1/s, 0)];
				tri.transform.localPosition.y = -s;
				break;
			case 5://top - king blue
				mesh.vertices = [k1*Vector3(-s+a1,0,-s+b1), k1*Vector3(s-a1,0,-s+b1), k1*Vector3(s-a1,0,s-b1)];
				mesh.uv = [k1*Vector2 (1-a1/s, 0), Vector2 (0, 0), k1*Vector2 (0, 1-b1/s)];
				tri.transform.localPosition.y = s;			
				break;
			}
			switch(vect){
				case Vector2(0,n-1):	//top-left	
				matHighlight= edgeMats[pos][5];
				break;
				case Vector2(0,0):	//bottom-left	
				matHighlight= edgeMats[pos][6];
				break;
				case Vector2(n-1,0):	//bottom-left	
				matHighlight= edgeMats[pos][7];
				break;
				case Vector2(n-1,n-1):	//bottom-left	
				matHighlight= edgeMats[pos][4];
				break;
			}
			
		if(vect.x==vect.y){mesh.triangles = [0, 2, 1];}else{mesh.triangles = [0, 1, 2];}
		mesh.RecalculateNormals();
		tri.AddComponent(MeshCollider);
		tri.AddComponent("mouseInteract"); tri.GetComponent("mouseInteract").n=n;
		tri.GetComponent("mouseInteract").mat=mats[pos];
		tri.GetComponent("mouseInteract").matOver=matHighlight;
		Debug.Log("pos" + pos);
		
		k1 *= -1;
	}
}

function wall (pos:int,inner:String,x1,y1,parentObject:GameObject,interactive:boolean) {
	var matHighlight: Material;
	var square = new GameObject();
	var mesh : Mesh = new Mesh ();
	square.transform.parent = parentObject.transform;
	square.AddComponent(MeshFilter);
	square.AddComponent(MeshRenderer);
	square.GetComponent(MeshFilter).mesh = mesh;
	mesh.vertices = [Vector3(s,s,0), Vector3(s,-s,0), Vector3(-s,-s,0),Vector3(-s,s,0)];
	mesh.uv = [Vector2 (0, 0), Vector2 (0, -1), Vector2 (-1, -1), Vector2 (-1, 0)];
	mesh.triangles = [0, 2, 1, 0, 3, 2];
	mesh.RecalculateNormals();
	square.transform.position.z = s;
	switch(pos){
		case 0:	//back
			break;
		case 1://right
			square.transform.RotateAround(Vector3.zero,Vector3.up,90); 
			break;
		case 2://front
			square.transform.RotateAround(Vector3.zero,Vector3.up,180); 
			break;
		case 3://left
			square.transform.RotateAround(Vector3.zero,Vector3.up,270); 
			break;
		case 4://bottom
			square.transform.RotateAround(Vector3.zero,Vector3.right,90); 
			break;
		case 5://top
			square.transform.RotateAround(Vector3.zero,Vector3.right,270); 
			break;
	}
	if(inner=="inner"){square.renderer.material = mats[6];}else{
		square.renderer.material = mats[pos];
			switch(x1){
				case 0:	//left
					matHighlight = edgeMats[pos][0];
					break;
				case n-1:	//right
					matHighlight = edgeMats[pos][1];
					break;
			}
			switch(y1){
				case 0:	//bottom
					matHighlight = edgeMats[pos][2];
					break;
				case n-1:	//top
					matHighlight = edgeMats[pos][3];
					break;
			}
		}
	if(interactive){
		square.AddComponent(MeshCollider);
		square.AddComponent("mouseInteract"); square.GetComponent("mouseInteract").n=n;
		square.GetComponent("mouseInteract").mat=mats[pos];
		square.GetComponent("mouseInteract").matOver=matHighlight;
	}
}

function OnGUI () {
	GUI.skin = skin1;
	GUI.Label (Rect (0,0,0.16*Screen.width,Screen.height), " ","window");
	if (GUI.Button (Rect (12,12,100,20), "RESET")) {
	Rebuild();
	}
	if (GUI.Button (Rect (12,42,100,20), "RANDOMIZE")) {
		for (var i=0; i<8*n; i++) {
		Randomize();
		steps = 0;
		}
	}
	GUI.Label (Rect (12,72,40,40), "matrix size");
	if (GUI.Button (Rect (92,72,20,20), "+")) {n1++;}
	if (GUI.Button (Rect (92,92,20,20), "-")) {if(n1>2)n1--;}
	GUI.Label (Rect (52,72,40,40), n1.ToString(),"box1");
	
	smoothing = GUI.Toggle (Rect (12, 132, 100, 30), smoothing, "smoothing");

	GUI.Label (Rect (12,Screen.height-72,100,20), "Time: "+(Time.time - tGameStart).ToString("#.0"));
	GUI.Label (Rect (12,Screen.height-42,100,20), "Moves: "+ steps);
}

function Rebuild () {
	var toDestroy = new Array();
	for (var child in transform) {
		toDestroy.Push(child.gameObject);
	}
	var m = toDestroy.length;
	for (var i=0; i<m; i++) {
		Destroy(toDestroy*);*
  • }*
  • n = n1;*
  • //yield WaitForSeconds (10);*
  • cam.GetComponent(“Cameraorbit”).enabled = false;*
  • yield WaitForSeconds (0.1);*
  • init();*
  • sceneSetup();*
    }

function Randomize () {
_ var rand1 = Mathf.Round(6Random.value-0.5);_
_ var rand2 = Mathf.Round(n
Random.value-0.5);_

  • steps = 0;*
  • tGameStart = Time.time;*
  • switch(rand1){*
  •  case 0:*
    
  •  	version = "x";axis=Vector3.right;*
    
  •  	break;*
    
  •  case 1:*
    
  •  	version = "x";axis=-Vector3.right;*
    
  •  	break;*
    
  •  case 2:*
    
  •  	version = "y";axis=Vector3.up;*
    
  •  	break;*
    
  •  case 3:*
    
  •  	version = "y";axis=-Vector3.up;*
    
  •  	break;*
    
  •  case 4:*
    
  •  	version = "z";axis=Vector3.forward;*
    
  •  	break;*
    
  •  case 5:*
    
  •  	version = "z";axis=-Vector3.forward;*
    
  •  	break;*
    
  • }*
  • Debug.Log(“random” + rand1 + " " + rand2);*
  • selectRotate(version, axis, rand2,rand2,rand2,true);*
    }

function selectRotate(version1:String, axis:Vector3, ixx:int,iyy:int,izz:int,noSmoothing:boolean){

  • steps++;*
  • var hubArr = new Array();//*
  • for (var box in transform) {*
  •  //Debug.Log(box.name);*
    
  •  switch(version1){*
    
  •  	case "x":*
    

_ if(Mathf.Round(box.transform.position.x+0.5*(n-1))==ixx){_

  •  		hubArr.push(box);*
    
  •  	}*
    
  •  	break;*
    
  •  	case "y":*
    

_ if(Mathf.Round(box.transform.position.y+0.5*(n-1))==iyy){_

  •  		hubArr.push(box);*
    
  •  	}*
    
  •  	break;*
    
  •  	case"z":*
    

_ if(Mathf.Round(box.transform.position.z+0.5*(n-1))==izz){_

  •  		hubArr.push(box);*
    
  •  	}*
    
  •  	break;*
    
  •  }*
    
  • }*

  • var m = hubArr.length;*

  • Debug.Log("hubArr "+m);*

  • for (var i=0; i<m; i++) {*
    _ hubArr*.transform.parent = hub.transform;_
    _
    }*_

* hubDummy2.transform.RotateAround(Vector3.zero,-axis,90);*
* if(!smoothing||noSmoothing){*
* hub.transform.RotateAround(Vector3.zero,-axis,90);*
* hubDummy1.transform.RotateAround(Vector3.zero,-axis,90);*
* }else{*
* tStart = Time.time;*
* yield WaitForSeconds (rotTime + 0.1);*
* hubDummy1.transform.RotateAround(Vector3.zero,-axis,90);*
* isTweening = false;*
* }*

* for (var j=0;j<m; j++) {*
* hubArr[j].transform.parent = transform;*
* }*
}

Don’t use Array, and put #pragma strict at the top of all your scripts.