Why all instantiated objects get triggered when 1 is?
Hello, I have ran into another problem while working on a game. I made it so a ship fires homing shots that when in range move towards the target but for some reason, all projectiles get triggered if 1 gets triggered. Is this a prefab issue? Please help idk why it's happening...
Script on object shooting:
 #pragma strict
 public var ECSPlayer : GameObject;
 public var SpawnLocation : Transform;
 
 public var Delay : float;
 
 private var Wait : int;
 private var Ready : float;
 
 function Start () {
     Wait = PlayerPrefs.GetInt("ECS.Reload");
     Ready = Delay;
 }
 
 function Update () {
     if(Input.GetMouseButton(0) && Ready <= 0) {
         Ready = Wait;
         Instantiate(ECSPlayer, SpawnLocation.position, SpawnLocation.rotation);
     }
     
     if(Input.GetMouseButton(0)) {
         Ready -= Time.deltaTime*5;
     }
 }
 
               Script for projectile:
 #pragma strict
 private var HS : ECSH;
 public var HTarget : Transform;
 public var Speed : int;
 public var Lifetime : int;
 public var Homing : int;
 private var TargetFound : boolean;
 
 function Start () {
     HS = gameObject.GetComponentInChildren(ECSH);
     HS.HR = Homing;
     TargetFound = false;
     DestroySelf();
 }
 
 function Update () {
     TargetFound = HS.EF;
     
     HTarget = HS.EnemyLocation;
     
     if (!TargetFound) {
         transform.Translate(Vector3.forward * (Time.deltaTime*Speed));
     }
     if (TargetFound) {
         transform.position = Vector3.MoveTowards(transform.position, HTarget.position, Time.deltaTime*Speed);
     }
 }
 
 function DestroySelf () {
     yield WaitForSeconds(Lifetime);
     GetComponent(SphereCollider).enabled = false;
     yield WaitForSeconds(0.05);
     Destroy(gameObject);
 } 
 
               Script on child of projectile (Collider for homing):
 #pragma strict
 static var HR : int; //Homing Range
 static var EF : boolean; //Enemy Found
 public var EnemyLocation : Transform;
 
 function Start () {
     EF = false;
     GetComponent.< SphereCollider >().radius = HR;
     EnemyLocation = GetComponent(Transform);
 }
 
 function Update () {
 }
 
 function OnTriggerEnter (collider:Collider) {
     if (collider.tag == "Enemy") {
         EF = true; 
         GetComponent(SphereCollider).enabled = false;  
         EnemyLocation = collider.gameObject.GetComponent(Transform);
     }
 }
 
              I notice that your HS/EF variables are static, so maybe they are shared among all instances of the projectile colliders.
I thought static was to make variables sharable but not visible in the inspector. In any case, I tried to change them but nothing changed.
Also it's something with $$anonymous$$esh Collider because I added sphere collider and it works fine
Your answer
 
             Follow this Question
Related Questions
Limit an amount of prefabs instantiated in javascript for Unity 5. 0 Answers
Two prefabs instantiated instead of one? 1 Answer
Destroying instantiated game objects from prefab when coliding with the ground 1 Answer
Having trouble Instantiating. 0 Answers
ExecuteInEditMode is not working when trying to instantiate a new GameObject [SOLVED] 1 Answer