Hello comm unity )))
I’ve got some problems with array. So I got the code:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class SearchChildren : MonoBehaviour {
public Text[] countFinder;
public GameObject[] counter;
void Start ()
{
counter = new GameObject[transform.childCount];
for (int i = 0; i < transform.childCount; i++)
{
counter *= transform.GetChild(i).gameObject;*
countFinder = counter*.transform.FindChild(“Count”).GetComponent();*
Debug.Log(countFinder*);*
}
}
}
So, countFinder = counter_.transform.FindChild(“Count”).GetComponent(); keep saying that Array index is out of range.
What am I doing wrong?_
ok i have made a simple way i have tagged the Count objets with the same tag & then :
float sum;
float convert0,convert1,convert2;
GameObject [] child;
List<Text> counttext = new List<Text>();
void Start(){
child = GameObject.FindGameObjectsWithTag ("CountTag");
for(int i =0; i<child.Length; i++){
counttext.Add (child *.GetComponentInChildren<Text> ());*
-
}*
-
convert0 = float.Parse (counttext [0].text);*
-
convert1 = float.Parse (counttext [1].text);*
-
convert2 = float.Parse (counttext [2].text);*
-
sum = convert0+convert1+convert2;*
-
print (sum);*
- }*
I almost done this, and I’m close)
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Text.RegularExpressions;
using System.Collections.Generic;
public class SearchChildren : MonoBehaviour {
Text textFinder;
string countFinder;
string countTextFinder;
GameObject[] counter;
float sum;
float countFinderNumber;
List<string> textFinderArr = new List<string>();
public void countResults ()
{
counter = new GameObject[transform.childCount];
for (int i = 0; i < transform.childCount; i++)
{
counter *= transform.GetChild(i).gameObject;*
textFinderArr.Add(counter*.transform.FindChild(“Result”).GetComponent().text);*
countFinder = Regex.Match(textFinderArr*, @“\d+”).Value;*
countFinderNumber = float.Parse(countFinder);
sum += countFinderNumber;
}
}
}
But now, textFinderArr gets only 1 object, WHY???
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Text.RegularExpressions;
using System.Collections.Generic;
public class SearchChildren : MonoBehaviour {
Text textFinder;
string countFinder;
string countTextFinder;
GameObject[] counter;
float sum;
float countFinderNumber;
List<string> textFinderArr = new List<string>();
public void CountResults()
{
sum = 0;
counter = new GameObject[transform.childCount];
for (int i = 0; i < transform.childCount; i++)
{
counter *= transform.GetChild(i).gameObject;*
textFinderArr.Insert(i, counter*.transform.FindChild(“Result”).GetComponent().text);*
countFinder = Regex.Match(textFinderArr*, @“\d+”).Value;*
countFinderNumber = float.Parse(countFinder);
sum += countFinderNumber;
}
Debug.Log(sum);
}
}