/// <summary> /// Instantiate the EnemyControllerAIs and give them their NeuralNetworks /// </summary> private void CreateEntities() { if (enemyControllerAIs != null) { for (int i = 0; i < enemyControllerAIs.Count; i++) { GameObject.Destroy(enemyControllerAIs[i].gameObject); } } enemyControllerAIs = new List <EnemyControllerAI>(); for (int i = 0; i < populationSize; i++) { Vector3 pos = new Vector3(transform.position.x, transform.position.y, transform.position.z + i * 50); EnemyControllerAI enemyControllerAI = Instantiate(EnemyControllerAIPrefab, pos, EnemyControllerAIPrefab.transform.rotation).GetComponent <EnemyControllerAI>(); enemyControllerAI.Init(neuralNetworks[i]); enemyControllerAIs.Add(enemyControllerAI); } }
//Weapon Prefab //Initialization void Awake() { renderer = GetComponent <SpriteRenderer>(); collider = GetComponent <BoxCollider2D>(); rigidbody = GetComponent <Rigidbody2D>(); animator = GetComponent <Animator>(); controls = GetComponent <EnemyControllerAI>(); status = GetComponent <EnemyStatus>(); melee = GetComponentInChildren <EnemyMelee>(); //camera = GetComponentInChildren<PlayerCamera>(); if (controls != null) { controls.self = this; } if (status != null) { status.self = this; } }