- Home /
TurnBased RPG Help, Checking booleans with an array.
Hello, I'm trying to make an Turn based RPG battle system using js and I need some help with checking an array. I have an array called "E" for Enemies and its of the type Gameobject and I just throw the enemy prefab into it in the inspector. Now the every enemy has a script on it called "Alive" witch holds an boolean called "alive" and in the start function "alive" is set to true meaning that enemy has been spawned. I have that part down but now I want to have an array check every enemy in the "E" array to see if its boolean "alive" is true. I get no compiler errors but the code does not work. Any help would be much appreciated, Here is my code.
//ArrayCheck.js
#pragma strict
var E : GameObject[]; // Array that holds enemy prefabs
var sp : Transform; // Spawn point
function Start () {
Instantiate(E[0], sp.transform.position, sp.transform.rotation); // Here I only Instantiate the first Enemy prefab in the E Array
// Here is where I want to try to access the boolean of the gameobject to see if its true or false
for (var i = 0; i<E.Length; i++){
if(E[i].GetComponent(Alive).alive == true){
Debug.Log("Im Alive!");
}
}
}
//Alive.js
//This is the script that is attached to all enemies prefabs
#pragma strict
var alive:boolean;
function Start () {
alive = true;
}
When you Instantiate, you are creating a copy. These copies don't exist in your E array.
So if all your E objects already exist in the scene, you don't need to instantiate them, just simply run the for-loop and activate/deactivate them.
If you are instantiating your E objects, then you need to store a reference to those instantiated objects in another list. Then for-loop through the instantiated array to set alive true/false.
You should really do the first method (have all your objects already in the scene, just deactivated), this is called pooling.
If you are instantiating as you only need some of the objects, then store them in a Generic List rather than an array. And for-loop through the list, not the E array.
Your answer
Follow this Question
Related Questions
question about array or list of boolean 1 Answer
Public Array with a class not showing in Inspcetor 1 Answer
How can I do a foreach loop for an array of booleans? 1 Answer
Collecting Array items in order 1 Answer
How can I store game data outside of scripts.(e.g Total list of inventory items) 2 Answers