Attempting to set bool on targeted object - if target is set to true, move to next in list.
So in short, i am attempting to have the below script "target" a game object(it does this fine), and move towards it, however if the enemy has "AmITargeted" set to true, it will search for a new target.
However i would like to have multiple enemies on screen, and once a enemy has been targeted, the "AmITargeted" bool on the enemy is set to true.
as an example. Team 1 has two units. (labelled A & B) The enemy team(team 2) has two units also (Labelled C &D)
Unit A starts - targets unit D - Sets unit D's AmITargeted to true. Unit B starts - Targets unit D - sees that unit D's AmITargeted is true, and then targets unit C.
any help would be great! here is the code for the "ally units" the enemy units will be carbon copies of this. using UnityEngine; using System.Collections; using System.Collections.Generic;
 public class _AllyCombat : MonoBehaviour {
     
 #region stats
     //enemylist&Targeting
     public List <Transform> Enemies;
     public Transform SelectedTarget;
     public string EnemyTag;
     public bool AmITargeted = false;
     public bool IHaveATarget = false;
     //moving
     public float Speed = 2;
 
     //debugmoving
     public bool IAmAllowedToMove = true;
     
     //unit stats
     public enum TypeOfUnit{
         Soldier,Archer,Calvery,Hero1,Hero2
     }
     public string Name;
     public int _HP;
     public int _ATK;
     public int _MATK;
     public int _DEF;
     public int _MDEF;
     public int _SPD;
     public int _RANGE;
 
     public int _LEVEL;
     public int _RANK;
 
     private Vector3 TargetToMoveTo;
     
 #endregion
 #region Targeting
     // Use this for initialization
     void Start () {
         SelectedTarget = null;
         Enemies = new List<Transform> ();
         AddEnemiesToList ();
     }
 
     public void AddEnemiesToList(){
         GameObject[] ItemsInList = GameObject.FindGameObjectsWithTag("Team2");
         foreach (GameObject _Enemy in ItemsInList) {
             AddTarget (_Enemy.transform);
         }
     }
 
     public void AddTarget(Transform enemy){
         Enemies.Add (enemy);
     }
 
     public void TargetedEnemy(){
         if (SelectedTarget == null) {
             //Select closest unit
             int number = Enemies.Count;
             SelectedTarget = Enemies [number - 1];
 
             
         }
     }
 
     // Update is called once per frame
     void FixedUpdate () {
         
         if(IHaveATarget == false){
             TargetedEnemy ();
             IHaveATarget = true;
         }
                 
         //moving
         if(IAmAllowedToMove == true){
             if(IHaveATarget == true){
                 TargetToMoveTo = SelectedTarget.position;
                 transform.position = Vector3.MoveTowards (transform.position, TargetToMoveTo, Speed * Time.deltaTime);
             }
         }
     }
 #endregion
 #region Combat
     public void IsInCombat(){
         
     }
 
     
 #endregion
 }
 
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                