- Home /
problem with child arrangement script
I am trying to do a vehicle creation mechanic that will allow players to make their own vehicles using block placement (like space engineers or minecraft). this script is used to arrange new blocks placed into the vehicle based on the type of utility the block has (now it arranges it into chassis blocks, gyro blocks and engine blocks). when a new block is encountered other than the null objects that serve as containers for the blocks, it analyzes it and arranges it, but for some reason it places them all into chassis blocks here is the script:
using UnityEngine;
using System.Collections;
using System.Linq;
public class block_count : MonoBehaviour {
public Transform[] containers;
public float[] containerWeight;
public bool recountNeeded;
public string[] admittedTags;
public float aircraftMass;
public Vector3 engineAmmount;
public float gyroscopes;
void Awake () {
}
void Update () {
if (containers.Length < transform.childCount)RecountBlocks();
}
void RecountBlocks () {
for(int i = 0; i < transform.childCount; i++){
if (admittedTags.Contains(transform.GetChild(i).tag)){
string currentChildTag = transform.GetChild(i).tag;
print("current child tag" + currentChildTag);
switch (currentChildTag){
case "Cockpit":
recountNeeded = true;
transform.GetChild(i).parent = containers[0];
break;
case "chasi_Block":
recountNeeded = true;
transform.GetChild(i).parent = containers[0];
currentChildTag = null;
break;
case "engine_Block":
recountNeeded = true;
transform.GetChild(i).parent = containers[1];
currentChildTag = null;
break;
case "gyro_Block":
recountNeeded = true;
transform.GetChild(i).parent = containers[2];
currentChildTag = null;
break;
default:
currentChildTag = null;
break;
}
}
}
if (containers.Length == transform.childCount && recountNeeded) {
recountNeeded = false;
gyroscopes = containers[2].childCount;
for (int j = 0; j < transform.childCount; j++) {
aircraftMass = transform.GetChild (j).childCount * containerWeight [j];
}
}
}
}
i dont have the slightest idea on why this could fail, i have double check all the things that i thought could go wrong (like wrong taggs, sintax, etc). any help is mucch apreciated, thank you all.
btw the print always retourns that the tagg is chassi block, and places it in that cattegory