/// <summary> /// Sets stats for the gameObject /// </summary> /// <param name="gameObject"></param> /// <param name="neuralChildObject"></param> void SetStats(GameObject gameObject, NeuralChildObject neuralChildObject) { NeuralChild childScript = gameObject.GetComponent <NeuralChild>(); if (childScript != null) { childScript.stats = neuralChildObject; } else { stats = neuralChildObject; } }
/// <summary> /// Get stats from the gameObject /// </summary> /// <param name="gameObject"></param> /// <returns></returns> NeuralChildObject GetStats(GameObject gameObject) { NeuralChild childScript = gameObject.GetComponent <NeuralChild>(); NeuralChildObject _stats = new NeuralChildObject(); if (childScript != null) { _stats = childScript.stats; } else { _stats = stats; } return(_stats); }
/// <summary> /// Spawns childs too process all population at the same time /// </summary> void SpawnChild() { childs++; if (childs < population) { GameObject newChild = Instantiate(child) as GameObject; //set position and rotation right newChild.transform.position = startPosition; newChild.transform.rotation = startRotation; newChild.transform.parent = childFolder.transform; NeuralChild childScript = newChild.GetComponent <NeuralChild>(); childScript.id = childs; childScript.parent = this.gameObject; gameObjectsChilds[childs] = newChild; } }
void ReviveChilds() { foreach (GameObject childgo in gameObjectsChilds) { if (childgo != null) { NeuralChild childScript = childgo.GetComponent <NeuralChild>(); if (childScript != null) { childScript.Revive(); } else { ResetCarPosition(this.gameObject); stats.Dead = false; } } } }