public override float GetWeight() { if (!CanDrop()) { return(0f); } if (IsInState()) { return(10000f); } if (brain.CurrentState != null && brain.CurrentState.StateType == AIState.Orbit && brain.CurrentState.TimeInState > 60f) { CH47DropZone closest = CH47DropZone.GetClosest(brain.mainInterestPoint); if ((bool)closest && Vector3Ex.Distance2D(closest.transform.position, brain.mainInterestPoint) < 200f) { CH47AIBrain component = brain.GetComponent <CH47AIBrain>(); if (component != null) { float num = Mathf.InverseLerp(300f, 600f, component.Age); return(1000f * num); } } } return(0f); }
public override void StateEnter() { brain.GetEntity().SetDropDoorOpen(true); brain.GetEntity().EnableFacingOverride(false); CH47DropZone closest = CH47DropZone.GetClosest(brain.GetEntity().transform.position); if (closest == null) { nextDropTime = Time.time + 60f; } brain.mainInterestPoint = closest.transform.position; brain.GetEntity().SetMoveTarget(brain.mainInterestPoint); base.StateEnter(); }
public static CH47DropZone GetClosest(Vector3 pos) { float num = float.PositiveInfinity; CH47DropZone result = null; foreach (CH47DropZone dropZone in dropZones) { float num2 = Vector3Ex.Distance2D(pos, dropZone.transform.position); if (num2 < num) { num = num2; result = dropZone; } } return(result); }
public static CH47DropZone GetClosest(Vector3 pos) { float num1 = float.PositiveInfinity; CH47DropZone ch47DropZone = (CH47DropZone)null; foreach (CH47DropZone dropZone in CH47DropZone.dropZones) { float num2 = Vector3Ex.Distance2D(pos, ((Component)dropZone).get_transform().get_position()); if ((double)num2 < (double)num1) { num1 = num2; ch47DropZone = dropZone; } } return(ch47DropZone); }
public static CH47DropZone GetClosest(Vector3 pos) { float single = Single.PositiveInfinity; CH47DropZone cH47DropZone = null; foreach (CH47DropZone dropZone in CH47DropZone.dropZones) { float single1 = Vector3Ex.Distance2D(pos, dropZone.transform.position); if (single1 >= single) { continue; } single = single1; cH47DropZone = dropZone; } return(cH47DropZone); }
public override float GetWeight() { if (!this.CanDrop()) { return(0f); } CH47DropZone closest = CH47DropZone.GetClosest(this.brain.GetEntity().transform.position); if (closest == null || Vector3.Distance(closest.transform.position, this.brain.mainInterestPoint) > 200f) { return(0f); } if (base.IsInState()) { return(10000f); } if (this.brain._currentState == 5 && this.brain.GetCurrentState().TimeInState() > 60f) { return(1000f); } return(0f); }