public void StartUp(IFindTarget target) { this.target = target; if (Random.Range(0, 2) == 1) { StartAlpha05(start); } else { StartAlpha0(start); } }
public override void OnTargetFound(Entity host, IFindTarget target) { if (selecting == null) { return; } if (host == PlayerController.PlayerCurrent) { if (target != null && target as UnityEngine.Object != null) { selecting.gameObject.SetActive(target as UnityEngine.Object == this); } else { selecting.gameObject.SetActive(false); } } }
public static IFindTarget FindTargetNearest(Vector3 goc, float BanKinh, LayerMask layer) { Collider2D[] cols = Physics2D.OverlapCircleAll(goc, BanKinh, layer); List <IFindTarget> list = new List <IFindTarget>(); if (cols == null && cols.Length == 0) { return(null); } foreach (Collider2D col in cols) { IFindTarget target = col.GetComponent <IFindTarget>(); if (target != null) { if (target.IsForFind) { list.Add(target); } } } if (list.Count == 0) { return(null); } float DistanceMin = Vector2.Distance(goc, list[0].center); int id = 0; for (int i = 1; i < list.Count; i++) { float Distance = Vector2.Distance(goc, list[i].center); if (Distance < DistanceMin) { DistanceMin = Distance; id = i; } } return(list[id]); }
public virtual void OnTargetFound(Entity entity, IFindTarget t) { }
public void SetTarget(IFindTarget transform) { follow = transform; }
public void setFindTargetBahvior(IFindTarget fTB) { _FindTargetBehavior = fTB; }