public void OnDestroyableDie(obj.IDestroyable destroyable) { if (Target == destroyable) { Target = null; SetState(State.Idle); } }
void Update() { transform.position += (TargetPos - transform.position).normalized * InstanceClone.Speed * Time.deltaTime; obj.IDestroyable destroyable = Context.Battle.FindNearestDestroyable(transform.position, Side == Types.Side.Player ? Types.Side.Enemy : Types.Side.Player); if (destroyable != null && Mathf.Abs(destroyable.Position.x - transform.position.x) < 0.1f && !HitDestroyables.Contains(destroyable)) { HitDestroyables.Add(destroyable); destroyable.OnHit(InstanceClone.Attack); } if ((transform.position - TargetPos).sqrMagnitude < 0.2f * 0.2f) { Destroy(gameObject); } }
public void OnDestroyableDie(obj.IDestroyable destroyable) { }